Posted on

AdBlockers Might Break Your Product

They’re handy. They’re convenient. They save us from getting bombarded with intrusive scams like 10kg weight-loss in 2 days or online poker pop-ups on a daily basis. AdBlockers are an integral part of the web browsing experience for most of us. But even though advantageous, you should consider to white-list websites you frequently visit, since (meaningfull) advertisement is an important part of the free internet. Most of the time, ads are non-intrusive and a fairly small sacrifice given the gigantic amount of free content you get in exchange. But today my intention is not to talk about why AdBlockers might hurt your advertisement campaigns, but rather how they can interfere with your actual web-app and how AdBlockers might break your product.

AdBlockers are like cats with machine guns on a frenzy

Popular AdBlockers work with a Rambo-like mentality in mind: Kill all the ads without regarding losses! For example, they monitor the networking of your browser and block all requests that contain certain keywords considered naughty words, such as advertisement or ads. Only recently, this very behavior caused one of our Photography Management Premium Subscriber to be faced with a completely broken product: On her own domain, in the WordPress admin dashboard she tried to upload images through Photography Management. After numerous unsuccessful attempts she (thankfully) wrote to our support and it turned out that an AdBlockers was rejecting the upload attempts because the filenames of her images included the word advertisement. Whoa, wait what? She tried to upload images to her own server, but these attempts were shot down by the blood-thirsty cat. Now this client reached out to us and we were able to help – we suggested to either white-list her own domain or rename the images. But it is naive to think that every customer will contact the support in such a case: Most people will see an apparently broken product on their screen, uninstall it and move on, unknowing of the real reason for the failure. Another example how AdBlockers makes our developer lives more difficult is related to another of our WordPress plugins, Ultimate Ads Manager. It is a straight-forward management tool for advertisements with stylish statistics. However, when we started developing this plugin, we did not think that AdBlockers would completely deny the usage of it once installed. Why? You guessed correctly, because of the name. When installed, the URI to the plugin would be something like wp-plugins/ultimate-ads-manager/. Since ads is a bad word in the cat’s eyes of AdBlockers, every request to the plugin would fail. Every CSS, JS and AJAX request would get rejected. If this is not rambo-cat, I don’t know what is.

AdBlockers broke your product, what to do?

In the case of Ultimate Ads Manager, we were able to save the project with a trick. We did not want to rename it, since Ads are what it is for and it should be reflected in the product name. What we did was to create a symlink to a folder with a name considered clean, say wp-content/uploads/uam-pipe. When requesting a file from the plugin, it gets piped through the symlink and hence successfully loads. Generally however, there is little you can do. We plan to display a warning to our Photography Management users, if they have AdBlockers installed on their own domain and suggest to white-list their domain. For this, we can use a JavaScript module which detects whether AdBlockers are enabled on a site, BlockAdBlock (although a clone with a slightly different name might sound more convenient). This way, we can at least ensure that our customers know why their uploads might fail. Do you have similar experiences, or tips how to handle this situation? Comment below!