NEW: Zero (!) Load Time Bot Tester For Your Live Campaigns

2019-09-29 05:59:00


Reprinted from STM forum


Features Of This Script

·        Gives you an accurate read on the percentage of common bot traffic clicking your ad links.

·        Effectively zero impact on page load time, meaning you can use it on all campaigns.

·        High accuracy at detecting CURL-based or non-Javascript bots.

·        Won't trigger false negatives from bots which look for URLs in the page.

What You Need To Use This Script

·        A campaign running on any traffic source that uses a landing page.

·        An external tracker like Voluum or Funnel Flux - basically, any campaign tracking tool.

That's it! This script won't work for direct-linked campaigns (at least not without doing something most offer owners won't like - see "Using This With Direct Linking", below), but you can use it on any landing page. 

How To Use The Script

Step 1

Add an extra offer to your campaign, named "Parses Javascript". That offer should link to a fast-loading page somewhere on the Internet - I used It really doesn't matter where you're linking to, all that matters is that your tracker can detect a clickthrough to that offer. 


If you're using a flow-based tracker like FunnelFlux, add that offer as a branch from your landing page, as if you were going to add a second CTA to the page. 

Copy the Action URL for that offer, as if you were going to paste it into a landing page. 


Copy your Multi-Offer Click URL as if you were going to add it to a landing page. You may also need to modify your landing page to use the Multi-Offer Click URL for your actual offer. 

Other Trackers

Copy the URL you'd use to send people to the new offer in your campaign if you were adding a second CTA to the lander. 

Step 2

Paste the Action URL / Multi-Offer Click URL for your new offer into a text editor. 

Split it into two lines of text at the "/" symbol after the domain name. 

So, for example, if you're using FunnelFlux and your Action URL is " 786234234230005844", you should split that into "" and "?flux_action=2&flux_f=607423523495012298&flux_ffn =786234234230005844"

If you're using Voluum and your Multi-Offer Click URL is "" you should split that into "" and "click/1". 

Step 3

Add the following Javascript to your landing page, just above the closing BODY tag. 




    u1 = "URL_PART_1";


    u2 = "URL_PART_2";


    document.write('<iframe src="' + u1 + "/" + u2 + '"></iframe>');



Replace URL_PART_1 with the first part of your URL which you prepared in Step 2, and URL_PART_2 with the second part. 

Step 4

Add the following Style tag to the HEAD tag of your lander: 


<style>iframe {

    visibility: hidden;

    position: absolute;

    left: 0; top: 0;

    height:0; width:0;

    border: none;


Step 5

Upload your lander! 

You're now done, and the bot detector is now active. If you're running it on an active campaign, you should start seeing clickthroughs to the "Parses Javascript" offer. 

Reading The Results

Reading the results of this test is simple: for each placement, check the CTR to your "Parses Javascript" offer. 

That CTR is the percentage of non-bot traffic that you're receiving from that placement. 

That percentage won't be 100% accurate, because of the usual click loss problems, but it should be accurate to +- 10% based on my tests. It'll be less accurate for countries with slow Internet or on non-broadband or wifi, but will still be reasonably accurate, and more accurate for countries with fast internet where you're running a WIFI campaign (or countries with very fast cellular access). For example, in the US I'd expect it to be accurate to more like +-2%. 

It also won't detect sophisticated bots, but outside the Google Adwords ecosystem, those bots appear to be pretty rare. 

If you need to use this data to argue your case with a traffic source: what the bot tester detects is browsers which don't have any form of Javascript enabled. This is very, very rare in 2017 (and probably 2018/2019, if you're reading this then): many web pages won't even render without Javascript enabled. As such, large quantities of traffic like that are almost certainly bots. 

Using This Test With Direct Linking

If you want to use this test with a direct link, there are two ways to do it, but both have their downsides. 

First, you could just add a lander (or if you're on FunnelFlux, a Javascript node) before the offer that only redirects if the client has Javascript enabled. Here's the total code for a lander like that: 



        u1 = "URL_PART_1";


    u2 = "URL_PART_2";


    window.location.replace(u1 + "/" + u2); </script></html>

(UPDATE: "?" replaced by "/" - edited by vortex.)

Clients that get past this "invisible" lander can parse Javascript and hence aren't simple bots. 

The disadvantage with this approach is that you'll add some load time to the offer. It'll be about 200ms if you host the page on a fast server where the DNS lookup has already been done - I'd recommend hosting it on the same domain as your tracker. 

Secondly, you could embed the offer within an invisible iframe, and then use the bot detection code outside the iframe. This is a little bit more technical, but the more serious problem is that offer owners hate affiliates doing this, with good reason. So if you want to do that, ask your offer owner or network first. (Any network people fancy chiming in on how they feel about affiliates iframing offers, and how to get approval to do so?) 

And that's it! Let me know if you have any questions, problems, weird results or anything else, below! In particular, if you want to use this detector but are having trouble implementing it, do post and ask questions - I'm very happy to help you get it sorted.