Here is a situation business owners describe more often than agencies admit: the ad dashboard says the campaign is profitable, the cost per result looks excellent, and yet the bank account tells a different story. Or the opposite — ads get switched off as “unprofitable,” while customers quietly keep arriving from them. In both cases the ads are not necessarily the problem. The measurement is.
When conversion tracking is broken, every decision built on it is unreliable: which campaign to scale, which audience to keep, which creative to kill, and how much to spend tomorrow. Fixing tracking is therefore not a technical nicety. It is the precondition for profitable advertising. If you have not set up the underlying stack yet, start with our guide to Meta pixel setup with CAPI and GA4.

The direct answer: why the numbers disagree
Your ad account and your bank account disagree when the events Meta receives do not match real orders: the same purchase gets counted twice, real purchases never get reported, or different tools claim credit for the same sale. The fix is a 7-point diagnostic — verify the pixel, verify Conversions API, deduplicate events, check event match quality, reconcile one week of orders against reported conversions, fix attribution overlap, and then lock the setup with a weekly reconciliation routine. Once reported conversions match real orders, scaling decisions become safe again.
Symptom 1: Conversions are higher than actual orders
This is the most common break. A purchase gets counted twice — once by the browser pixel and once by the server-side Conversions API event — because the two events were never deduplicated. Meta’s deduplication depends on matching event names and event IDs; if either differs, you get two conversions for one order.
The fix is specific: every server event must carry the same event ID as its browser twin, and the pair must be tested with a real test order, not just a page view. A single test purchase, checked in Events Manager, reveals duplication immediately.
Symptom 2: Conversions are lower than actual orders
Here, real sales happen but Meta never hears about them. Common causes: the purchase event fires only on a thank-you page that some buyers never reach (for example, after a payment redirect), ad blockers and privacy settings strip the browser pixel, or the server integration drops events silently when a field is malformed.
The diagnostic is to compare, for one full week, the number of real orders in your store system against the number of purchase events Meta received. A gap larger than about 10–15% after deduplication means events are being lost, and the usual cure is a properly implemented Conversions API, which sends events from your server rather than relying on the buyer’s browser.
Symptom 3: Two tools claim the same sale
Meta claims the sale. Google claims the sale. Your email platform claims the sale. Add them together and you have apparently sold far more than you did. This is attribution overlap, not fraud: each platform reports on its own rules, usually last-click within its own window. The mistake is adding platform numbers together as if they were independent.
The correct habit is to treat each platform’s number as directional, and to treat your own order system as the truth. Judge total performance on real revenue and real orders; use platform numbers only to compare campaigns inside that platform.
The 7-point diagnostic, in order
- Confirm the pixel is live on every step. Check the purchase path end to end — product, cart, checkout, payment, confirmation — and confirm the pixel loads on each step, including after payment redirects.
- Confirm Conversions API is sending. In Events Manager, check that server events arrive with healthy volume and match quality, not just that the integration “is connected.”
- Deduplicate browser and server events. Match event names and event IDs exactly, then run a test order and confirm one purchase appears once.
- Check event match quality. Low match quality — missing email, phone, or address parameters — means Meta cannot connect events to people, and optimisation suffers even when events arrive.
- Reconcile one week of orders. Compare real orders against reported purchase events, day by day. Investigate any day with a large gap before changing budgets.
- Separate platform truth from business truth. Build one simple weekly sheet: real orders and revenue from your store system, beside each platform’s reported conversions. Never scale on a platform number alone.
- Lock it with a weekly routine. Reconciliation takes fifteen minutes once the sheet exists. The businesses whose tracking stays broken are almost always the ones who checked it once and never again.
| Pattern | What you see | Most likely cause | First fix |
|---|---|---|---|
| Reported sales greater than real orders | Great ROAS, flat revenue | Pixel + CAPI double-counting | Deduplicate with matching event IDs |
| Reported sales less than real orders | “Unprofitable” ads, real customers arriving | Lost events, pixel-only tracking | Implement and verify Conversions API |
| Every platform claims the sale | Totals exceed reality | Attribution overlap | Reconcile against your order system |
| Optimisation gets worse over time | Rising costs, fewer results | Low event match quality | Send full customer parameters server-side |

A worked example: one week of reconciliation
A store sells 100 orders in a week. Meta reports 130 purchases. Google reports 60. Added together, the platforms claim 190 sales from 100 orders — an obvious impossibility. After deduplication, Meta’s number falls to 95. After fixing a broken thank-you-page redirect, the remaining five orders appear. Now the store has one trustworthy picture: 100 orders, 95 attributed to Meta, the rest from other channels. Budget decisions made on 130 would have overspent. Decisions made on 95 are safe.
Notice what did not change in this example: the ads, the creative, and the product. Only the measurement changed — and yet the business’s decisions changed completely.
Frequently asked questions
How do I know if my tracking is broken right now?
Compare last week’s real orders with last week’s reported purchase events. If they differ by more than roughly 15% in either direction, something is wrong. That single comparison catches most tracking failures.
Is the browser pixel alone enough in 2026?
No. Privacy changes, ad blockers, and browser restrictions mean browser-only tracking steadily loses events. Conversions API from your server is now the baseline for reliable measurement, with the pixel as its partner — properly deduplicated.
Should I trust Meta’s numbers or Google Analytics?
Trust your order system for totals. Use Meta and GA4 to understand patterns — which campaigns, audiences, and pages contribute — not as competing totals to add together.
How often should tracking be checked?
Weekly, in fifteen minutes, plus a full check after any website change, checkout change, or new integration. Most tracking breaks silently after a site update nobody connected to advertising.
Can tracking be fixed without changing my ads?
Yes. Tracking fixes change measurement, not campaigns. That is precisely why they should come first: they make every later advertising decision more accurate.
The bottom line
Profitable advertising starts with one trustworthy number: how many real orders your ads produced. Until reported conversions match real orders, scaling is gambling. Run the diagnostic, fix the gaps, and reconcile weekly — and your ad account and your bank account will finally start agreeing.
If your dashboards and your revenue have never quite matched, book a free consultation and we will run this diagnostic on your pixel, Conversions API, and GA4 setup and show you exactly where the numbers diverge. You can also explore our services to see how we set up and maintain tracking stacks.