~ Headless Shopify

Shopify attribution is broken: making Meta, GA4 & Shopify agree

5 May 2026 · 5 min read

TL;DR

Meta, GA4, and Shopify disagree because client-side pixels get blocked, cookies expire, and each platform uses different attribution windows. The fix is server-side events — Meta Conversions API and GA4 Measurement Protocol converged with Shopify order data on one stream — so the numbers match and a dashboard can show ROAS you can trust.

If Meta, GA4, and Shopify each report a different number of orders, you are not alone — and it is not your imagination. The cause is client-side tracking that browsers, ad blockers, and privacy features increasingly drop. The fix is to move your events server-side so every platform reads from one reliable stream.

Why the numbers never match

  • Blocked pixels. Ad blockers and tracking-prevention stop browser-side tags from firing, so conversions go uncounted.
  • Lost cookies. Short cookie lifetimes break the link between an ad click and a later purchase.
  • Different windows and models. Each platform counts conversions over different attribution windows, so totals diverge even when tracking works.

The fix: server-side events

Instead of relying on the browser, send the key events (page view, add to cart, purchase) from the server to each platform's API:

  • Meta Conversions API (CAPI) for ad attribution that survives blockers.
  • GA4 Measurement Protocol for reliable analytics.
  • Shopify's own order data as the source of truth.

Converge all three on a single server-side event stream and the figures line up no matter who you ask. This is exactly the kind of thing a theme plus a stack of apps tends to get wrong — and where a headless build, or a focused attribution project, fixes it properly.

Client-side vs server-side, briefly

 Client-side pixelsServer-side events
Blocked by ad blockersOftenNo
Depends on cookiesHeavilyMuch less
Data accuracyLeakyReliable
Effect on page speedAdds main-thread workOff the critical path

Seeing it in one place

Once events are server-side, an attribution dashboard can show channel-level ROAS, blended CAC, and contribution that actually match the platforms — so you can spend with confidence instead of arguing with three dashboards.

The short version

Mismatched numbers come from leaky client-side tracking. Move to Meta CAPI + GA4 Measurement Protocol + Shopify order data on one server-side stream, and your attribution finally agrees with itself.

AttributionAnalyticsEcommerceHeadless Shopify

Published 5 May 2026 · the tilde team

← All posts

Questions? Let's talk.

Tell us what you're building and we'll point you in the right direction.