Investigate report discrepancies

Why DFP reports might differ from other reports

Reporting discrepancies are common and expected when multiple systems are used to measure line item delivery. It's best to investigate discrepancies while a line item is still running, since there are fewer troubleshooting steps available after a campaign has ended.

Before you begin investigating

Verify that both reports:

  • Cover the same date range, using the same time zone.
  • Include the same line items or ads.
  • Exclude unfilled impressions, as these can inflate DFP numbers.

Differences with third-party reports

When an ad server delivers line items that are hosted by a third party, reporting discrepancies between the two systems occur, and it is common to see campaign variances of up to 20%.

Common causes

  • Incorrect DFP creative setup: Click-trackers and other macros must be implemented properly to track events accurately. Contact your creative developer, advertiser, or third-party for guidance.
  • Impression counting differences: Ad servers have different methods for counting impressions and filtering invalid impressions. Learn about how DFP counts impressions.
  • Different geography definitions: Different ad servers map IP address location data differently, which can lead to significant discrepancies.
  • Latency: Lag between an initial line item request and the appearance of the creative can lead to differences in counts. For instance, a user often navigate away after the browser receives the DFP line item request but before the third party responds with the requested line item, or a user may click on a link but navigate elsewhere before the landing page has loaded.
  • Network connection and server reliability: A third-party ad server may fail briefly or encounter an issue that prevents it from logging an impression.
  • Ad blockers: Ad blocking software can prevent the line item from being delivered by the third party after DFP has already counted an impression.
  • Low impression goals: A small numerical discrepancy can cause a high percentage discrepancy if the line item delivered few total impressions. For example, if you have a campaign delivering 100 impressions per day, a single-day discrepancy of 30 impressions lead to a single-day discrepancy of 30% even though the actual number of missed impressions is low.
  • Passbacks and calls to other third-party servers: Each third-party ad server can lead to campaign variances of up to 20%. If one third-party server points to yet another third-party server, the expected discrepancy increases.
  • Google Publisher Tags (GPT) setup: Make sure that all ad tags defined in the header are also displayed in the body of the webpage. Ad tags that are defined in the header but not displayed in the body are counted as impressions whenever the tag is loaded, but they don't make calls to third-party servers, which leads to discrepancies.
  • Third-party day/time targeting: Day- or time-targeting on the third-party ad server can lead to DFP counting an impression when the third party doesn't return a creative.
  • Third-party frequency capping: A third-party frequency cap can prevent an ad request from being filled despite the fact that DFP has counted an impression.
  • Multi-use creatives: Has the third party that the same tags have not been provided to any other publishers?

Differences with DoubleClick Campaign Manager reports

If you're working with DoubleClick Campaign Manager (DCM) creatives, make sure you use the "DoubleClick" creative type. When this creative type is used, DFP coordinates impression counting to reduce discrepancies within 2%.

If you traffic a DCM creative tag using any other creative type, such as "Custom" or "Third-party," discrepancies up to 20% can be expected. Refer to the "Differences with third-party reports" section above for troubleshooting tips.

Common causes

  • Creative reassignment: Have you or the advertiser made any changes during the time in question (e.g., reassigning or modifying creatives)?
  • Creative code issues: Does the advertiser code load properly? Perform live tests on web pages where the line item should deliver to verify that the correct ad tag calls are being made.
Was this article helpful?
How can we improve it?