You launch a Meta campaign. Ads Manager shows 80 conversions. GA4 attributes 35 of them to Meta. Shopify counts 60 orders over the period. None of these numbers is wrong — they simply aren’t measuring the same thing. Understanding why is the most valuable attribution skill for any e-commerce brand running paid media, because it determines where you reallocate budget.

This article explains the three structural causes of these mismatches, what each platform actually measures, and how to build a reliable read despite the noise.

Each platform plays by its own rules

Meta Ads: the most generous attribution

Meta credits a conversion if the user clicked within 7 days or simply saw the ad within 24 hours before purchasing (the default “7-day click, 1-day view” window). This view-through window is the main source of inflation: a customer who scrolled past your ad without clicking, then bought the next day via a Google search, still counts as a Meta conversion.

Meta also models a portion of conversions lost to iOS and tracking restrictions — a statistical estimate, not a direct measurement.

GA4: the strictest judge

GA4 defaults to data-driven attribution based solely on trackable clicks. No view-through, no modeled ad conversions. If the Meta click couldn’t be linked to the purchase session (expired cookie, consent refused, device switch), GA4 attributes the conversion elsewhere — often to “Direct” or “Organic,” attribution’s two big catch-alls.

Shopify: the neutral bookkeeper

Shopify counts actual orders placed at checkout, regardless of source. It’s your source of truth for total volume, but its native marketing attribution stays basic (last-click based on UTM parameters).

The three structural causes of the gap

1. Different attribution windows and models

As above: view-through vs. click-only, 7 days vs. 30 days, last-click vs. data-driven. Two platforms with different rules simply cannot show the same number. The typical gap between conversions reported by Meta and conversions GA4 attributes to Meta commonly falls between 30 and 60% — that’s structural, not a bug.

Between consent refusals (20-40% of European visitors depending on the CMP), ad blockers neutralizing analytics scripts, and multi-device journeys (discovery on mobile, purchase on desktop), a meaningful share of purchase paths is simply invisible to client-side tracking. GA4 mechanically under-attributes paid channels in favor of “Direct.”

This is precisely the problem server-side tracking mitigates — we detail it in our guide on client-side vs server-side ad tracking (in French).

3. Malformed or missing UTM parameters

GA4 attribution relies on UTM parameters to classify traffic. The most common mistakes: Meta campaigns with no UTM at all (traffic lands as “facebook.com / referral” instead of “paid social”), inconsistent UTMs across campaigns (utm_source=facebook vs utm_source=fb vs utm_source=meta — three different channels in GA4’s eyes), and intermediate redirects (link shorteners, app landing pages) that strip parameters along the way.

A UTM audit takes about an hour and often fixes a visible chunk of the problem on its own.

How to build a reliable read

The goal isn’t to make the numbers match — that’s structurally impossible — it’s to know which number to use for which decision:

  • Real order volume and revenue → Shopify, always. It’s the cash register.
  • Comparing channels against each other → GA4, because it applies the same strict rules to every channel. Even if it undercounts each paid channel, it undercounts them comparably — the relative ranking stays usable.
  • Optimizing within a platform (which campaign, which audience, which creative) → the platform’s own numbers (Meta Ads Manager, Google Ads), since its bidding algorithm optimizes against its own conversions.
  • Making major budget calls → incrementality testing (turning off a channel in a specific region and measuring the real impact on Shopify sales), the only method that measures causation instead of correlation.

In practice, this means building a report that displays all three sources side by side with their respective roles, rather than chasing a single “true” number — exactly the logic behind the multi-source dashboards we cover in our Looker Studio dashboard guide.

FAQ

Which attribution model should I use in GA4? Data-driven (the default since 2023) for general analysis. Last-click remains useful occasionally to understand the final touchpoint before conversion, available in the model comparison tools.

Does server-side tracking fix attribution mismatches? It reduces them (recovering some signal lost to blockers and browser restrictions), but doesn’t eliminate them: the differences in attribution windows and models between platforms remain regardless of how data is collected.

Should I trust the ROAS shown by Meta? As a relative indicator to compare your own Meta campaigns, yes. As an absolute measure of profitability, no — always cross-check against real margin calculated from Shopify data.


Next in this series: building a Looker Studio dashboard that centralizes GA4, Shopify, and paid media — displaying the right number in the right place instead of chasing a single source of truth.

Want a report that reconciles Meta, GA4, and Shopify numbers with the right one used for the right decision? Check out our Shopify Dashboards offer or book a free 30-minute call.