Find out how many visitors block your ads with Adobe Analytics

Find out how many visitors block your ads with Adobe Analytics

October 26, 2015 Comments Off on Find out how many visitors block your ads with Adobe Analytics By Michael Lee

Adblockers can do much more than blocking ads


Adblocking software can sometimes disable your A/B testing tool, social widgets, and even make some of the non-ad contents invisible.  For digital marketers and site owners,  it is important to find out whether these software are affecting the user experience of the site.

Adblocked visitors can be tracked

The good news is that it is very EASY to find out how many of your visitors turned on adblocker.  The default setting of many adblocker does not block Adobe Analytics, which means you can detect whether a visitor has adblocker turned on, and capture this piece of data in your analytics tool.  For publishers, it is almost a SIN not to have this piece of data in your analysis, because adblocked page views directly impact your bottom lines.  In this short post, we’ll use Adobe’s Dynamic Tag Manager(DTM) to capture adblocked visitors data, and provide some sample reports. Remember, this is the data from your own site captured using your own analytic tool, not some sampled research data.

What is the percentage of total page views that are viewed with adblocker turned on in my site?


Which channel and specifically which campaign tends to bring a lot of adblocked traffic to my site?



Which geographic location (cities) has the highest percentage of adblocked page views?


Engagement, Adblockers vs. Non-Adblockers

Once you have this piece of data in Adobe Analytics, the reporting possibility is infinite.  For example, you can compare different engagement metrics such as Time Spent per Visit between Adblocker visits vs non-adblock visits.



I am going to use Adobe’s Dynamic Tag Manager, but it should be very easy to use GTM to do the same thing.  The logic is simple. We will create a piece of invisible content that looks like an advertisement to adblockers, and check whether this ‘advertisement’ is visible or not as the page loads. If not, we know that adblocker has been turned on.

Step 1

Make sure Adobe Analytic is load at the page bottom


Step 2

Enable a new Custom Traffic Variable in the Report & Analytics interface to capture whether adblocker is turned on. We will use ‘prop10’ in this example.

Step 3

In the Custom Page Code section of the Adobe Analytics module, paste the following code in the editor. As you can see from the code below, if we detected the ‘advertisement’ is present, we’ll set the value of s.prop10 to ‘Ad Blocker Present.  If not, set the value to ‘Ad Blocker Absent’.  We are also removing this invisible ‘ad’ dynamically at the very end.

var adBlockerDiv = document.createElement("div");
adBlockerDiv.className = "advertisement-swimlane advertisement-tag advertisement-text advertisement-top advertisement-txt advertisement-wrapper advertisement1 advertisement300x250 advertisement468 advertisementBackground advertisementBannerVertical advertisementBar advertisementBlock advertisementBox advertisementCenterer advertisement-right advertisement-right-rail advertisement-sidebar advertisement-space advertisement-sponsor";
adBlockerDiv.innerHTML = "advertisment"; = "hidden";
if(adBlockerDiv.clientHeight == 0 || adBlockerDiv.offsetHeight == 0 || adBlockerDiv.clientWidth == 0 || adBlockerDiv.offsetWidth == 0) {
s.prop10 = "Ad Blocker Present";
else {
s.prop10 = "Ad Blocker Absent";

Step 4

That’s all, make sure you tested the code using the DTM Switch Chrome add-on.  I like to use Adblock Plus for testing, because it is one of the most widely use adblockers out there.

Once tested, simply Approve and Publish your changes.  While you are waiting for data to come in, you can go to Report & Analytic interface to create Segments based on the value of prop10, and Derived Metrics.  If you are not sure of how to do that, there are plenty of tutorial videos available in Adobe’s Youtube Channel.


I hope you find this post useful.  I wasn’t the person who came up with this method, but I”ve verified it, and it works. If you have any comments or suggestions such as a better method or code, feel free to leave a comment and we can chat about it.


Comments are closed