Impression definitions: Publishers count the ad requested and advertisers count the ad displayed.
Large creatives have long load times resulting in differences in impression counts.
Latency: Any lag in the connection between the ad request and the displaying of the ad can create differences in counts; the user may navigate away before seeing the ad or page
Network connection and server reliability: An ad server may fail briefly, not receive a connection, or encounter an issue while logging a request, resulting in different counts.
Ad blockers: Publishers issue an ad request, but the ad is prevented from being displayed by an ad blocker.
Caching: A creative may be cached in the browser or on a proxy server; no ad request is seen by the advertiser server, which results in impression count differences.
Trafficking errors: An ad tag may be implemented incorrectly so that one ad server is able to see the impressions and clicks while another server doesn’t (or only receives a subset of the statistics).
Frequency capping: An advertiser’s frequency cap could prevent an ad request from being filled, which may cause different impression counts.
Timing differences: Ad servers may operate on different time intervals or time zones, which results in temporal differences.
Spam filtering: Ad servers may filter out spam impressions and clicks, impressions from robots and spiders, back-to-back clicks, and other activities. These filtering technologies are implemented in different ways; some servers may be more or less aggressive in their filtering, which results in spam and click count differences.
Ad Servers report clicks that result in a redirect to a web page. There is no guarantee that the visitor makes it to the webpage or isn’t further redirected.
The statistics are affected by a user who closes a browser after clicking an ad, hijacking (toolbars that redirect traffic), bots, and in some cases an ad server that times out. Ad servers accurately measure ad displays and clicks. They are not so accurate at telling you how many people visited a website.
A log analysers reports on pages served by a web server, it doesn’t see pages served from caching proxies used by ISPs and doesn’t see pages served from a browser’s cache. Log analysers accurately report server activity and nothing else.
Java script based metrics (like Google Analytics): Reports accurately if the end user has java script and no software that blocks your tracker (7-15% of computers have this depending on who’s metrics you are using). Java script based metrics tell you within 7-15% what pages have been viewed.
Coding errors on the website – checking web analytics tags are laborious which means it is easy to miss something. You can use this tool to check tags http://wasp.immeria.net/