As per my knowledge, there’s no native Adobe Analytics feature for detecting ad blockers. But it is possible to implement a custom detection and pass that info into an eVar or prop.
We could use a small inline detection script that tries to load a known “ad-like” file (like ads.js or something with a common ad-related name). If it fails to load, we mark the user as having an ad blocker.
Here’s the general approach:
-
Place a dummy script or div element with a class name like ad-banner that ad blockers typically block.
-
Use JavaScript to check if that element loaded or rendered.
-
Based on that result, set a boolean or flag ('adblock_detected' = 'true'/'false') and pass it into Adobe using s.eVarXX = 'Ad Blocker Detected' or similar.
You can also directly check for a specific script/object being loaded. If your concern is whether a particular tool/script (e.g., chat, A/B testing, personalization) was loaded, check for its presence like:
var toolLoaded = typeof window.ToolName !== 'undefined' ? 'Loaded' : 'Blocked';
s.eVarXX = toolLoaded;
This only works for users who haven't blocked Adobe Analytics itself. If the tracking script is blocked entirely, you obviously won’t get any data back for those sessions — so the true number of ad blocker users is likely underreported.
Lastly, if you use tag managers (like Launch), make sure your detection runs early enough in the page lifecycle so you can pass that flag into your tracking calls without race conditions.
Hope that helps!