The RFP asked for “headless flexibility.” The spreadsheet forgot build hours, hosting, and the second engineering team you hire to own the glue.

We priced three recent programmes—Shopify Hydrogen, Medusa (self-hosted), Saleor (cloud tier)—for a mid-catalogue EU merchant. Below is what we actually logged, anonymised. Numbers are directional; your vendors will argue every line. That is the point: argue before you sign.

Line itemHydrogen (rough)Medusa (rough)Saleor (rough)
Core build (storefront + checkout path)HighHighMedium
Search & merch integrationsMediumMedium–HighMedium
DevOps / upgrades (year one)Low–MedHighLow
Vendor platform feesTied to ShopifyInfra onlyPer-seat + usage
Time to first production order (our sample)9–12 wks11–16 wks8–11 wks

Hydrogen piggybacks on Shopify’s payments and ops reality—until you need a flow Shopify does not love. Medusa gives control and sends the invoice as your on-call rotation. Saleor sits in a middle band for teams that want GraphQL commerce without owning every patch.

What the deck leaves out

Content and merchandising UX. Headless means your CMS and PIM actually work, or marketing files tickets forever.

Preview environments for campaigns. If you cannot stage a landing page without a developer, you do not have headless—you have a bottleneck with a fancy name.

Observability on checkout. Separate services mean separate failure modes. We budget for tracing across cart, tax, and inventory from day one.

Where this breaks down

When the brand wants weekly campaign surfaces and the team sized for a quarterly release. When payments and fraud are treated as “Phase 2.”

Our read

Headless is a trade, not a moral upgrade. We pick it when the catalogue, markets, or integrations genuinely outgrow a monolith’s guardrails. Otherwise we keep the monolith, improve the theme, and spend the margin on margin.