ZenoxAds

Why do ad platform and analytics numbers disagree?

July 18, 2026 · 6 min read

If Meta Ads Manager, your Google Ads account and your analytics property each report a different number of conversions for the same month, nothing is necessarily broken. An ad platform data discrepancy is the normal outcome of three systems that count different things, on different dates, under different rules. The useful question is not how to make them match, because they will not match. It is how large the gap is, whether it is stable, and which number you are allowed to make decisions with.

The dashboards are not measuring the same subject

Ad platforms count people. When someone signed into Facebook on a phone sees your ad and then buys on a laptop four days later, Meta can connect those two moments because the same account was logged in at both ends. Analytics tools count sessions tied to a browser and a device. That single buyer is one person to the ad platform and two unrelated visitors to analytics, one of whom arrived carrying no campaign information at all.

The second difference is who is allowed to take credit. Each ad platform reports on itself, and it reports every conversion that falls inside its own lookback rules, whether or not another channel also touched the sale. Analytics tools normally hand each conversion to exactly one channel. One system is built to overlap; the other is built to be exclusive. Two designs, one sale, two totals.

Four structural causes of an ad platform data discrepancy

Both platforms bill themselves for the same order

A customer clicks a Facebook ad on Tuesday, searches your brand name on Google on Thursday, and buys. Meta sees a click inside its window and counts the purchase. Google sees a click inside its window and counts the same purchase. Neither is lying. Each is answering the question it was designed to answer, which is whether a conversion followed one of its own ads. Add the dashboards together and you get more conversions than you got orders. How that credit ought to be divided is the subject of attribution models, and the honest summary is that no division is objectively correct.

The conversion is stamped on a different date

Ad platforms generally date a conversion back to the day of the ad interaction that earned it, because that is the day you paid for the click or the impression. Analytics tools date it to the day the purchase actually happened. For anything with a consideration period, those are often different days and sometimes different weeks. Compare a single Monday across two systems and the gap can look alarming, then vanish once you compare a full month. Check each platform's official documentation for how it stamps dates and what its default window is before you draw conclusions from a short date range.

Some conversions are modelled rather than observed

When consent is refused or a device blocks tracking, platforms do not simply drop those conversions. They estimate them from the users they can still see. Modelled conversions are a reasonable response to signal loss, the same loss covered in our article on iOS privacy changes and Facebook ads, but by construction they are not rows in your order table. Your analytics property and your order system contain only what was observed. A modelled number cannot reconcile to an observed one, and trying to force it to is wasted effort.

Data is lost between the click and the report

This is the only cause on the list you can genuinely fix. UTM parameters stripped by a redirect. A checkout on a different domain that opens a fresh session with no source. A consent banner that blocks the analytics tag but not the ad pixel. Ad blockers. People who open a link inside an in-app browser and finish the purchase somewhere else. Each of these quietly moves a sale out of the paid bucket in analytics while the ad platform still counts it.

Reconciling the numbers: a worked example

The figures below are invented to demonstrate the method, not benchmarks. Take one calendar month and one definition of a conversion: a completed order recorded by your own order system. Say that system recorded 150 orders. Meta Ads Manager reports 120 purchases. Google Ads reports 90 conversions.

Together the platforms claim 120 + 90 = 210 purchases against 150 real orders. That is 60 more purchases than the business actually received, and 210 divided by 150 is 1.4 times the true total. This is not evidence of a broken pixel. It is evidence of two self-attributing systems overlapping on the same customers.

Now look at analytics, which assigns each order to a single channel. Suppose it reports 48 orders from paid social and 60 from paid search, with the remaining 42 credited to organic, direct and email. Those add to 48 + 60 + 42 = 150, matching the order system, which tells you the tracking itself is broadly intact. Your two ratios are therefore 120 divided by 48, which is 2.5 for Meta, and 90 divided by 60, which is 1.5 for Google.

Those two ratios are the deliverable. Write them down. They describe your account's normal far more usefully than either raw number does.

When the gap really is a tracking bug

The size of the gap is not the alarm. A change in the ratio is. Suppose the following month Meta reports 150 purchases and analytics reports 60 from paid social. 150 divided by 60 is 2.5, exactly the ratio you recorded before. The account grew and nothing broke. But if Meta reports 150 while analytics shows only 30, the ratio becomes 150 divided by 30, which is 5.0, precisely twice your baseline of 2.5. Something changed in how data reaches your analytics property, and it is worth an afternoon: a new consent banner, a theme update, a checkout moved to a subdomain, a tag that stopped firing.

Other patterns point to a genuine defect rather than structural drift. One channel dropping to zero where it previously reported steadily. A sudden rise in conversions recorded with no source at all. A single platform reporting more conversions than your order system recorded in total, on its own rather than only in combination with another platform.

Which number gets to decide

Split the job. Use the platform's own numbers for decisions inside the platform, because that data is what its bidding and targeting systems can act on. Judging one ad set against another using analytics figures compares them under a rule the auction never saw. Use your order system and your analytics property for money decisions: what an order really cost, whether the month was profitable, whether the budget should go up.

When the two verdicts disagree, the tiebreaker sits above both of them: total revenue against total advertising spend, a view that cannot double count because it never divides credit in the first place. A marketing efficiency ratio calculator produces that figure in a minute and is the fastest check on whether platform-reported returns describe your business or only describe the platform. If the blended picture and the in-platform picture keep disagreeing month after month, the question has stopped being which dashboard is right and become whether the advertising is adding sales at all, which only a holdout test can answer.

Agree the source of truth before you scale

Two habits stop this becoming a monthly argument. Agree one reporting source of truth in writing before a campaign launches, with the client or with finance, because most disputes about ad performance turn out to be disputes about which dashboard was quoted. Then record your ratios every month instead of chasing an exact match. A discrepancy that holds steady is a property of the measurement. A discrepancy that moves is a message.