AdSense count page views and impressions only when AdSense ad code is executed by a user’s browser. There are therefore several factors that would cause a discrepancy between the statistics you register in your logs and those listed in your AdSense account.
Instances that wouldn’t execute the code include:
- Spiders, robots, or crawlers from other search engines
- Browsers that don’t support the <iframe> tag
- Programs that people may have written to grab website content
Another reason why you might see a difference between your AdSense reports and your own statistics is invalid activity.
AdSense remove clicks and impressions derived from some forms of invalid activity from AdSense reporting data, so you might see slightly higher metric values for clicks and impressions in your own statistics.
Watch the video below to learn more about the different forms of invalid activity:
Also, if your pages display multiple ad units, keep in mind that AdSense will show multiple ad unit impressions for each page view.