Headless commerce is an ecommerce architecture in which the storefront that shoppers see (the "head") is separated from the commerce engine that runs products, prices, carts, checkout and orders (the back end). The two talk to each other only through APIs. You can rebuild, redesign or add a front end without touching the back end, and one back end can feed several front ends at once: a website, a mobile app, an in-store kiosk or a marketplace feed.
In a traditional setup, such as a Shopify theme or a Magento storefront out of the box, the template layer and the commerce engine ship as one product. In a headless setup, a development team builds the storefront with a framework of its choice and pulls every product, price and cart from the platform's API. That gives you full control over the experience, in exchange for more engineering work and a stricter demand on your product data. This post explains how it works, how it differs from traditional and composable commerce, when it pays off and what it changes for the people who manage the catalog.
The three layers of a headless store
A headless store has three layers. Each one can be owned, hosted and changed separately.
- The front end (the head): the storefront code, often built with a JavaScript framework such as React or Vue. It renders pages, handles navigation and calls APIs for data. There can be more than one head: a web store, an iOS app and a point-of-sale screen.
- The API layer: the contract between head and body. Shopify's Storefront API is GraphQL only, Adobe Commerce offers GraphQL as a foundation for headless storefronts, and WooCommerce's Store API exposes cart and checkout endpoints for any front end.
- The back end (the body): the commerce platform that owns the catalog, inventory, pricing, promotions, checkout, payments and orders. Product content often comes from additional systems, such as a headless CMS for editorial pages and a PIM for product data.
One back end, several heads
A product page request in a headless Shopify store shows the flow. A shopper in Germany opens /de/products/merino-crew-socks-3-pack. The storefront asks the Storefront API for that product with the country and language set to Germany and German, and gets back the German title, description, variant options (size 39 to 42, 43 to 46), prices in euros and image URLs. The storefront then renders the page in its own design. Nothing about that page comes from a theme file on the platform.
Headless vs traditional (monolithic) commerce
The difference is where the storefront lives and who can change it.
Traditional and headless commerce, aspect by aspect
| Storefront | The platform's theme or template engine | A separate application that your team or agency builds |
|---|---|---|
| Changing the design | Editing theme files within the platform's rules | Changing the front-end code without any risk to checkout or order logic |
| Channels | One web store per installation, plus apps and plugins for other channels | One back end serves any number of heads through the same API |
| Time to launch | Days to weeks with a ready theme | Typically months, because the storefront is a software project |
| Who can make changes | A merchandiser can rearrange a page in the theme editor | Many changes need a developer, unless you add a CMS with a visual editor |
| Apps and plugins | Storefront apps (reviews widgets, upsell blocks, filters) usually inject code into the theme | Many of them have to be integrated by API or rebuilt |
| Hosting | Hosted by the platform | The front end needs hosting too (Shopify offers its own Oxygen hosting for Hydrogen storefronts) |
Where composable commerce and MACH go further
These terms are related but not the same. Headless describes one split: the front end from the back end. The back end can still be a single, all-in-one platform. Plenty of headless stores run a custom React storefront on top of a standard Shopify Plus or Adobe Commerce back end.
Composable commerce goes further: the back end itself is assembled from separate services you pick one by one, such as search from one vendor, checkout from another and promotions from a third. Headless is a prerequisite for composable, but you can be headless without being composable. MACH architecture (microservices, API-first, cloud-native, headless) is a label for the fully composable end of that spectrum.
Examples of headless setups
Most mainstream platforms support a headless mode. A few common patterns:
- Shopify with Hydrogen: Shopify's own React-based framework for custom storefronts, hosted on Oxygen, reading from the Storefront API. Shopify describes it as keeping the platform "under the hood" while you control the front end (Shopify).
- Shopify or BigCommerce with a Next.js storefront: a framework the team already knows, deployed on a general hosting platform, with the commerce platform as a pure back end.
- Adobe Commerce (Magento 2) with a PWA: a progressive web app storefront that reads catalog and cart data through GraphQL.
- WooCommerce headless: WordPress and WooCommerce keep running the catalog and orders, while a separate front end uses the Store API for cart and checkout.
- One back end, several heads: a brand runs a web store, a mobile app and touchscreens in its own shops, all reading the same products and stock.
Benefits of headless commerce
The benefits are real, but each depends on having the team to use them.
- Design freedom: the storefront can look and behave any way you want, without the limits of a theme's sections and settings.
- Front-end speed: a modern framework with server-side rendering, caching at the edge and lean pages can load faster than a theme carrying a dozen app scripts. It is possible, not automatic.
- Several channels from one source: apps, kiosks, smart displays and new storefronts reuse the same catalog and checkout instead of each getting its own copy.
- Independent release cycles: the front-end team can ship daily without risking checkout, and a back-end migration does not force a redesign.
- International storefronts: one back end can feed separate country sites with their own design and content while sharing stock and orders.
Drawbacks and costs of going headless
Teams moving to headless tend to underestimate the same costs.
- You own a software product. The storefront needs developers for every new feature, bug fix and framework upgrade, for as long as it runs.
- Lost app ecosystem: theme apps for reviews, bundles, wishlists and filters may not work and have to be integrated by API or rebuilt.
- Less self-service for merchandisers: without a visual CMS, a banner or landing page change becomes a developer ticket.
- SEO risk in the migration: pages that depend on client-side JavaScript have to be rendered before Google can index them. Google queues JavaScript pages for rendering and still recommends server-side rendering or pre-rendering, since not every bot runs JavaScript (Google Search Central). Meta tags, structured data, canonical tags and redirects have to be rebuilt deliberately.
- More systems to monitor: front-end hosting, the API, the CMS and the commerce platform can each fail separately.
- Higher total cost: build costs, hosting, a headless CMS licence and ongoing development are added on top of the commerce platform fee.
Is headless commerce right for you? A decision list
Use this as a quick screen. If most of the first list applies, headless is worth a serious look. If most of the second list applies, a well-built theme is likely the better investment.
Signs headless will pay off
- You sell through more than one front end (web plus app, kiosks or several country sites) that should share one catalog and checkout.
- Your theme genuinely blocks experiences that drive revenue, such as product configurators, rich editorial shopping or custom bundles.
- You have, or can fund, an in-house front-end team or a long-term agency retainer.
- Page speed is a measured problem that theme optimization has not solved.
- Your product data is already structured: typed attributes, clean variants, translations and images per channel.
Signs it will not
- Your team changes the store mostly through the theme editor and has no developer on call.
- Revenue problems come from traffic, assortment or product content, not from the storefront technology.
- You run one store in one language and the theme does what you need.
- Your catalog still has gaps: missing attributes, one-line descriptions, inconsistent units. A new front end will show those gaps more plainly, not hide them.
What headless changes for your product data
This is the part most guides leave out. A theme is forgiving: a merchant can paste a size chart into the description HTML, put the material in the title and add a badge with a theme setting. A headless storefront renders fields. If a value is not in a field, the front end cannot place it, filter on it or send it to the next head.
Take the merino socks again. In a typical theme store, the product might look like this: title "Merino socks 3-pack grey/navy/black 43-46 SALE", a description with a pasted HTML table for sizes, and the material mentioned once in the third paragraph. A headless storefront, a mobile app and a marketplace feed all need the same product broken into fields:
- title: Merino Crew Socks 3-Pack (no size, color or promotion text in the title)
- short_description: one or two sentences for listing cards and app screens
- description: plain, structured copy, without layout HTML that only works in one theme
- material: 80% merino wool, 18% polyamide, 2% elastane (a typed attribute, so the storefront can filter on it)
- pack_size: 3
- variant options: size (39 to 42, 43 to 46) and color (grey, navy, black) as real options, each variant with its own SKU, GTIN and stock
- care_instructions: machine wash 30 °C, as an attribute the product page can render as an icon list
- images: separate images per color variant, each with alt text
- seo_title and meta_description: set per language, because the head renders them and there is no theme fallback
- translations: every field above in each storefront language, since a country site in German needs German attribute values too (wolle, not wool)
Headless also tends to multiply channels, and each one has its own field rules. The web store can show a 1,200-word description; the app card shows two lines; a marketplace feed has title length limits. The data needs to be complete once and adapted per channel, which is what product information management is for. Some teams add a headless PIM that serves product content by API to every head, next to the commerce platform that keeps prices, stock and checkout.
Headless migration traps, from redesign thinking to lost SEO
- Treating it as a redesign. Headless is an architecture change. Budget for building and maintaining software, not for a new look.
- Migrating messy data as-is. Facts that lived in description HTML, image text or titles do not show up as filters or specs in the new storefront. Move them into attributes first.
- Forgetting SEO parity. URL structure, redirects, canonical tags, structured data, hreflang and meta fields must be rebuilt and tested before launch. Our product page SEO guide lists the fields to check per page.
- Launching everything at once. A phased rollout, for example starting with product listing pages or one country site, limits risk.
- Leaving merchandisers without tools. Plan a CMS or page builder so the content team can change pages without a developer.
- Rebuilding the catalog logic in the front end. Variant rules, translations and channel exceptions belong in the systems that own the data, not hard-coded in storefront components.
The product information layer behind a headless storefront
WISEPIM is a product information layer, not a storefront or a commerce engine. In a headless setup it sits next to your platform: it imports the catalog, fills missing attributes, descriptions and translations with AI, checks completeness with Quality Guard and pushes the result to the platform through platform sync to Shopify, WooCommerce, Magento 2 and other connected stores. The storefront then reads clean, structured fields from the platform's API. When something changes in WISEPIM, opt-in auto-sync pushes the saved product to the connected store, so the head never waits on a manual export.
If you are weighing a headless project, start with the data: you can import your catalog on the free plan and see which fields are missing before any front-end work begins.

