Leaving ethical discussions aside (since I made my views on that quite clear last time), it is nonetheless true that ad-blocking is a real problem for bloggers and site owners the world over whose only source of income is ad revenue. With that understood, let’s look objectively at some tactics you can use to deal with ad-block users, and the effects those tactics might have.
Don’t Do Anything
It should be considered that things are not so black and white when it comes to ad-blocking. Even though ad-block users are using your server and bandwidth resources, your site might still be able to extract value from them in other less obvious ways. They may share your article or content with friends, for instance, who will in turn visit your site and are perhaps not ad-blocking. The ad-block user may also contribute to the comments, which can have a benefit to the SEO authority of the page if they’re relevant as well as possibly being useful to other readers or the article author. If you think this applies to your site, not doing anything may well be the best approach to take.
On the other hand, ad-block users typically run a myriad of script and cookie blocking plugins that also prevent share buttons from loading (and some script-based commenting systems, analytics counters etc), so it could be argued that these kind of ‘invisible’ users add absolutely zero value to your site and exist solely to leech bandwidth.
Ask Users Politely To Stop
Ad-block users can in fact be detected through the use of ‘fake’ ad-scripts (which if not found on the page, would indicate the presence of ad-block), and a suitable action can be taken. One surprisingly effective method is to politely explain to the user that ad-blocking prevents you from continuing to produce the content you do provide free of charge, and request that the user ‘whitelist’ your site thereby allowing your ads to load. When users are alerted that you’re aware they’re using ad-block and your site is being damaged a result, many will quite happily make an exception for you.
In WordPress, the anti-adblock plugin can be used to do just that. It presents a variety of options such as how many pageviews before a user is shown a message (which can be off-putting to a first time visitor), as well as whether to show a discreet message at the top of the screen or a page-blocking popup.
Here’s an example message that I chose to display to users, feel free to save it and use for your own site.
If you are going to ask your users to specifically whitelist your site, then I would strongly suggest you consider what they’re going to see after enabling ads. Try it on your own site, and if you think it looks considerably better with ads disabled, you should probably make some changes. Personally, I believe that being more selective about ads is the way forward, which brings me onto my next point.
Use A Curated Ads System
On my own iPad boardgames site, I use an advertising system called BuySellAds. Rather than serving up random promotions that Google Adsense pulls from it’s vast library of shockingly bad and deceptive ads, BuySellAds allows me to individually approve each advertiser to ensure they’re relevant to my readers and not trying to scam them into a work from home job, a free iPad, or a random DOWNLOAD NOW button.
Although I rarely see those kinds of ads at all on the BuySellAds network anyway, I have in the past chosen to reject offers because they were related to gambling online – the ad itself wasn’t flashy or particularly offensive, but I felt that it wasn’t something I wanted to support, or see on my sidebar.
I do think that we as site owners and developers should be more responsible with regards to which ads we do choose to display. Advertising may be a necessity, but deliberate deception is not.
The final and most heavy handed tactic is to simply redirect them elsewhere – thereby blocking them from the intended content – either to a page explaining why you don’t think they deserve to view your content, or for those of you who are particularly malicious, a shock site might be more desirable. This is of course the least recommended approach because it’s going to really, really annoy the ad-block users, and not only will you have lost the revenue from blocked ads, but you’ll lose a potentially loyal user. Some site owners will be happy with this approach, since the ad-block users really have no right to view your content without giving something back in return – especially if what they are refusing to give back is as insignificant as an impression count and 100k of additional page download.
Though there is no specific plugin for WordPress to achieve this (or rather, none that actually works), I have written a small jQuery script that detects the size of your ad container after the page has loaded. If the ad container is 0 pixels, it means the ad hasn’t loaded and some form of blocking has occured. To use the script on your own site, first ensure that one of your ad containers can be set to a specific css ID, or simply surround the ad code with a new set of div tags with that particular ID.
In the example code (pastebin), I’ve used the ID of ‘myAdContainer‘, and set it to redirect them to Disney.com . This script should be placed anywhere in your theme files, but I suggest either the header or footer.
Bonus: Dealing With NoScript Users
Place this code snippet (pastebin) in the section of the page (this will fail validation checks for anything other than HTML5 though, but doesn’t otherwise affect actual functionality).
If you have any suggestions about these methods, or perhaps need help implementing them, then I’d love to hear about it in the comments. Please let’s keep the discussion on the technical side of this though, I think we’ve discussed the ethics of using ad-blockers and indeed blocking ad-blockers quite enough already.