Contact support

Troubleshoot counting discrepancies

About counting discrepancies

Counting discrepancies between systems can occur whenever more than one party is involved in the ad serving process; for instance they can occur when a publisher integrates a third party script (agency script) in an insertion. Counting discrepancies of up to 10% are considered tolerable and do not require investigation. This article explains what to check in order to identify the causes of counting discrepancies.

Step #1 - Compare equivalent data

Check if the data from Equativ really corresponds to equivalent data in the other system:

  • check if the report dimensions and the report scope are matching; for instance, you may be comparing data “by insertion” (from Equativ) with a report “by creative” or “by format” from the other system
  • check if the date range of both reports is the same

Step #2 - Create granular reports

Create granular reports to view the data with a greater level of detail, which makes it easier to spot issues. If appropriate, copy the data into an Excel file for comparison (optionally, create an Excel diagram). Some examples:

  • if geo targeting was active in both systems, create reports “by country” and compare them; Equativ and the other system may attribute the same end users to different geo-locations which can be the reason for discrepancies
  • a report “by platform” (desktop, mobile, in-app) may show that counting discrepancies are related to a specific platform; for instance, discrepancies may only appear in in-app insertions (iOS/Android SDK) while mobile web insertions show no discrepancies
  • granular time dimensions (e. g. by day, by hour) may show that an issue occured at a specific time; check the insertion history for relevant modifications

Step #3 - Compare the campaign settings

Check your insertion settings and compare them with the ones in the other system. Some examples:

  • check if both systems implemented the cache busting macro ([timestamp] in case of Equativ); this macro must be replaced by a new random number upon each ad call to make each call unique - the browser will then retrieve the ad from the ad server rather than from the browser cache
  • check if the third party scripts have been integrated in the correct insertions
  • check if both systems use the same time zone; different time zones lead to different start and end date/time of the insertions (line items)
  • check if the other system is pausing delivery during certain time slots (no ad delivered - thus, no impression counted)
  • check if the third party has defined a frequency capping; users who have reached the frequency cap will end up with empty ad delivery (impression counted by Equativ but not in the other system)
  • check if the same agency script has been used with other publishers; this would explain more impressions counted by the other system

Step #4 - Determine counting methods in both systems

Counting discrepancies may be due to different counting methods of the two systems; some examples:

  • depending on the script template used, Equativ counts impressions either server side (ad requests = impressions) or client side (creative rendered in browser = impression); ask the agency for documentation to see if their system counts server side or client side impressions
  • in the context of video ads, one system may count the ad requests (to get the video) as an impression while the other system may count the start of the video playback as an impression
  • Equativ and the other system may apply different deduplication rules; for instance, multiple clicks from the same user within a specific timeframe may be considered fraudulent and thus deduplicated by one system (only counted once) but not by the other system; get back to your contact at Equativ for more details and ask the agency for detailed documentation about deduplication in the other system

Step #5 - Analyse live delivery

If the campaign/insertion in question is still active, go to the website where it is delivered. Analyse the requests and responses using a web debugging tool such as Chrome DevTools. Some examples you may spot with this method:

  • check if http/https conflicts occur: if the website is https. then all counting pixel calls must be https as well - unsecure calls (http) are cut off and thus will not count impressions
  • check if page drop-offs (leaving the page before it is fully loaded) could lead to counting by Equativ but not by the other system
  • in the context of video players (VAST ads), pixels may not be fired correctly by both systems if the players do not fully support the VAST standard

Step #6 - Contact support

If the checks listed above cannot explain the discrepancy, you may want to contact Equativ’s Support Team. Make sure you provide the following information:

  • the granular reports from both systems (see "Create granular reports" above); make sure the data of both systems are in the appropriate row in order to compare them easily; if appropriate, highlight the rows where you see discrepancies
  • the insertion ID(s)
  • the URL of the web page, test page, and/or preview page the insertion(s) is/are being delivered to
  • the original ad tags (as provided by the third party)
  • if a Equativ ad tag has been placed into another system, a screenshot of the edited ad tag in the other system
  • in case of RTB+, the delivery rules and deals which may be affecting/targeting the insertions
  • in case of RTB+, reports from both systems with aggregation "by insertion" and the following metrics: Auctions, Bids, RTB+ impressions and their equivalents in the third party system