The numbers do not match
Meta says forty conversions. You were paid for twelve.
Every source is counting something slightly different, and at least one of them is counting hopefully. The gap is normal; not knowing which number to act on is the problem worth fixing.
Ad platforms count conversions they believe they caused, using attribution windows you did not choose and modelling for the ones they could not see. A platform crediting itself for a sale that would have happened anyway is behaving exactly as designed.
Affiliate networks count conversions they have decided to pay for. That number moves after the fact: pending becomes approved or rejected days later, and a chargeback can take it away a month after that.
Your own analytics counts sessions in browsers that allowed a script to run, which by now is fewer of them than you would like.
None of those is dishonest, and none of them is the number your bank sees. The only record that can reconcile them is one you hold: this click, this cost, this sale, this payout, with an id linking all four. That is what a tracker is for, and the reason it sits between the platforms rather than inside one.
How it works
The mechanism, not the marketing.
- 01
Different windows
A platform may credit a sale seven days after the click; your network credits the click that was last.
- 02
Different moments
The platform counts when it thinks the sale happened; the network counts when it approves paying you.
- 03
Different survival
A pixel loses blocked browsers and closed tabs. A postback does not.
- 04
Different intentions
One of them is also a marketing number for the platform selling you the traffic.
What to check tonight
You can do all of this without us.
None of it needs an account anywhere. If it turns out your tracking is fine, you have lost twenty minutes and learned something.
Line up one day, not one month
Take yesterday only, and compare platform conversions, network approved conversions and your own record. A month hides the pattern; a day shows it.
Check whether the gap is timing
Count your network’s pending conversions. If pending roughly equals the gap, nothing is broken — you are comparing an optimistic count to a settled one.
Look for conversions with no click
Sales arriving with no click id attached mean the id is being dropped somewhere between your ad and the offer. That is a fixable plumbing problem and it is usually one hop.
Ask what the platform is being told
If it only has a browser pixel, it is guessing more than it needs to. Feeding it server-side conversions usually shrinks the gap and improves its bidding at the same time.
How UTMCAP does it
What you would get here.
One record, four numbers
Click, cost, conversion and payout on the same row, so a difference has somewhere to be looked up.
Status kept separate
Approved, pending and rejected are three figures everywhere, and only approved is revenue.
Late conversions land properly
A postback finds its click days later and is dated when it happened, not when it arrived.
Conversions sent back
Google, Microsoft, Meta and TikTok get the settled sale from our server, so their count gets closer to yours.
The Copilot checks the plumbing
Fourteen health checks, including conversions failing to reach a platform and click ids going missing.
Leftover clicks are kept
Clicks whose campaign was deleted stay in their own report, so what you spent still reconciles.
Questions
The ones people ask next.
Read next
- Which number should I optimise on?
- The one you are paid on — approved conversions — while watching pending so you are not surprised. Use the platform’s number to judge its bidding, not your profit.
- Is a 3x gap between Meta and my network normal?
- It is common with a seven-day click window and modelled conversions, especially on cheap traffic. What is not normal is a gap that changes shape overnight: that usually means something in the plumbing broke.
- Will sending conversions back make Meta agree with me?
- Not exactly, but it narrows the gap and makes their optimiser bid on real revenue. Agreement is not the goal; better bidding is.
Point a domain at us and run a click through it.
The free plan takes a hundred thousand clicks a month and no card. If it does not do what you need, you have lost twenty minutes.