Open your ad platform and your analytics side by side at the end of a month and the conversion counts will not match. They never do. At The Growth Bully, a Malta performance marketing agency, this is the question that erodes trust in reporting faster than any other, because the obvious reading is that somebody is inflating a number. Usually nobody is. The two systems are not measuring the same thing, and once you know what each one actually counts, the gap stops being a fault and becomes information.
A perfect match would be the genuinely worrying result. It would mean one of the two had stopped measuring independently and was reading the other one back to you.
Why do my ad platform and analytics numbers never match?
Because they answer different questions. The ad platform reports every conversion it believes its advert influenced, including people who saw it and converted later on another device. Analytics reports what it witnessed arriving on your site in a session it could attribute. Influence and arrival are different events, so the counts differ.
The shape of the gap is predictable once you expect it. Meta will usually report more conversions than analytics for the same campaign, because it counts view through and cross device journeys that analytics has no way to see. Google Ads tends to sit closer, since it shares a measurement layer with analytics, but it will still differ wherever a conversion arrived outside the session analytics recorded.
What is the ad platform counting that analytics cannot see?
Three things, mainly. Conversions by people who saw the advert without clicking it. Conversions that finished on a different device from the one that saw it. And conversions it has estimated rather than observed, where consent or browser restrictions removed the evidence. Analytics sees none of the three.
The underlying advantage is identity. A logged in social network knows the person on the phone at lunchtime and the person on the laptop that evening are the same person. Your analytics, working from a browser identifier on one device, sees two unrelated strangers. That is not a flaw in analytics. It is the limit of what a website can observe about somebody who has not yet arrived.
How big a gap between the two systems is normal?
There is no published figure worth quoting, and anyone offering one is guessing. What matters is whether the gap is stable. A campaign that runs thirty percent above analytics every month is behaving consistently and can be reasoned about. One that swings from ten to seventy percent has a tracking fault.
So the first useful piece of work is boring: record the ratio between the two systems for three months and treat that as your own baseline. Once you have it, the gap becomes a diagnostic. A sudden move in the ratio tells you something broke, and it usually tells you before anybody notices the revenue.
What is a modelled conversion?
An estimate. When consent is declined or a browser blocks the identifier, the platform loses the evidence linking a click to a sale, so it fills the hole statistically using the journeys it can still see. The number is a projection presented with the same confidence as an observed one.
Modelling is not dishonest. It is the honest answer to data that no longer exists, and refusing it would simply mean reporting a number you know is too low. What it does mean is that decimal places are false precision. A modelled cost per acquisition is a range wearing the costume of a figure, and it should be read as a direction of travel rather than a verdict.
Does the consent banner explain most of the difference?
A large share of it, yes. Every declined banner removes a visitor from analytics entirely while the ad platform keeps a modelled version of them. If you installed a banner and never adjusted your reporting afterwards, your analytics has been understating performance ever since, quietly and consistently.
The fix is not to weaken the banner. Your obligations are what they are, and this is a question for your own adviser rather than your marketing reporting. The fix is on the measurement side: a durable server side signal and a conversions API feed give the platform a reliable record of the people who did consent, which is covered in conversion tracking that survives.
Which system should decide your budget?
Pick one and write it down. The ad platform is the better optimiser, because its bidding runs on its own data and feeding it a smaller truth makes it worse at its job. Analytics is the better auditor. Use the platform to steer and analytics to check.
The number that should actually settle a budget argument sits in neither of them. It is cost per qualified enquiry, measured in your CRM against enquiries a human has judged real, which is the figure our Pipeline Scorecard work is built around. Platform conversions are an input to that. They are not the outcome, and treating them as one is how accounts end up buying cheap enquiries that never become customers. We walk through the arithmetic in what a lead is actually worth.
How do you stop the two numbers becoming a monthly argument?
Agree the rules before the next report rather than during it. Which system is the decision maker, what window each one uses, which conversion actions count, and what gap you consider normal. Four decisions, made once, remove the whole category of argument from every meeting after it.
- Name the decision maker. One system drives optimisation and appears in the headline numbers. The other appears underneath it as a cross check, labelled as such.
- Fix the attribution window and leave it alone. Comparing a seven day window against a twenty eight day one is not a disagreement about performance, it is an accounting artefact. More in attribution windows and what they hide.
- Count one conversion action per outcome. If a form fill fires two conversions in two systems with two names, nobody will ever reconcile the totals.
- Report the gap on purpose. Put both numbers and the ratio in the report. A gap you have already explained cannot be used against you.
- Separate observed from modelled wherever the platform lets you, so the share of the result that is an estimate is visible rather than implied.
What does a genuine tracking fault look like?
A gap that moves without a cause. Analytics counting double, a conversion firing on a button click rather than a confirmed submission, a thank you page reachable by refresh, a tag missing on one page template. These produce unstable ratios rather than a consistent offset, which is how you tell them apart.
That distinction is the whole value of having a baseline. A consistent gap is two systems doing their jobs differently. A moving gap is a broken implementation, and until it is fixed every optimisation decision above it is being made on noise. If your two systems have been disagreeing by a different amount every month and nobody has established which one you trust, book a call and we will tell you which of your numbers is load bearing before you move another euro of budget.

