From September, Flash will no longer be supported by Chrome. Prepare for the shift towards HTML5 by visiting our Flash to HTML5 help page

Check it out!

Stats Discrepancies

Why do we experience discrepancies between Adform and other systems?

You may have noticed that number of impressions/clicks/conversions collected in different systems is always different. In this section you will find answers to 4 most common questions: 

  • Q1: Why does the number of impressions and/or clicks differ between publishers and 3rd party ad servers?

    Why does the number of impressions and/or clicks differ between publishers and 3rd party ad servers?

    Different systems have different ways of counting impressions and clicks (different technologies as well as different points when impression/click is registered). Certain amount of users with ad-blockers is also one of the reasons for discrepancies (Ad blockers block the 3rd party script while publishers’ script is not blocked). Due to these and other technical reasons the IAB recommends a tolerance of up to 10% discrepancy (based on the publishers’ numbers).

    There are few checks that can be performed before the campaign goes live in order to reduce the discrepancies:

    • Trafficking errors (human error while implementing 3rd party tag, cache-buster/timestamp, …)
    • Heavy Creative (in case of rich media ads)
    • Page download time and priority (ads vs content)
    • Redirecting ad calls (characters in redirect URLs)
    • Browser issues (test ad on all browsers / devices / operating systems that ads are meant to run on)
    • iFrames (make sure the tag is implemented correctly and the ad is loaded properly

    If the discrepancy is higher than 10% a deeper investigation is needed. If discrepancies occur on a campaign which is currently live, please check the tag implementation on a live page. If a campaign has ended, it is recommended to analyze compare reports between the two systems.


  • Q2: I can see a big discrepancy between Adform numbers and publisher numbers (it is way over 10%). How should I proceed?

    The majority of higher discrepancies can be explained by different campaign setup between the systems, different reporting periods, changes made in the middle of campaign or different way of counting/reporting impressions and clicks. This is why before checking the ad implementation it is recommended to check the following:

    • How many Adform tags were sent out
    • Were all of them generating impressions and clicks
    • Were there any additional ads for this campaign running without Adform tracking on publisher side
    • Is the publisher reporting on all clicks/impressions or are they filtering something out (i.e. counting one click per impression or one impression per user for the specific timeframe)
    • What kind of Adform tags were used (iFrame, JavaScript or Invisible)
    • What ads were loaded inside Adform tags (image, flash, rich media, synchronized, In-stream, …)
    • Adform delivery per date for each tag separately (were all ads live on the same timeframe)
    • Publisher delivery per date for each ad (make a day-by-day comparison)
    • Are both reports for the same time zone
    • Are both systems counting impressions/clicks the same way

    If the campaign setup was identical, all ads had Adform tracking and none of the days / tags showed any significant discrepancy, please also check how ads performed on different devices / browsers / operating systems (you can check the report called Technical Performance).

    If you experience discrepancy in clicks, please also check clicks data export (it shows click raw data + robot clicks that have been filtered out from all other Adform reports).

    Ask for a link where you could see the ad(s) live and check the implementation. When checking implementation follow the steps defined under Q1.

  • Q3: I usually see much higher discrepancy rate on my mobile campaigns compared to desktop campaigns. Should I be concerned?

    Discrepancies on tablets and mobile devices are usually much higher compared to desktop campaigns. There are few reasons for that. Firstly, internet connection is reliable, stable and much faster on desktop and laptop compared to other devices. Also, while standard display is something that has been used for quite some time, mobile / tablet online industry is still developing (there are new devices, operating systems and browsers introduced constantly). So, mobile industry has not reached the same stability as desktop yet and as a result you can often face higher than usual discrepancy rate on mobile/tablet campaigns. 

  • Q4: I can see discrepancies when comparing Adform conversions with conversions collected by another system for the same advertiser / campaign / media. How should I proceed?

    Conversions / orders that users make on clients’ site can be tracked in various ways. So, before starting the investigation it is very important to make sure you know how conversions are registered in both systems:

    • Adform conversions compared to conversions registered by advertiser itself

      • Make sure the right tracking point is set as conversion in Adform
      • Make sure to report on total conversions in Adform - all campaigns + non-campaign
      • Compare Adform conversions with advertiser conversions by date
      • Report on Adform conversions with various uniqueness levels: all conversions, conversions (no repeats) or conversions (orders) if order id is passed to Adform
      • If needed, ask advertiser to provide raw data of conversions registered (with exact time-stamp, user IP address and order id for each order separately). Compare the raw data with data export in Adform
      • Check the URLs Adform has registered (the same tracking point could be placed on multiple pages)
      • If possible, compare conversions between the two systems by device / OS / browser
      • Make a test purchase in order to test whether Adform tracking point is firing correctly
      • Adform conversions compared to conversions registered by another system (i.e. Google Analytics)

     Conversion distribution between channels will always differ between two systems due to different campaign / channel setup, different tracking methodologies as well as different attribution algorithm and cookie life-time. So, the most important thing is to keep in mind that you should never compare conversions that are attributed to specific channel / campaign / media / banner, you can only compare total conversions between the two systems (nothing should be filtered out).
    When making comparison you should follow the same process as the one described above.


    • Adform conversions compared to conversions registered by specific publisher (post click / post impression)

      • Make sure you know the answer to how publisher is registering conversions: is publishers’ pixel placed directly on advertisers’ site or is it placed inside Adform container
      • If it is placed inside Adform container, then check whether it is set to fire on condition (only after click or after click and impression)
      • If publishers’ pixel is firing unconditionally, post click and post impression conversions cannot be compared due to different campaign setup, attribution methodology and cookie lifetime
      • If container is set to fire after click for that specific publisher, post click conversions between the two systems should match. Please note that if the same publisher is running multiple campaigns at the same time, you should check post click conversions from all campaigns at once in Adform.
      • If container is set to fire after click and impression, post impression conversions will also differ due to specific Adform attribution methodology (conversion is attributed to the last impression before the session while container fires for last impression)
      • Double-check what is the cookie lifetime set for impression and click on both sides