Blog All articles

Why Meta reports more conversions than your own data

Meta almost always shows more conversions than GA4 or Amplitude. It's not a tracking error. How to read the gap and use Meta's attribution to gauge incrementality.

Every time a team compares Meta’s conversion count against the number in their own product, the gap shows up, and the read is almost always the same: the tracking is broken, Meta is inflating, someone configured something wrong. Before you spend a week hunting that “error”, it’s worth knowing that in most cases there is no error at all. Meta shows more conversions because it was built to show more conversions. It’s the reading of the gap that’s wrong, not the data.

This matters because treating the discrepancy as a bug has a real cost. It’s data-team time spent reconciling something that doesn’t reconcile by definition, it’s budget decisions made on top of a number you don’t trust, and in the worst case it’s pulling spend from a campaign that was working, just because the internal dashboard didn’t confirm what Meta was saying. The two tools count different things, so they’ll never match

Neither number is a lie. They count different events, over different windows, with different attribution. Until you can name the difference, every optimisation decision is a guess. Neither number is a lie. They count different events, over different windows, with different attribution. Until you can name the difference, every optimisation decision is a guess.

The starting point is knowing what each side measures. Meta’s Events Manager shows everything that was sent to it. A conversion tool like Google’s shows what was sent and what it could attribute to a campaign. These are two different cuts of the same reality, so expecting them to line up starts from a wrong premise, before you even get into attribution windows.

And here’s the part that confuses people most: Meta reporting more conversions than your analytics is, in most cases, the expected behaviour. The reason you send server-side events carrying user identifying information is to help Meta find more good users. That’s a campaign-optimisation job, not a reporting one. Meta isn’t claiming each of those conversions as a reported result of yours, it’s using the signal to decide who to show ads to. Comparing Meta’s number to your GA4 number as if they should coincide is comparing two different jobs and concluding one is broken.

What this changes in practice: stop using “the numbers don’t match” as a warning sign. It isn’t one. The real warning is when a number that should reconcile, like deduplication inside Meta itself, doesn’t, and that’s a separate problem.

Post-view will never appear in your analytics, and chasing it is chasing a ghost

The most useful part of this discrepancy lives in Meta’s attribution-setting breakdown, where you split conversions into post-click, post-engagement, and post-view.

  • Post-click: the person clicked the ad and then converted.

  • Post-engagement: they liked, commented, or shared, and then converted.

  • Post-view: they saw the ad, didn’t interact, and then converted.

Your first-party tools, GA4, Amplitude, Snowplow, only ever see post-click. They attribute on the basis of a click. So anything that isn’t post-click will never appear in them, by construction. If you try to reconcile Meta’s total with your GA4 total, you’re including post-view and post-engagement conversions in the sum that GA4 has no way of seeing. The gap that’s left over isn’t an error; it’s the slice your analytics never had a way to record.

The consequence for the work: when you do compare Meta against your own data, compare post-click with post-click. It’s the only cut where both sides are trying to measure the same thing. The rest of the gap is expected, and now you know where it comes from.

High post-view in your home market is a signal to read, not a number to celebrate

The attribution breakdown becomes a decision tool when you look at the share of post-view in context, not in absolute terms.

One client ran the same setup across several markets. In their home market, where the brand is strongest, something like 80% of the conversions coming from Meta showed up as post-view. In other markets it was the opposite: mostly post-click. That doesn’t prove the post-view conversions weren’t incremental, a high post-view number isn’t, on its own, a verdict on anything. But 80% post-view, precisely in the market where the brand is already well known, is the kind of number that raises the right question: how many of those people would have converted anyway?

For that client, that’s exactly what we did with the number. Rather than treating it as a result, we used it to prioritise an incrementality test in that market, because we needed a CAC we could trust, not one leaning on “they’d have converted without the ad”. The high post-view didn’t answer the question. It told us where it was worth running the test that does.

A post-view-heavy home market usually means the brand was already being found there. The ads are taking credit for demand that existed. A post-view-heavy home market usually means the brand was already being found there. The ads are taking credit for demand that existed.

What to do with all this on Monday

The gap between Meta and your own data isn’t a problem to solve, it’s a characteristic to read correctly. Three practical things come out of this.

First, stop treating “doesn’t match” as a bug, and stop spending team time reconciling the irreconcilable. Second, when you do need a real comparison, compare post-click with post-click, the only cut where Meta and your analytics measure the same thing. Third, use the post-view breakdown in context: high in your strongest market is an invitation to test incrementality, not a result to celebrate.

And the honest limit: none of this gives you a perfect number. The aim isn’t to make Meta and GA4 match, because they won’t. It’s to know why they differ, read each cut for what it is, and properly test, with an incrementality experiment against your own data, the thing the dashboard can’t confirm on its own.

If you’d like help reading your own breakdown, or designing the incrementality test that answers the post-view question, book a call with us.

You can watch the full session on demand here.

Future articles

New articles, straight to your inbox.

Every new piece on measurement, attribution and marketing data.

Barbara Galiza Timo Dechau
Written by Barbara Galiza & Timo Dechau

Most teams we talk to already know
something is off with their attribution.

Let's start there.

For brands spending over $1M in marketing yearly.