Skip to content
← Back to notes

Headless Shopify on Next.js: when it's worth it

Three signals that point at headless, four signals that point at staying on a Liquid theme, and an honest accounting of what the build actually costs.

ShopifyNext.jsE-commerce

We get asked about this often enough that it's worth writing down: when is a headless Next.js storefront on top of Shopify worth the build, and when should you stay on a Liquid theme? Trek Coffee Co. runs the headless Next.js model. Plenty of perfectly good shops should not.

The two real options

For any small or mid-sized Shopify shop, the realistic build choices are:

  1. Theme. A Shopify Liquid theme — Dawn or one of the paid themes — customized to taste. Cheap to start, fast to ship, easy for a marketer to update through the Shopify admin.
  2. Headless on Next.js.A custom front-end on Next.js that reads from the Shopify Storefront API. More expensive to build, more flexible, owned by you in code rather than in Shopify's theme editor.

Hydrogen exists too, but it's a third option that mostly competes with #2 — and adds Shopify Oxygen lock-in in exchange for the convenience. We'd generally pick Next.js over Hydrogen for the same shop, and in another post we'll explain why.

When to go headless

Three signals point at headless:

  • The brand has visual identity that the theme editor can't carry.Custom typography, custom motion, an editorial tone, a layout that isn't a grid of product cards. If your brand looks like a magazine or a documentary and not a catalog, you're going to fight Liquid.
  • You have product metadata the default schema doesn't cover.Roast date, harvest year, allocation tiers, custom-fitment lookups, anything where "Variant" doesn't cleanly model what you sell. Shopify's metafields work, but at scale you spend more time wrestling Liquid than designing pages.
  • You want to own the front-end the same way you own the brand. A theme is licensed and fragile across Shopify updates. A Next.js front-end is yours, in your repo, deployable anywhere.

When to stay on a theme

Headless is overkill when:

  • The shop is under a few hundred orders a month and the brand looks fine in Dawn.
  • The marketing team will edit copy daily and isn't comfortable opening pull requests.
  • Your product catalog is shaped exactly like Shopify expects: simple variants, simple collections.
  • The actual bottleneck is product photography or paid acquisition, not the storefront experience.

We've told prospective Shopify clients to stay on Dawn more times than we've quoted them headless builds. The headless conversation is the wrong conversation if the storefront is not what's losing them sales.

What the build actually costs

A clean headless Shopify storefront on Next.js is generally a five-figure project. The math: home, collection, product detail, cart, search, account, content pages, checkout entry, transactional email templates, plus integration with whichever subscription app the shop uses. None of those are exotic, but all of them have to be built or wired up. A theme customization, by comparison, is closer to a low five figures or even a four-figure job.

The headless price is justified when the shop's storefront experience is part of the product. For Trek, the brand is the reason customers buy a $24 bag of coffee instead of a $9 grocery-store one. The storefront has to carry that weight, and Dawn cannot.

What you keep, either way

In both models, Shopify is still the commerce backend. Inventory, payments, fulfilment, taxes, fraud screening, the actual checkout — all of it stays inside Shopify. You are not rebuilding a payments stack when you go headless. You are rebuilding the front-of-house. That distinction is what makes headless on Shopify a sane bet at all.