Picture one buyer who saw your ad on Instagram Monday, clicked a Google search ad Wednesday, and bought Thursday. Open Meta Ads Manager and it reports a sale. Open Google Ads and it reports a sale too. Check your bank account: there is exactly one sale. Two dashboards, one deposit — and neither number is technically wrong.
That’s what an attribution model actually is: not a setting you tweak for better numbers, but the rule each platform uses to decide which touch gets credit for a sale it didn’t fully witness. We’ve already covered which touch each platform counts by default — this is what happens once you try to add the two totals into one honest picture of your marketing.

The Same Sale, Counted Twice
Run the buyer above through both systems and you don’t get a rounding error — you get double counting by design. Meta’s model says: an impression can influence a purchase without a click ever happening, so credit the view. Google’s model says: a conversion needs a click to trace back to, so credit the search. Both statements are true of the same person on the same week. The two platforms aren’t measuring the same event with different accuracy. They’re using two different definitions of “caused this sale,” and both definitions are internally consistent — just not with each other.
That’s the part worth sitting with before touching either dashboard: this isn’t a bug waiting for a patch. It’s two separate systems of coordinates, each correct inside its own account and meaningless the moment you try to lay one on top of the other.
Meta’s Own Warning About Comparing Its Numbers
Meta doesn’t just apply this differently from Google — it warns advertisers not to compare its own numbers against each other. In its help documentation on attribution settings, Meta states directly: “Results cannot be compared in the Campaign Overview table across ad sets with different attribution models. Each attribution model uses different counting mechanisms.”
Read that again: two ad sets in the same account, same reporting screen — and Meta itself says don’t compare them once their attribution settings differ. If a comparison inside one platform’s own interface isn’t valid, a Meta account against a Google Ads account — different counting rules, different traffic — was never a comparison at all. Two receipts from two different stores, stapled together and read as one total.
Picking an Attribution Model Isn’t the Lever You Think It Is
A lot of advice still treats model selection as the fix: switch from last-click to something smarter and the numbers will finally make sense. That advice is behind the interface it’s describing. GA4 offers three models today — data-driven, paid and organic last click, and Google paid channels last click — and Google’s own help page confirms: “The first click, linear, time decay, and position-based attribution models are no longer available as of November 2023.” Half the guides ranking for this topic still walk readers through choosing between models that have been gone for years.
Of the three that remain, each has its own blind spot, not a universal fix. Data-driven spreads credit across the touches it can see, but conversions can be reattributed for up to seven days after the fact — the number you check today can shift by Friday. Paid and organic last click hands everything to whichever channel closed the visit, silently erasing every touch before it. Google paid channels last click goes further still, crediting only Google’s own paid channels — a competing platform’s ad simply doesn’t exist in that model’s math. Google Ads defaults to data-driven for most conversion actions, but “default” isn’t “objective.” It’s one more counting rule, applied automatically instead of chosen.

The Windows Are Different, Too
Even with a model picked, the two platforms don’t look back over the same stretch of time. GA4’s lookback window defaults to 30 days for acquisition events like a first visit, with the option to shorten it to seven, and 90 days for other key events, adjustable to 30 or 60. Meta’s standard model works on a different clock entirely: a click-through window of one or seven days, a view-through window of one day, and an engagement window of one day. A buyer who takes ten days to decide falls inside GA4’s default window and outside Meta’s — same person, same purchase, one platform sees the connection and the other has already stopped looking.
What Google Says About the Gap
Google addresses the mismatch directly, though only for its own side of it. Its help page on data discrepancies explains: “Discrepancies are sometimes the result of your own site analytics or third-party tools recording all traffic, including clicks that Google Ads later deems invalid.” It adds that “Google Ads reports conversions on the ad impression date. Other reporting tools attribute them to the conversion date” — another way two correct numbers can disagree without either being false. Notably, that page never mentions Meta by name. Google is explaining why its numbers won’t match any other tool’s numbers, in general — not settling a specific argument between the two platforms you’re actually running.
A Rule That Doesn’t Require Picking a Model
None of this means attribution is unsolvable — it means the comparison has to move up a level. Stop comparing what Meta’s dashboard reports against what Google’s dashboard reports; they were never built to be read side by side. Compare total spend against total revenue for the period, across both accounts, and settle disputes with an experiment instead of a model swap: pause one channel for two weeks and watch what happens to the total number of leads, not to that channel’s own reported count. That test only means something once you know what a realistic budget looks like on each side. There’s a separate piece on what Facebook and Instagram ads actually cost.
Whether the spend in question sits in Facebook Ads or Google Ads, the test is identical: did total results move when total spend moved. Neither platform’s own report can answer that question about the other platform.
The One Number Neither Platform Can See
Both attribution models share one limitation: they only count what happens inside their own ad platform. A phone call has no click and no impression tag attached to it — neither dashboard ever sees it, no matter which model is running. A UTM tag has the same ceiling: it tells you which channel sent the click, not which channel closed the sale. Worth reading next: the naming convention that keeps UTM tags readable.
That’s why we don’t settle disputes between Meta’s number and Google’s number by picking a side. The lead-tracking plugin we run, and the call tracking layered on top of it, log where a form submission or a phone call actually originated — independently of what either ad platform claims credit for. When both dashboards report the same lead, that log decides it. We’re Google Partner and Meta Certified on both platforms and get paid the same regardless of which model wins — which is why we don’t lean on either dashboard as the final word.
If your own reporting doesn’t answer that question cleanly yet, that’s worth fixing before comparing anything else. Get in touch and we’ll show you where your numbers actually agree.










