How To Beat AdBlock
Tuesday, February 12th, 2008For years, I’ve been using a Firefox extension called Adblock. It uses publicly maintained lists to completely hide ads (and stops some JavaScript cookies) from the end user. Not only does Adblock hide the ad, it actually collapses the space where the ad should have been. This leaves more column space for text in ever shrinking content areas (see screen below). While great for users, this has been a thorn in the side of content producers and various internet portal companies. While some might say content producers have driven them to block ads by using obnoxious flash animations and JavaScript ads which actually extend out of the ad space, no one will argue advertisements support and make the web as we know it possible. In this article, I will describe how AdBlock works and how content producers can beat it.

Introduction to Adblock
Adblock Plus (available here) is a Firefox extension developed by Wladimir Palant from the original AdBlock code, allows users to subscribe to filter lists which are updated by regular users. A filter list just contains the URLs of ads for which the extension will block. These URLs can contain wildcards so all files under a certain path can be blocked (ie. http://i.l.cnn.net/cnn/.element/img/2.0/content/ads/* will block all of the ads under that path). Wildcards are an important part of blocking large amounts of ads, since updating a list with all of the ads displayed on the web would be a seemingly impossible task. That important fact brings us the answer to how to get around the system.
Beating The Blocker
Since maintaining a list of all of the ads on the internet would be arduous, to say the least, we can devise a plan to defeat Adblock. We simply need to mix advertisements and content images into the same URL path structure. I’ve noticed some sites already have started doing this (perhaps serendipitously). For instance, you may have noticed ads starting to reappear on IMDB.com. They appear to be mixing ads along with content images into the same cryptic directory structure (ie. http://ia.imdb.com/media/imdb/01/I/32/34/74/10.swf). Since the path is just a jumble of random characters, filter lists are unable to create wildcarded paths to block the ads without risking also blocking desired content (news images/logos). Content creators, like Yahoo, can place their ads on the same “edge” servers that hold their content. An application would need to be created so people can easily upload content to the servers and the application’s backend would create the random path structure needed to confuse AdBlock. Since new ads and content are continuously loaded into the system on a day-by-day basis, it would be extremely difficult for a third party to keep track of which content is true content and which are ads.
Implications
So with this technique for defeating AdBlock, the question comes back to: “Why is the user using AdBlock?” Content creators and advertisers are creating increasingly more obtrusive advertising to generate more clickthroughs. Is this the right tactic? I’m not sure. People are growing increasingly resistant to traditional advertising (evidenced by AdBlock’s existence) and some of the most profitable groups are often the first ones to take action against advertising. Perhaps advertisers and content creators should work together to test if less obtrusive advertising can still be profitable. It might also keep the visitors coming back instead of using another site/medium with less annoying advertisements.
**Update**
I’ve gotten some hate mail for this one so I want to clarify that I do not support IMDB’s aggressive advertising style. Their flash ads are incredibly annoying and are among the worst of any major site out there. I simply used them as an example for the method of bypassing Ad Block because their site was one of only a few that seems to have figured out the technique. You can add the filter http://ia.media-imdb.com/*.swf to remove any flash from the site. It may not kill all of the bad ads, but I’ve found it helps greatly.