Skip to content

Latest commit

 

History

History
42 lines (32 loc) · 1.68 KB

README.md

File metadata and controls

42 lines (32 loc) · 1.68 KB

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.