Help Center Reporting Overview

How accurate is ad tracking and reporting?

Each impression, click and conversion is tracked via a unique link. Data is recorded immediately into our data warehouse and stored for further analysis and processing. Any discrepancies between our ad reports and reports by other ad servers, or web analytics applications, are likely affected by one or more of these factors:

Ad Blockers

When your visitors use an ad blocking software on their computers, they see the web pages but no ad. Since they do not see ads, no impression is recorded in our system. An impression is recorded when a beacon, a tracking image, is successfully loaded into the browser. An impression is not yet recorded when the ad tag is delivered. Ad blockers are designed to prevent images from loading and therefore the tracking image would not be requested from the visitor computer.

SSL vs. Non-SSL

If the website is secure, the ad tag should also be served via SSL. If there are multiple ad servers involved when serving ads on a secure website, all the ad tags should use their SSL/secure version. Some browsers will block non-SSL requests on a secure site. If a secure ad tag calls a non-secure ad tag, the first ad tag will record impressions while the non-secure ad tag is blocked. Thus, the non-secure ad tag generates no impressions and will result in a lower impression number.

Internet Latency

Visitor's Internet speed can be different across the countries. If there are many ads or heavy contents on a page, the display flow can be interrupted during a page load, which results in an impression gets record in one ad server but not another.

Multiple Ad Servers

If the ad is setup to redirect to another ad server, these ad requests form a chain of ad servers. Upstream ad servers are those near the beginning of a request chain. Downstream ad servers are those near the end of a request chain. Each ad server in the chain records an ad impression and then returns either (a) an actual ad, or (b) a redirect to the next ad server. In this chain, they depends on the other ad servers for recording the correct data and responding in a timely manner. Ideally, all ad servers records one impression each and the final ad server displays the actual ad. However, there are cases that this chain is broken:
  • If visitors move quickly from one page to another page before all contents and ads on the page can finish loading, some ad impressions might be recorded at the first ad server but not at the second ad server.
  • If a third-party ad server is slow or down, it is timed out (by the browser, or by the visitor). It does not log any impression while the upstream ad server(s) already logged the impression before passing to a downstream ad server.
  • If an ad server blocks/filters the impression because of its own policy/targeting while the other ad servers might still record a valid impression. See section Different Restrictions/Targeting below for an example
  • If an ad server has default/fall-back setting on this creative, it might not record any impression and simply returns the default/fall-back ad tag while the upstream ad server already recorded one impression and redirected to the next ad server.
  • If a non-SSL ad tag is mixed within a SSL ad tag, the non-secure ad tag might be blocked by the browser. See section "SSL vs. Non-SSL" for more details.
  • If you have multiple third-party impression tracking pixels, make sure the ad tag also show multiple pixels.

Non-Human Activities

Our ad server blocks web spiders, bots and other IP addresses that are determined to be non-human using both advanced algorithms and manual investigations to prevent and stop inflated impressions/clicks. Each publisher can also set to exclude or block IP addresses. These IPs can be testing/internal IPs or malicious sources.

Reporting Period

To compare reports between two system, make sure that they are for the same time period and the same time zone. Thus, the numbers will be different if an ad server reports in U.S. Pacific Time and another ad server reports in European Western Time, a different time zone.

Auto-Refresh Setting in Ad Tag

If the ad tag uses auto-refresh, or impression recycling, feature, which automatically reloads new ads after a number of seconds. This setting will fetch new ads without any page refresh. It is useful for "sticky" or long content pages. Ad impressions will be many times more than the number of pageviews.

Caching Proxy

A caching proxy and content delivery network (CDN) is designed to speed up page loading. It can cache different page components, including JavaScript and images, and serve directly to the visitors. This is ideal for static assets but can cause issues with dynamic requests like ad serving. If not configured properly, it can cache dynamic ad calls and the ad might not be loaded properly each time the visitor views a page. If you use CloudFlare, we recommend you to turn off CloudFlare's RocketScript handling (i.e. Rocket Loader) for all ad tags.

Different Restrictions/Targeting

In this scenario, an ad is served in our system but is restricted in the other ad server due to additional or deeper targeting criteria. For example, there is a frequency cap in the other ad server for 2 impressions per visitor per day while this restriction does not exist in our system. Thus, after 2 impressions, our system will record impressions while the other system does not.

Another example: this ad geographically targets the whole USA in our ad server but has a deeper geo-targeting only to the state of California, USA in the other ad server. In this case, visitor from New York will get recorded in our system but not in the other ad server. As a solution, both systems should share the same settings, restrictions and targeting criteria.

Different Definitions

There are many different metrics in measuring website traffic and advertising traffic. It is important to understand the difference between the terms.

Pageviews vs. Hits

Hits often include all objects (images, javascripts, CSS files) on the page. Thus, hits should be many times more than pageviews. For the purpose of comparing and checking reports, pageviews should be used instead of hits.

Referring Data vs. Link Tagging

Referring information is useful but not reliable. Link tagging on the landing page is a more reliable method to account for all traffic.

Collecting and Presenting Data

Numeric counters are recorded for every single impressions, clicks and conversions. On the other hand, detailed profile about your visitors are retained on a representative sample and frequently purged to protect visitor's privacy according to our Privacy Statement.

Fraudulent Activities

Your website can be targeted by someone to artificially inflate the numbers by automatically viewing or clicking on ads. Invalid clicks are considered one of the most serious issues to online advertising. Our system utilizes several layers of fraud prevention to protect data integrity including but not limited to unique signature on ad requests, global dynamic blocked IP list, behavior detection.

Inflated Pageviews

The page view numbers can be inflated by refreshing the page again and again. In more advanced cases, a script/software can be written to simulate a human visiting a random or preset sequence of pages. If a page is not fully loaded before the browser is terminated, or an automated software to fetch a page then the ad will not be counted while the pageview counter will increase. To detect this, you can sort the web logs for the most frequently accessed IP addresses.

Ads in HTML Email/Newsletter

If you include multiple ads in a HTML email newsletter, you might expect all ads get the same number of views. However, it might not be the case and the impression number for each ad might be slightly different. The reason comes from the fact that people move between email messages rather quickly. We all have a constant stream of incoming email every day and it has become a habit of quickly scanning and cleaning out messages. Most email software or email app support up/down/left/right arrows and keyboard shortcuts to move between messages quickly. A reader can delete or move to another email while the whole content of the current HTML email is still loading. When this happens, some components, including ads, are not yet loaded. Thus, this email message is only partially loaded. Ads on the top likely have more impressions than ads placed near the bottom of the email.

Other Considerations

  • Public vs. Private Pages - A server-side web log likely includes private pages while a remote-hosted tag is often placed only on public pages
  • AJAX, JSON, code snippet vs. a full page view


If you would like us to investigate a reporting discrepancy or a data accuracy issue, please describe the issue with details and send us a detailed report from the data provider (web analytics software or another ad server) for the affected period with daily/hourly breakdown numbers.

Other Articles in Overview

Reports on impressions, clicks, geographical, and technical data

Cannot find an answer for your question? Ask our Customer Care team