Why analytics and ad network numbers never match

Some of the gap between clicks billed and visits counted is physics, some is measurement, and some is fraud. Getting money back depends on telling those three apart.

Last updated

A click and a visit are different events

The network bills the click at its own redirect, before your site is involved at all. Your analytics counts a page that finished loading and ran a script. Everything that happens between those two moments, on the network side and on yours, is the gap.

The honest losses

  • Abandonment: slow landing pages lose real people between the click and the load, and lose more of them on mobile connections.
  • Blocked scripts: in-app browsers and privacy tools stop the measuring script for a slice of genuinely human visits.
  • Redirect chains: every hop between the click and your page leaks a percentage of real traffic.

The dishonest loss

A bot can register a billable click and never render the page, so it exists in the count from the network and never in yours. The server-side view records requests the browser script never saw, which is how that slice gets measured instead of guessed.

Put a number on each slice

  1. Compare the click count from the network with your server-side request count for the landing URL. That difference is mostly network side loss.
  2. Compare server-side requests with tracker pageviews. Requests with no tracker event are clients that never ran JavaScript, which is where click bots live.
  3. Inside the tracker measured visits, read the bot classification to catch the automation sophisticated enough to run JavaScript.

Take the reconciliation to the network

When the bot slice turns out to be real money, bring the numbers rather than the outrage. The evidence pack that works leads with identifiers and volumes, uses the industry vocabulary, and keeps confirmed and suspected traffic honestly separated.

Frequently asked questions

What match rate between clicks and visits is normal?
There is no universal number, but a clean source loses a single digit to low double digit percentage to load abandonment and blocked scripts. A source that loses 40 percent of its clicks is telling you something about either its speed or its traffic.
Is the missing traffic always fraud?
No. Slow pages, redirect chains, and script blocking all eat real clicks from real people. Fraud is the slice that never attempted to render your page at all, and that slice is measurable rather than guessable once server-side and browser counts exist side by side.
Which count should I trust?
Neither alone. The server sees every request including the bots; the browser tracker sees engaged clients that ran your page. The truth needs both, which is why the two are collected and compared rather than picking a favorite.