HeadCount0

Guides / Conversion / 8 min read / Updated 1 August 2026

Is your conversion tracking lying to you?

This is the cheapest performance work available and almost nobody does it, because it is unglamorous and because the dashboard looks fine. The dashboard always looks fine.

The short version

  • Take one settled day. Count orders in your back office. Compare to what each ad platform reported. If they do not roughly reconcile, stop optimising and fix this first.
  • The usual culprits: the tag firing on every page, a reachable and refreshable thank-you page, missing deduplication, test orders, and the wrong value being sent.
  • Some divergence is attribution, not error. Knowing which one you have is the whole skill.

The ten-minute check

Pick a day at least a week ago, so attribution windows have settled. Then:

  1. Count the real orders for that day in the system that takes the money — Shopify, Stripe, your CRM. This is truth, because it is the only system with no opinion about who deserves credit.
  2. Note the total revenue for those orders.
  3. Open each ad platform and pull conversions and conversion value attributed to that day.
  4. Compare.

You are not looking for an exact match — you will not get one, and expecting one is its own mistake. You are looking for whether the numbers live in the same universe. If your store did 20 orders and Google reports 74 conversions, you have a bug, not an attribution nuance. If the platforms together claim 26, you are probably looking at overlapping credit, which is normal and needs a different fix.

The five ways it usually breaks

Attribution is not the same as an error

Once the bugs are out, the numbers still will not agree, and this is where people either shrug or start a war between channels. The differences that remain are usually structural:

The practical rule: use platform numbers to compare campaigns within that platform, and your own order data to decide what the whole channel is worth.

Server-side tracking is not automatically the answer

Sending events from your server rather than the browser genuinely helps with ad blockers and browser restrictions, and it is worth doing. It is not a fix for measurement being wrong.

A server-side setup with no deduplication makes double-counting worse, not better. A server-side setup sending the wrong value sends the wrong value more reliably. Get the events correct first, then move where they are sent from.

What good looks like

Expect the numbers to get worse

When tracking is fixed, reported conversions usually fall. That is the point, and it is worth telling whoever reads the report before it happens rather than after.

An inflated conversion count is not a harmless vanity metric. It sets bids, it sets budgets, and it makes losing campaigns look like winners for as long as nobody checks the bank account. Accounts go quietly broke this way with a green dashboard the whole time.

Common questions

My platform reports more conversions than I have orders. Is that always a bug?
Not always, but a large gap usually is. Rule out double-firing, a refreshable thank-you page and missing deduplication first. What remains after those is attribution, and attribution overlap between platforms is expected.
How often should I check?
Monthly as a habit, and immediately after any change to the site, the theme, the checkout, or the tag manager. Tracking almost never breaks loudly.
Is GA4 or the ad platform right?
Neither, exactly. They use different models and windows, so they will disagree permanently even when both are installed correctly. Your order data is the arbiter of how many sales happened; the platforms are only useful for deciding which campaign to change.

If you would rather not do this yourself

The listings this guide is about. Every one prints its price and names the company that sells it, and the status is what it says it is.

Nothing above is a promise of a result. Read the disclaimer for what this site refuses to claim.