Advanced Ads comes with a feature to hide ads from bots. While it might sound logical to disable ads for non-humans visitors, you should not use this setting in most cases. Read on to learn more.

What are bots?

In this article, bots are considered to be every non-human entity visiting your website. The purpose is not crucial for this definition – though it could be for your decision whether to exclude or show ads for bots.

Bots fulfill many different purposes. Nowadays, more than half of the traffic on websites is attributed to bots, most of them being crawlers that check your content – like the Google search bot responsible for your site ranking in the search results.

Ads and fraud bots

Showing ads to bots is considered a giant fraud that costs advertisers large amounts of money. Therefore, many entities address this.

While this is a problem, most resources miss the information that a bot executes not every ad code, creating neither an impression nor click that has to be paid.

So one of the central questions for your decision before disabling ads for bots or not is if an advertiser has to pay for it.

Option in Advanced Ads to hide ads from ad click bots
Option to hide ads from bots

Common issues with the Hide-Ads-from-bots option

There are a few common issues with our hide-ads-from-bots setting, which make it worth thinking about whether to use it at all or not.

Caching

If your site is cached and you have that option enabled without using cache-busting in Advanced Ads Pro, a bot might come to your site. It “sees” a version without an ad on it. 

This ad-less page is then added to the cache. Every following human visitor would see the page without ads as well.

Humans identified as bots

Due to a problem with the hosting, an external service running in front of the server (e.g., firewall), or broken code, it could happen that all the traffic, including visits by humans, is identified as bots. Therefore no one would see any ads.

We added a notice to our Ad Health menu in the admin bar, but not everyone sees that. Therefore, we also added a warning on the settings page.

Warning, if user was identified as a bot

You can either fix the source of the problem or disable the option.

Not all bots can be identified

Our bot detection is based on known user agents. This requires the bots to identify themselves. Many custom-made crawlers and especially harmful bots won’t do that. So ads might still show up even by using our option.

To prevent most kinds of bots from executing your ads is by using cache-busting in Advanced Ads Pro. While it is not meant to hide ads from bots, it uses JavaScript, which most bots do not execute.

The list of bots supported by Advanced Ads can be adjusted using the advanced-ads-bots filter. We identify any user agent, including the terms “bot,” “crawler,” or “spider” as well as specific identifiers like “alexa” or “avira.com.”

The WP Rocket bot is currently the only bot we don’t allow to exclude because the plugin uses this bot to build the cached version of a website, which should always include ads since it will later show to real visitors.

Ad-Types and bots

JavaScript-based ads and bots

If you show an ad from an ad network on your site, you probably implemented it using JavaScript. JavaScript runs in a browser, which bots don’t use.

The same also applies to AdSense ads.

Some ad networks use bots to check if their code is implemented and might stop sending ad traffic if they don‘t find it.

Our suggestion: Unless you have a reason to believe that a browser-based bot is visiting your website to click on your ads, there is no reason to enable the option to hide ads from bots in Advanced Ads.

Other ad types and bots

If you deliver ads that don‘t use JavaScript, then you need to decide whether you want bots to see them or not.

You can disable ads for bots if you use image ads whose only purpose is advertising.

You should keep ads for bots if you deliver non-ad content like some content injections and want search engines to consider it.

Tracking and bots

Our Tracking add-on doesn‘t track bots by default. However, this only counts for bots we can identify.

To not track any impressions from bots, you should either use the Frontend or Google Analytics tracking method. They use JavaScript, which is not executed by bots.

Bots can still follow ad links and generate clicks. You can prevent this by using cache-busting to show the ad or use Google Analytics as the preferred tracking method.

Summary

  • in most cases, you shouldn’t use our Hide ads from bots option
  • visiting bots typically don’t cause issues with JavaScript-based ads
  • only enable the option you have a good reason, e.g., an ad image or content should be not readable by a search engine bot
  • use our cache-busting feature (Pro) if you enable that option, and your site is cached