GA4 + Shopify: the tracking setup that actually attributes correctly

Default GA4 attribution is broken on Shopify. Here’s the server-side + client-side hybrid we deploy.

GA4 + Shopify: the tracking setup that actually attributes correctly

Default GA4 attribution on Shopify is broken. Subscription orders don’t fire purchase events correctly, the checkout journey skips steps, and Shop Pay flows lose UTM params. Here’s the setup we deploy.

Server-side, not client-side

We push purchase events server-side via Shopify Flow + Cloud Functions. Client-side firing misses iOS Safari conversions entirely (~12% of revenue on most stores) due to ITP cookie clearing. Server-side event firing closes that gap.

UTM stitching across Shop Pay

Shop Pay’s session handoff drops UTMs by default. We persist them through a customer metafield + cart-attribute write. Reattribute them on conversion. Every paid-social brand we’ve done this for has seen 8–25% more attributed conversions on the same spend.

If your GA4 doesn’t show iOS purchase events, your dashboard is a lie.

Subscription order tracking

Recurring subscription orders typically don’t hit GA4. We script them via the Recharge webhook → Cloud Function → GA4 measurement protocol. Now LTV reporting is actually possible.

← Back to all articlesWork with us