Today, I researched this thing over the internet and saw many people who have the same doubt who are using Cloudflare’s cache (cache everything setting). I had the basic idea that it should not matter as they both are independent and provide different services.
I am using these services together i.e. Cloudflare (free), Jetpack CDN (free), and Google Adsense in my blog. So all my images come from Jetpack’s CDN, all my self-hosted CSS and JS files are cached with Cloudflare + proxy server protection from hackers comes from Cloudflare’s network and I am monetizing my content with Google’s Adsense.
Reasons that Cloudflare Caching is not blocking or have any negative effect on AdSense ads
Here are a few reasons to clear your mind when having doubts about cached ads and google not registering clicks and pageviews.
Google ads are asynchronous (can load, unload or refresh ads any time between the page loads and even after page loads) and load with javascript dynamically and can not be cached in the browser like other elements like self-hosted images, self-hosted JS files, self-hosted CSS files, HTML, etc.
Scripts from Google Adsense are loaded through google servers so Cloudflare has no influence over it and does not cache google scripts or any other script loaded from another domain to its servers.
Here’s what google AdSense script looks like. The script is hosted on to – https://pagead2.googlesyndication.com/
<script data-ad-client="ca-pub-2762737943861458" async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script>
Similarly with google analytics is also served by Google servers and not Cloudflare’s servers and can not be cached by Cloudflare onto its servers.
Live Test:
Check one of the tools I created and cached everything with Cloudflare which also has Adsense ads showing up.
Open this page in a new tab – https://tools.webdevpuneet.com/image-compressor/
After the page is completely loaded, disconnect your internet connection and refresh the page. You will observe that all HTML, CSS, JS gets loaded due to the local browser cache and no ads appearing.
This can be simple proof to state that Google advertisement images are never cached with Cloudflare or in your browser and load only when you are online.
Conclusion
Cloudflare only caches your website content. It does not affect external contents and Adsense ads are external contents render through javascript from Google servers. They both are actually friends together and compliment each other. Fast page loads give a better advertisement experience and users are happy with the overall experience.