Google Ads and GA4 tracking for Shopify Hydrogen
On Hydrogen you're writing the GA4 ecommerce events yourself rather than inheriting them from a theme or an app, which means they're as good as your spec and no better. The usual headless failure is route changes that never fire a page view, because a React router transition isn't a page load and nothing tells GA4 otherwise.
Free30 minutesNo obligation
Shopify Hydrogen + Google · what breaks
What goes wrong on Shopify Hydrogen
- 01
Route changes firing no events
A client-side navigation isn't a page load, so anything bound to one silently never runs.
- 02
Checkout on a different origin
The customer leaves your storefront for Shopify's checkout, and the session splits unless identifiers are carried.
- 03
Hydration timing
Events fired before hydration completes can dispatch with empty values.
- 04
Nothing is automatic
No theme, no app defaults. Every event exists because someone wrote it.
Shopify Hydrogen + Google · the fix
What changes — Shopify Hydrogen + Google
Route changes emitting proper events
Bound to the router, not to page load.
Identifiers surviving the checkout hop
Carried into Shopify checkout via cart attributes.
Purchase from the order webhook
Independent of whether the customer returned to your storefront.
Shopify Hydrogen + Google · architecture
How the Google destinations behave on Shopify Hydrogen
GA4 on Hydrogen is entirely what you wrote, which is a strength and the source of the classic headless bug.
- 1
Route-change events bound to the router
Not to page load. This is the single most common headless GA4 fault.
- 2
Events emitted after hydration
Or with server-rendered values, so nothing dispatches empty.
- 3
transaction_id from the order webhook
Not from a checkout page you don't control.
- 4
Click IDs captured in your own landing code
Nothing does this for you on Hydrogen.
- 5
Enhanced Conversions from the order record
The checkout DOM is Shopify's, not yours.
Shopify Hydrogen + Google · diagnose
Where Shopify Hydrogen tracking breaks, in diagnostic order
Each check rules out a class of cause, so by the last one there is usually a single explanation standing.
- 01
Navigate between routes and watch for events
If nothing fires on a client-side transition, that's the fault.
- 02
Check whether events fire before hydration
Empty values on the first event is the signature.
- 03
Walk the checkout hop
Confirm cart attributes carry the identifiers across.
- 04
Confirm the orders webhook is subscribed
Headless builds sometimes never set it up.
- 05
Match a closed week on order ID
Shopify web orders against each platform.
Shopify Hydrogen + Google · prove
The QA evidence — Shopify Hydrogen + Google
Run on Shopify Hydrogen specifically, on a live conversion rather than in preview mode.
Source of truth
your Shopify order records, web orders only
- Client-side route changes confirmed emitting events on a real navigation.
- Click identifiers confirmed present on the order via cart attributes.
- Purchase confirmed arriving from the webhook with the order ID.
- Purchase count within a few percent of Shopify web orders for a closed week.
- A real refund tested and confirmed reversing.
- Reconciled over a fully closed window, matched per record rather than on totals.
- Re-checked 30 days later, and after any platform update.
Shopify Hydrogen + Google · free audit
What we check in the free audit
- Navigate between routes and watch for events
- Check whether events fire before hydration
- Walk the checkout hop
- Confirm the orders webhook is subscribed
- Match a closed week on order ID
Checked against
your Shopify order records, web orders only
Free30 minutesNo obligation
Shopify Hydrogen + Google · when not to buy
When you don't need this on Shopify Hydrogen
Worth reading before you buy anything, from us or anyone.
- If your Hydrogen storefront already emits route-change events correctly and your purchase count reconciles, the headless-specific problems don't apply to you.
- Your developers can do most of this — it's their codebase and the Shopify webhook is well documented. Hand them this page.
- Server-side is a smaller step on Hydrogen than elsewhere because you already run infrastructure, which cuts both ways: it's cheaper to add and easier to do yourself.
- Reconcile a closed week on order ID before deciding anything.
Shopify Hydrogen + Google · what we deliver
What gets built for Google on Shopify Hydrogen
GA4 ecommerce events in the recommended shape
Correct names, transaction_id present, currency per order, an items array that agrees with the value.
Click identifiers captured and persisted
gclid, gbraid and wbraid — not just the first, because iOS traffic arrives with the others.
Enhanced Conversions from the data layer
Not from CSS selectors, which break on every redesign silently.
Conversion action settings reviewed
Counting, primary status and attribution window — free to change and more consequential than most tag work.
Written guarantee
95%+ tracking accuracy
Measured against your Shopify order records, web orders only. Miss it and we keep working at no cost.
Pricing
Pick the package that fits your ad spend
Browser-side starter
$400One-time fee · lifetime ownership
Repairs and verifies the browser-side setup you already have, on a live conversion. Honest about its ceiling on this platform.
- Root cause fixed, not worked around
- Verified on a live conversion
- Reconciled against your own records
- Written handover
1st-party server-side
Recommended$800One-time fee · most popular
Money events sent from your own records through a first-party container on your subdomain, so the browser can no longer lose them.
- First-party server container on your own subdomain
- Money events from your records, not the browser
- Deduplicated on a shared event ID at every destination
- First-party cookies beyond Safari's 7-day cap
- 95%+ accuracy and 8+ Meta EMQ, guaranteed in writing
Full 1st-party stack
$1,800One-time fee · lifetime ownership
Every paid channel server-side plus the offline loop, with monitoring so the next break surfaces in days.
- Everything in 1st-party server-side
- Pinterest, Snapchat, Reddit and LinkedIn CAPI
- CRM and offline conversion loop
- Refunds and cancellations corrected wherever each platform allows it
- Monitoring on every destination
FAQ
Shopify Hydrogen + Google questions, answered
Route changes firing nothing. A React navigation isn't a page load, and anything bound to load silently never runs again after the first page.
They're firing before hydration completes. Emit after hydration, or use server-rendered values.
The order webhook. The checkout page isn't yours, so nothing there is a reliable source.
From the order record, yes. From the checkout DOM, no — that's Shopify's origin.
Free · 30 min
Get Google Ads and GA4 right on Shopify Hydrogen
Free30 minutesNo obligation
