Skip to content
All breakdowns

Where your conversion data actually goes

Most stores lose a large share of their conversion events before the ad platforms ever see them. The dashboard does not report a gap — it just optimises against whatever survived.

6 minute read

The loss is silent by design

When a browser-fired conversion event is blocked, nothing anywhere reports an error. The event simply does not arrive. Meta, Google and TikTok each continue reporting confidently on the subset that did arrive, and nobody looking at those dashboards has any way to tell that a third of the picture is missing.

That matters more than the missing revenue attribution, because the platforms use those events to decide who to show your ads to. Optimising against a filtered sample means optimising toward whoever is least likely to block tracking — which is not the same population as whoever is most likely to buy.

How a hundred purchases become the number the platform sees
View as table
How a hundred purchases become the number the platform sees
StageEvents arriving
Actual purchases100
After browser prevention74
After ad blockers63
After consent51
After mechanics44

Illustrative of the mechanism, not measured from a client account. Real loss varies substantially by market, device mix and consent implementation.

Where it goes, roughly in order

Tracking prevention built into the browser removes a share outright, before any extension is involved. Ad blockers take another. Consent banners, correctly implemented, withhold more. Then a further slice is lost to ordinary mechanics — the tab closed before the pixel fired, the redirect that dropped the parameter, the app that stripped it.

None of these are faults. Most are a browser or a user behaving exactly as intended. The mistake is building a measurement strategy that assumes they do not happen.

Why server-side changes the shape

Sending the conversion from your server rather than the visitor's browser removes the categories of loss that happen inside the browser. It does not — and must not — remove the consent requirement, which is a legal question rather than a technical one.

The catch is deduplication. Send both browser and server events without a shared identifier and every conversion is counted twice. Reported return looks excellent, budget increases on the strength of it, and the correction arrives a quarter later.

What to take from this

  • A conversion gap does not announce itself — the dashboard looks normal.
  • Partial data skews who your ads are shown to, not just what is reported.
  • Server-side collection fixes technical loss; it does not replace consent.
  • Without shared event identifiers, fixing the gap creates double counting instead.

See whether this is happening to you

The free diagnostic checks your storefront for exactly these patterns and tells you which ones apply.

Scan my store free