Check if a browser has an Ad Block plugin enabled
JavaScript
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
test
LICENSE
README.md
abt.js
abt.min.js

README.md

ABT - Ad Block Test

##Simple script to test if the browser is blocking ads.

Introduction to project and interactive demo on my blog: http://esd.io/blog/detecting-adblock-javascript.html

[...]
<script>
// We inline abt.min.js rather than link to it so that it's harder for an Ad Blocker to whitelist 
// it. (don't worry it's short!)

// ^^^^ Paste contents of abt.min.js here ^^^^

ad_block_test(function(is_blocked){
 // Note this function may not run until some time later.
 if(is_blocked) {
  // if blocker detected, log a Google Analytics event
  var _gaq = _gaq || [];
  _gaq.push(['_trackEvent', 'AdTracking', 'AdBlockerDetected', 'ABT detected Ad Blocker in use']);
 }
});
</script>
</body>
</html>

See test/ directory for other usage examples and notes

Should work against any ad blocking plugin that subscribes to EasyList (or similar) and collapses ad elements.

Tested against:

  • AdBlock For Chrome and AdBlock Plus for Chrome
  • AdBlock Plus for Firefox

Script Goals:

  • Be able to gather general statistics about how many visitors are actively blocking ads via Google Analytics, Mixpanel, or other similar system.*
  • Minimal performance impact on visitors, whether they're blocking ads or not. The current script does not make any network requests.
  • Be conservative. Better to miss some ad blockers (false negative) than to incorrectly flag some browsers as having an ad blocker (false positive).
  • Minimal prerequisites. Does not require JQuery. Does not require a particular ad serving platform or even any actual ads on the page.

Note: People who block ads may also be blocking your analytics software. Some may even be running NoScript and blocking all javascript on your site.