Protect your users from fraud and malware, while increasing the value of your brand and your content, with one line of JavaScript.

  • Brands: Protect your customer base from targeting by competitors. Check your marketing technology against tracking protection rates by known customers to weed out "too good to be true" ad impressions.

  • Sites: Report on the trackability of your site's real audience—if a low-value competitor claims to reach the same people for less money, now you can show prospective advertisers the difference between your real humans and their adfraud bots.

  • Everybody: Warn users who might be trackable from site to site, so that you can recommend legit tracking protection in place of a problematic ad blocker.

Ready to get started? You have three choices: the basic script, the custom script, and the un-tracking pixel.

  • If you want to provide a simple warning to tracking-protected users, without writing any JavaScript code of your own, use the basic script.

  • If you want to collect data but not alert the user, or if you want to perform custom actions based on tracking detection: use the custom script.

  • If you can't add JavaScript to your site, or prefer not to for performance or security reasons, then use the un-tracking pixel.

Basic script

Quick start

Want to give users a quick reminder? Add the basic script to your site.

<script src=""></script>

This script will attempt to “track” the user from site to site. If tracking succeeds, it will load additional JavaScript and CSS and show a warning.

(Users won't see the warning until they visit the third site that runs the iframe. This feature is needed in order to get accurate results with Privacy Badger.)

Basic tracking warnings

By default, the above script will load and display a warning pop-up. If you prefer to supply your own warning, add an element with one of the following ids to the page:

  • tracking-warning-block
  • tracking-warning-inline
  • tracking-warning-table-cell

and apply style="display: none". Instead of displaying the popup, the script will set the existing element to block or inline.

This is how the cheesy ad and footer warning here on work.

Elements hidden from known vulnerable users

If the page has an element with an id of tracking-safety, the basic script will hide it (set its display property to none) if it detects tracking. Please do not use this feature to tell users that they are safe from tracking, since not all tracking technologies are detectable from the client. This feature is just to let you remove generic copy that would not be needed if showing one of the tracking warnings above.

Reverse tracking wall

A simple way to encourage tracking protection is a “reverse tracking wall” that makes some pages unavailable to tracked users. A simple client-side reverse tracking wall is built in.

To use this feature, set the JavaScript variable trackingAlternateLocation to the URL of the page to which users should be redirected if tracking is detected.

<script type="text/javascript">
var trackingAlternateLocation =
<script type="text/javascript"

Example: Reverse tracking wall in two lines of JavaScript.

Custom script

The track.js script gives you more customizability, and is designed to be integrated with other JavaScript on your site. (It is based on code from BlockAdBlock.)

Include the script with:

<script src=""></script>

And set up your callbacks with:

if(typeof aloodo === 'object') {
    aloodo.setOption('debug', true);

The onLoad function gets called when the fake tracker iframe loads, and the onDetected function gets called when tracking is confirmed. The difference is because of the problem of an "untrained" Privacy Badger. If Privacy Badger is installed but has not learned to block, then the onLoad function will get called even though the user has protection.


  • Use onLoad to correctly alert more users of list-based protection. (In this case you will have to let Privacy Badger users know that they can take a test to check their results.)

  • Use onDetected to avoid alerting untrained Privacy Badger users. (You will fail to alert some vulnerable users of list-based protection.)

Because Aloodo has to use a third party and wait for the iframe to load, this script can't be as fast as a pure ad blocker detector.

Un-tracking pixel

The un-tracking pixel attempts to set a third-party "tracking" cookie, to make either script work better on other sites.

You can't show warnings or do scriptable actions on a site that just has the pixel and not one of the scripts—but it does prime the browser so that tracking will be detected more quickly on a site that does have the script.

(If you have a main site where you want to show warnings or do other actions, you can put the pixel on your other sites.)

Include the un-tracking pixel with

<img src=""

Substitute your site's hostname for

If you set up the pixel URL correctly, Aloodo will serve the pixel with a long expiration time, so that the browser won't re-load it from every page on your site. (This helps minimize the amount of data that we can collect, and the load on our servers.)

You can use developer tools in your browser to check that an Expires: header is being set for the image. If you do not see Expires: and the browser is re-loading the image on each page view, check that the hostname in the image URL matches the hostname part of the URL in the Referer header.

(Please contact us if you would like to start receiving reports based on aggregated usage of the un-tracking pixel on your site. We delete logs frequently, so we we are not set up to do reports from old data.)

Questions? Suggestions?

Don Marti · #