Resources
Why ad platform numbers never match on the same campaign.
They are not measuring the same thing. Once you know what each one counts, the gap stops being a mystery.
- 7 minute read
- 5 sections
Part 1
Nobody is wrong
Open Google Ads and it reports one conversion count. Open Meta and it reports another. Open the analytics tool and it reports a third, usually the lowest. The instinct is to work out which one is right, usually because a client has asked.
None of them is wrong. Each is answering a different question, and each is answering it correctly. Google Ads reports the conversions Google believes its clicks caused. Meta reports the conversions Meta believes its ads caused. The analytics tool reports what it could observe in the browser. Three questions, three answers.
This matters because you cannot fix it by picking a winner. You fix it by knowing which question you are asking before you look at a number.
Part 2
The six things that make the gap
In rough order of how much damage each one does. The first three move a number by a lot and are almost never checked.
The attribution window
Each platform counts a conversion if it happens within a set period after someone interacted with the ad. Those periods are configurable, and they are rarely set to the same length on two platforms. Check the setting on each client account before comparing anything.
Clicks against views
Some platforms will credit a conversion to someone who saw an ad and never clicked it. Others count clicks only. A platform counting views will always report more conversions, and the difference is not an error.
The account time zone
A platform reports days in the time zone set on the account, not the one you report in. If those differ, spend and conversions near midnight land on the wrong day, and a daily comparison is off by a slice of every day.
Restatement
Platforms revise figures for days that have already closed, as late conversions arrive and as invalid clicks are refunded. The number you read on Monday for Sunday is not the number that will be there on Friday.
Currency and billed cost
Spend and billed cost are different figures on most platforms, and a converted currency depends on the rate and the date used. Two totals can differ purely on which of these you pulled.
The same person, counted twice
Somebody who saw an ad on one platform and clicked one on another gets credited by both. Add the two platforms together and that person becomes two conversions. This is why a total across platforms is almost always higher than reality.
Part 3
What one source of truth actually means
It does not mean one conversion number that every platform agrees with. That number does not exist, because the platforms are not measuring one thing.
It means the difference is explainable and stable. You know why one platform reports more than analytics, you know the window and the time zone behind every figure, and the gap does not move for reasons nobody can name. A gap you can explain is fine. A gap that changes every month is a broken pipeline.
For an agency, that explanation is the thing to give a client, once and in writing: which figure the report uses, why the platforms show more, and that the gap is expected.
Part 4
What to do instead
Four rules, and they work whether you build this yourself or buy it.
Reconcile spend, not conversions
Spend does reconcile. It is a figure the platform charged the client, and it can be checked against an invoice. Make spend the number that has to agree everywhere, and treat conversions as platform-reported.
Store the window and the time zone as columns
Not in a document, and not in somebody's memory. If the window is a field on the row, anyone reading that number later can see what it means.
Keep history, do not overwrite it
Add each sync to the table rather than replacing yesterday. When a platform restates a figure you then hold both the original and the correction, which is the only way to tell a restatement from a bug.
Never total conversions across platforms silently
If you must show one figure, label which definition it uses. An unlabelled cross-platform conversion total is the most common wrong number in marketing reporting.
In practice
Where SightShark fits
Every client's platforms are pulled into a warehouse you own and modelled to one name, one type, one grain and one currency per metric, so the figures that can be compared are comparable and the ones that cannot are labelled.
Syncs add to the tables rather than replacing them, so a restated figure leaves both numbers on record. Freshness and threshold checks run against those tables, which is what tells you a gap moved because a platform changed and not because a sync failed.
See how the platform worksQuestions
Questions people ask
Why do Google Ads and Meta report different conversions?
Because they count different things. Each credits conversions it believes its own ads caused, using its own attribution window, and some platforms credit people who saw an ad without clicking it. Anyone who saw ads on both is counted by both. The gap is expected, and it is not a sign either platform is broken.
Which conversion number should I report to a client?
Pick one definition, write it down, and use it every month. Platform-reported conversions are right for judging that platform. A single cross-platform total is only meaningful if you say which definition it uses, because the platforms double count anyone who saw more than one ad.
Why did last month's numbers change?
Platforms revise days that have already closed. Late conversions arrive after the report ran, and invalid clicks get refunded. If your pipeline overwrites yesterday with the latest figure you cannot tell a legitimate restatement from a broken sync. Keeping both the original and the correction is what makes that visible.
Also worth reading
- 7 min read
Reporting across currencies and time zones.
Both are the same failure. A number that means something different depending on where it was read, and no error either way.
Read it - 5 min read
Meta's engage-through attribution, explained for client reports.
Fewer conversions in Ads Manager does not always mean fewer sales. Sometimes it means a narrower definition.
Read it - 7 min read
A UTM naming convention that holds across clients.
UTMs are the join between what a client spent and what happened. Get them wrong and no amount of tooling recovers it.
Read it
Pricing
Priced by the clients you report on.
Starter
$499 /month
Up to 20 clients
Growth
$999 /month
Up to 50 clients
Enterprise
Custom
No cap on clients
Get started
Want this running on your own data?
Book a call with someone who can answer the technical questions.