Headless (composable) stores decouple the frontend (e.g. React/Vue) from the backend and content. A faster, more flexible site for the customer — but new challenges for measurement. Here's what to watch for with headless and how server-side tracking fits.
Why headless is different for measurement
- A custom frontend. A turnkey e-commerce platform usually provides the data layer; with headless you implement it yourself in the frontend framework.
- SPA / client-side routing. Pages often don't fully reload — you have to fire events on transitions manually, not rely on a page load.
- Multiple data sources. Frontend, API, backend — measurement has to make sense across them.
What to watch for
- Implement a clean data layer in the frontend. With headless this is the most important (and most often neglected) part. Without it, measurement doesn't stand — see the data layer.
- Fire e-commerce events correctly. view_item, add_to_cart, purchase must arise on real actions, not on every re-render.
- Watch value and transaction_id. They must come correctly from the API so you can deduplicate and measure revenue.
How server-side fits
Server-side tracking works with headless just like anywhere: the frontend sends an event to web GTM, which sends it to the server-side container. Headless also offers a chance to send some events straight from the backend (e.g. a confirmed order), which is even more reliable than from the browser. The server-to-server principle is explained in what a Conversions API is.
Summary
With headless commerce, what matters isn't the platform but how well you implement the data layer and fire events in your own frontend. Server-side tracking then forwards the data reliably — and with headless you can even shift part of the measurement to the backend. Start with the complete guide.