What you actually buy
Headless commerce buys you control over rendering, routing and composition that Liquid’s templating model does not offer. If you genuinely need experiences Liquid cannot express — deeply custom checkout flows on non-Plus alternatives, several distinct front ends sharing one commerce backend, or interaction patterns that depend on a specific JavaScript framework’s rendering model — headless earns its keep and the conversation about cost is a different one.
It also buys you a decoupling that matters for organisations running commerce as one surface among several — a marketing site, a native app, an in-store kiosk experience — all drawing from the same product and inventory data. In that situation, a single storefront API backing multiple front ends is a coherent architecture, not a fashion choice.
What it does not automatically buy you is speed. A poorly built Hydrogen storefront can be slower than a well-built Liquid theme, because the performance ceiling of headless is higher but the floor is lower — there is more surface area for a team to get wrong, and fewer guardrails preventing them from doing so.
What you give up
Shopify’s defaults, most of which exist precisely because they remove operational burden from merchants who do not want to think about hosting, caching, or checkout security. Theme editor familiarity disappears — a merchandiser who could previously change a homepage banner in two minutes now needs a developer and a deploy for the same task, unless the team has invested specifically in rebuilding that flexibility.
App ecosystem compatibility takes a hit too. A large share of Shopify’s app store assumes a Liquid storefront with script tags and theme app extensions, and headless builds routinely need custom integration work for apps that would otherwise install in minutes — a cost that is easy to underestimate until the marketing team wants to install a review widget the week before a launch.
- Theme editor and app embeds that install without developer involvement
- Instant content changes without a build and deploy cycle
- A hiring and freelancer pool measured in thousands of Liquid developers rather than dozens of specialists
- Shopify’s own performance defaults for image handling, caching and checkout
The operational question nobody asks upfront
The decision that actually determines whether a headless build succeeds is rarely made at kickoff — it is made eighteen months later, when the original development team has moved on and the merchant needs to hire a replacement. Liquid developers are abundant and interchangeable across projects in a way that React or Remix specialists familiar with a specific Hydrogen implementation are not.
This matters because headless storefronts, unlike theme-based ones, tend to accumulate bespoke architectural decisions early — a particular state management approach, a specific caching strategy, a custom checkout extension — that the next team has to learn before they can safely touch anything. That ramp-up cost is real, recurring with every team change, and almost never appears in the original build proposal.
The honest default
For most premium and mid-market brands, a well-architected Liquid theme with disciplined third-party script management outperforms an average headless build in the metrics that matter — Core Web Vitals, conversion rate, total cost of ownership — and costs meaningfully less to run over a three-year horizon.
We recommend headless when the requirement genuinely demands the control it provides — multiple front ends, checkout flows outside what Shopify’s native checkout supports, a genuinely bespoke interaction model that a template cannot express — and we say so plainly when it does not, even when the client has arrived at the conversation already convinced headless is the answer.
The brands that regret the decision are almost never the ones with a genuine multi-channel requirement. They are the ones who chose headless because a case study looked impressive, without an honest accounting of who would maintain it once the launch excitement faded.