Why your channel numbers never agree
Meta claims forty conversions. Google claims twenty-five. Your analytics tool says thirty-one total. Nobody is lying, and that is the problem.
Each platform is counting its own contribution
An ad network reports conversions it believes it caused, using its own attribution window and its own view of who saw what. Two networks that both touched the same buyer will both count that buyer. Adding their numbers together produces a figure larger than your actual sales, every time.
Your analytics tool counts differently again — usually last non-direct click, usually in its own timezone, usually only for sessions that consented to being measured. Three tools, three definitions, three defensible answers.
The windows are the biggest single cause
A network that credits a conversion up to seven days after a click and one day after a view will find more conversions than one crediting only clicks in the last twenty-four hours. Neither is wrong; they answer different questions. But nobody compares the settings before comparing the numbers.
Before investigating anything else, put the attribution windows of every source side by side. A surprising share of "our data is broken" turns out to be one platform set to a wider window than the others.
What a shared customer record changes
When every channel writes to the same record, a conversion is an event on a person rather than a claim by a platform. The person has one first touch, one last touch and a list of everything in between, and the total is the number of people, not the sum of the claims.
That does not make the platforms agree — they will still report their own figures, and you will still optimise inside them using their numbers, because that is what their algorithms learn from. What it gives you is a third number that is arithmetically capable of being the truth.
Use each number for the job it can do
- Platform numbers: for optimising inside that platform. Their bidding learns from their own signal, so fighting it is expensive.
- Your own record: for deciding budget between channels, and for anything you report upward.
- Incrementality tests: for the questions neither can answer, like whether the brand campaign did anything at all.
The failure mode is using platform numbers for cross-channel budget decisions. Every network is confident it deserves the credit, so whichever one you check last wins the argument.
A practical reconciliation, once a month
- Line up the attribution windows and note where they differ.
- Take one week and count conversions on your own record, deduplicated by person.
- Compare that total to the sum of platform claims. Expect the sum to be higher; the gap is your overlap.
- Check the overlap is stable month to month. A moving overlap usually means tracking changed, not that behaviour did.
This takes an afternoon and settles arguments that otherwise recur every quarter. It is also the fastest way to find out that a tag stopped firing three weeks ago.
