← Blog

E-commerce

Shopify Plus vs headless WooCommerce: a scoring method

A method for sub-€10M Dutch e-commerce brands choosing between WooCommerce + headless React and Shopify Plus, weighted by who answers the phone on Black Friday.

Jacob Molkenboer· Founder · A Brand New Company· 10 Jun 2026· 7 min
Two twine-tied paper parcels and a brass scale on ivory paper, green postcard under the base, red wax seal.

It is 23:47 on Black Friday, and the founder of a €4M skincare brand in Utrecht is on Slack asking why the headless WooCommerce storefront is returning 502s. The agency that built it eighteen months ago answers in the morning, Amsterdam time. By then the campaign budget has been spent on traffic that bounced.

We get a version of this call about twice a year. The question is always the same: should we keep the headless setup, or fold the storefront onto Shopify Plus? Here is the method we use to decide, scored on the three numbers that actually matter for a sub-€10M brand.

The three axes

Forget the architecture-astronaut debate. For a Dutch DTC brand doing somewhere between €1M and €10M a year, the choice between WooCommerce + headless React and Shopify Plus collapses to three numbers.

  1. Total developer cost over thirty-six months, including the on-call retainer no one budgets for.
  2. Conversion delta on the slowest connection a paying customer is likely to use. That means a 4G handover on the train between Rotterdam and Den Haag, not your developer's fibre.
  3. Who picks up the phone at 23:47 on Black Friday, and how many handovers sit between that person and a working checkout.

Score those honestly and the answer is usually obvious. We have seen brands spend €180k rebuilding a headless stack only to land back on Shopify Plus eighteen months later. We have also seen the opposite: Shopify Plus tenants that should have stayed headless because their merchandising rules do not fit Liquid's mental model. The point is to decide on numbers, not vibes.

Developer cost over thirty-six months

Most of the cost spreadsheets we see compare the wrong line items. They put Shopify Plus's platform fee (around €2,300 per month at the entry tier) against "free" WooCommerce and conclude the headless stack is cheaper. Then they forget the developer who needs to exist to keep it alive.

Our rough numbers for a €4M brand, in euros, rounded:

Shopify Plus, monolithic theme:
  Platform fee (36 mo)            82,800
  Theme dev + retainer            36,000
  Apps (Klaviyo, ReCharge, etc.)  21,600
  Total                          140,400

WooCommerce + headless React (Next.js):
  Hosting (Woo + frontend CDN)    18,000
  Senior dev retainer            108,000
  Plugin licenses + audits        14,400
  Annual security patch sprint    18,000
  Total                          158,400

The headless stack only wins on this axis if the brand has a permanent in-house engineer who would exist anyway. Without one, the retainer line dominates everything else.

Warning

The line item that always gets cut from the headless quote is the WordPress security patching. Then a CVE drops, the team is on holiday, and your /wp-admin gets pasted into a Telegram channel. Budget the eighteen grand.

Conversion delta on a real Dutch 4G handover

Performance arguments for headless React usually come from a developer testing on a 2.4 GHz fibre line in Amsterdam Zuid. The customer is on an iPhone 12 on the train between Schiphol and Leiden, holding it sideways so the screen catches less glare, on a 4G cell that just lost an antenna to a maintenance window.

That is the connection that decides whether the cart loads. Google's own guidance on Largest Contentful Paint shows that every additional second past 2.5s costs measurable conversion, and the curve gets steep fast above 4s.

What we see on real audits:

  • Shopify Plus stock theme (Dawn-based): LCP between 1.8s and 2.6s on simulated Slow 4G with throttled CPU. Shopify's edge does most of the work.
  • Next.js + Woo, SSR with sensible caching: 2.4s to 3.2s. Possible to win the head-to-head, but every PR that ships an unmemoised component drags it back over the line.
  • Next.js + Woo with CSR-only product pages: 4.5s and up on a cold cache. We have seen 7s in the wild. Conversion just dies.

The shape that matters: Shopify Plus has a high floor that is hard to fall below. Headless has a higher ceiling and a much lower floor. If you do not have someone whose job description includes "watch the Lighthouse score every sprint", you will end up on the floor.

Who picks up the phone at 23:47

This is the axis nobody writes about. On Black Friday, Shopify Plus tenants have a merchant success contact and a status page that updates within minutes. Infrastructure scales without anyone in the building noticing. status.shopify.com is the page you check, and usually it is green even when half the internet is not.

On WooCommerce + headless, the phone rings into your agency. If your agency is good, someone is on call. If they are not, and most are not, including most of ours when we started, the phone goes to voicemail and you reload the cart in incognito hoping the next refresh works.

We have started asking clients a direct question before they pick a stack: name the human who answers at 23:47 on the last Friday of November. If they cannot, the decision is made for them.

The scoring sheet

Here is the actual sheet we walk through in the kickoff call. Score each row 1 to 5, multiply by the weight, sum. Above 14 the brand should consolidate onto Shopify Plus. Below 10, keep the headless stack. Between is where the consulting happens.

Axis                                Weight  Score  Total
In-house engineer on payroll?        x2      ?      ?
Catalog complexity (bundles, B2B)    x1      ?      ?
Storefront-as-marketing surface      x1      ?      ?
3G/4G traffic share (NL: ~22%)       x2      ?      ?
On-call answer at 23:47 named?       x3      ?      ?
Existing CMS investment (content)    x1      ?      ?

The on-call row gets the heaviest weight because every other axis can be patched mid-flight. Black Friday cannot.

When headless still wins

None of this is a Shopify advert. We have kept three brands on a Woo + Next.js stack this year because the merchandising logic genuinely did not fit Liquid. One had a configurable made-to-order product tree with about 4,000 valid SKUs. Another ran an editorial content engine that needed WordPress's block editor. The third was migrating off a custom PHP backend with five years of order history that was not worth replatforming.

The common thread: each had a senior developer on payroll, a defined on-call rota, and an honest line item for security patching. The stack did not fail them because the operational reality matched the architecture's demands.

Takeaway

Pick the stack that matches the team you actually have, not the team you wish you had. Architecture does not compensate for an empty on-call rota.

One note on AI agents and the closing

Half the storefront calls we get this year ask whether an AI agent can sit on top of headless and "handle Black Friday". It cannot. Agents are excellent at inbox triage, invoice chasing, and routing customer questions to the right macro. They are not a substitute for a human who can SSH into the cache layer at midnight. The CEOs currently arguing the opposite tend to learn this in late November.

When we rebuilt the storefront for a Dutch home-decor brand last quarter, the thing we ran into was that the previous agency's on-call had quietly collapsed three months before launch. We ended up writing a one-page runbook that named the engineer responsible for each hour of Black Friday weekend, and we did similar handover work for the AI agents wired into their inbox, because the principle is the same: somebody has to be the human at the end of the chain.

The audit takes an hour and costs nothing. Pull your last twelve months of analytics, segment by connection type, and look at the conversion rate of the slowest decile. If the gap to your fastest decile is wider than 35%, your stack is not the brand's problem yet. Your floor is. Fix that before you replatform anything.

Key takeaway

Pick the stack that matches the team you actually have. The on-call rota on Black Friday weekend decides more than any architecture diagram does.

FAQ

When should we keep our headless WooCommerce stack instead of moving to Shopify Plus?

Keep it when you have an in-house engineer, a defined on-call rota for high-traffic events, and merchandising rules that do not fit Liquid. Without all three, the maintenance cost usually wins out.

What does Shopify Plus actually cost compared to WooCommerce hosting?

Shopify Plus runs around €2,300 per month at the entry tier. WooCommerce hosting is cheaper, but the developer retainer to keep a headless stack alive often equals or exceeds the platform fee for sub-€10M brands.

Does headless React beat Shopify Plus on conversion?

Only when maintained. Headless stacks have a higher performance ceiling but a much lower floor. Without continuous Lighthouse work, a Next.js storefront often ships LCP scores worse than a stock Shopify theme.

Who is responsible during a Black Friday outage on each stack?

On Shopify Plus, the platform handles infrastructure and a merchant success contact is reachable. On WooCommerce + headless, responsibility sits with your agency or in-house team. Name that person before launch, not during.

e-commercearchitecturestrategyoperationswordpressmigration

Building something?

Start a project