What adblockers block

April 6, 2015

The thing about adblockers is that they don't really block ads; determining what is and isn't an ad is an AI problem and we're nowhere near solving those. So what adblockers really block is signs and patterns that designate or suggest ads. The primary patterns that adblockers can use are URLs of resources being requested (such as images and other additional content) and the surrounding HTML context of these requests (including things like CSS tags).

(Many adblockers will allow you to inspect the patterns that they use in their preferences or advanced configuration system.)

No set of heuristics and patterns can possibly be complete. So in practice adblockers only block major sources of ads, because these are the sources of ads where the work of writing rules really pays off in a reduction of ads. In other words, adblockers mostly block decent-sized ad networks and pervasive places with ads like Facebook, Google, and YouTube.

Unless someone really goes out of their way to write rules, adblockers do not and will never block hand-crafted ads on small sites; there are no non-AI heuristics that can reliably figure out which bits of Jane's Fishing Information are ads and which bits aren't. Similarly, adblockers mostly don't block the various small scale ad networks that are active in niche areas like online webcomics, ultimately because they haven't annoyed anyone enough to write (and update) the blocking rules necessary.

The direct corollary of this is that even pervasive use of adblockers cannot kill advertising on the web. The only thing they can kill is mindless, computer-targeted advertising at mass scale. Such large scale advertising is attractive to a lot of people for a lot of reasons, but it is not the only advertising model for sustaining modest websites through ads.

(Adblockers can kill advertising on large sites because even if the large sites do entirely custom advertising systems, they are large enough that people will find it worthwhile to write the rules necessary.)

PS: There's an entirely separate discussion about whether adblockers can work in the long term if advertising people get determined enough. Ultimately the system of HTML, CSS, and JavaScript that displays ads on web pages is Turing-complete and so can be obfuscated in a nearly endless number of ways if website developers want to put up with the resulting complexity.

PPS: As it happens, large scale advertising networks are already often not an attractive model for modest websites with dedicated audiences because of various fundamental drawbacks in the model (like lack of control over what ads show on your website).


Comments on this page:

By Chris N at 2015-04-06 07:08:27:

You say that most adblockers don't block ads on webcomic websites. They definitely do, especially Project Wonderful, which is the ad network most webcomics use. Try it sometime with something like adblock plus or ublock. I've specifically whitelisted those ads (so long as they're not Flash because no I'm not opening my computer up to exploitation) to support the artists.

By cks at 2015-04-06 07:40:13:

Whoops, my error on that; I neglected to specifically check and relied on my memory (and assumptions).

By SJS at 2015-04-08 20:47:55:

NoScript lets you remove Javascript from (most) websites. So although HTML + CSS + Javascript is turing complete, and easy way to make the obfuscated ads go away is to use NoScript to block the Javascript.

NoScript (if you purge the default whitelist) eliminates the sophisticated ads, while AdBlocker (&c) elminates the unsophisticated ads.

For general browsing, that suffices for now. When you find a page that says "Javascript REQUIRED to read this page", a NoScript user casually browsing will just click on the back button / close the tab, and move on. The website expended time, money, programming effort, disk, and bandwidth to send data to a user who didn't even bother to look at their content.

Who will go broke first?

By cks at 2015-04-09 11:43:24:

While I love NoScript and use it extensively, I don't believe that aggressive use of it is feasible for most people on the web. There are simply too many places these days that don't work right (or at all) without JavaScript. Some of them are major web destinations; others are just places that people will probably wind up on from time to time. Unless you care deeply, an extension that clearly degrades or breaks half your web browsing is not viable.

(Adblockers succeed with people by being transparent to use; you install one and nothing changes except that a bunch of annoying stuff disappears. If they stopped being transparent and started breaking the browsing experience, most people would stop using them.)

By Joker_vD at 2015-04-21 06:15:53:

Recently, I've started to notice a new thing on many sites with ads: there is another text/picture under the ads that says "Please don't block our ads!". Of course, you can block such DOM elements as well, but still, that already kinda hints that the arms race is going on, and we might see "so insanely obfuscated JS that it's the task to understand whether it has to do anything with advertising is undecidable". Blacklisting ad-hosting domains as whole doesn't help, sadly.

Written on 06 April 2015.
« A note on the argument about the 'morality' of adblockers
How Ubuntu and Fedora each do kernel packages »

Page tools: View Source, View Normal.
Search:
Login: Password:

Last modified: Mon Apr 6 02:40:45 2015
This dinky wiki is brought to you by the Insane Hackers Guild, Python sub-branch.