
Open the visual model ↗
Freeze two comparable exports
Export both systems before changing tags or campaign settings. Use the same inclusive date range, named time zone, line items, creative IDs, placement set, device scope, and invalid-traffic treatment. Exclude unfilled requests when the comparison concerns served ads. Record each export's generation time because one platform may still be processing late events. A screenshot of totals is not enough; retain the daily rows and report configuration.
Name the event in each column. A publisher ad server may count when a creative begins to load, while a third-party tracker fires later. Page views, ad requests, code serves, rendered impressions, measured impressions, viewable impressions, clicks, and landing sessions have different denominators. The first task is to find a like-for-like pair. If none exists, describe a funnel between rungs instead of calling the difference a reporting error.
Source notes: Investigate report discrepancies · Counting impressions and clicks
Show the arithmetic in both directions
Use one agreed controlling denominator for the investigation. A common worksheet calculates difference as publisher count minus buyer count, then divides by the controlling count. Also show the absolute difference. Small campaigns can produce alarming percentages from a handful of events, while a modest percentage on a large campaign can represent meaningful inventory. Never switch denominators halfway through a thread because another version produces a friendlier percentage.
Illustrative example: the publisher export shows 102,400 rendered impressions and the buyer tracker shows 96,000 for the same UTC window and creative set. The absolute difference is 6,400. Using publisher renders as the agreed base gives 6.25%; using buyer impressions gives 6.67%. The worksheet records both, labels the contractual base, and avoids rounding either into a vague seven-percent claim. These figures are invented to demonstrate the method.
| Check | Publisher | Buyer | Finding |
|---|---|---|---|
| Window | Sep 1–7, UTC | Sep 1–7, UTC | Matched |
| Creative set | A and B | A and B | Matched |
| Count point | Begin-to-render | Tracker fires after tag load | Different rung |
| Count | 102,400 | 96,000 | 6,400 gap |
| Gap on publisher base | 6.25% | — | Investigate by day and creative |
All values are illustrative; the agreement must identify the controlling measure.
Source notes: Investigate report discrepancies
Localize the first break
Break both reports by day, creative, placement, device group, and delivery path. Do not begin with dozens of dimensions at once. Find the smallest slice that explains most of the absolute gap. If 5,900 of the 6,400 missing events occur on creative B after a tag change, inspect that route first. A stable proportional gap across every slice points more strongly toward counting methodology or filtering than a single broken asset.
Then walk the event sequence: ad response, creative download, tracker request, render, viewability, click, and landing. Browser departure, blockers, latency, network failure, passbacks, malformed macros, geography mapping, and distinct invalid-event filters can separate the counts. Preserve failed requests and status codes where available. A plausible cause is still a hypothesis until a test reproduces it or the partner confirms it.
Source notes: Investigate report discrepancies · Counting impressions and clicks
Resolve the commercial record separately
The campaign order should say which measure controls billing and what happens when reports differ. During reconciliation, keep the original invoice support frozen. Issue a corrected report as a new version with changed fields and reason. If the evidence does not isolate a defect, record the remaining methodological difference rather than assigning blame. Vendor documentation can describe expected causes, but it does not decide the parties' contract.
Close with five fields: accepted counts, controlling denominator, root cause or unresolved status, financial treatment, and preventive change. For the example, the parties might exclude the affected creative's unverified days, repair its tracker, and monitor three subsequent days. That is an illustrative remedy, not a default. A clean closeout lets the next discrepancy start from evidence instead of reopening the entire history.
- Investigate while delivery is still live and reproducible.
- Compare raw counts before percentages.
- Keep report revisions and invoice decisions linked but distinct.
- Do not call ordinary system differences fraud without evidence.
Source notes: Investigate report discrepancies
Continue the work
Sources & limits
Google's documentation describes its own system and common troubleshooting patterns. It does not establish universal discrepancy tolerances or override a campaign's written measurement terms.
- Investigate report discrepancies
Google Ad Manager documentation · Publication date not stated · Primary source checked · 19 September 2026 - Counting impressions and clicks
Google Ad Manager documentation · Publication date not stated · Primary source checked · 19 September 2026
Source claims and editorial judgments remain separate. Send a correction with the passage and supporting evidence.

