Welcome to AdBack’s documentation¶
FAQ¶
What is AdBack?¶
AdBack is a professional solution that analyzes your Internet audience using adblockers. It collects, decrypts and alerts you about the evolution of this audience. It allows you to react, to inform and monetize this specific audience.
What is an adblocker user?¶
Today, there are different ways to block ads. An adblocker user is a visitor using one of the solutions below:
- a browser extension: several extensions exist such as Adblock Plus, AdBlock, Ghostery, uBlock, uBlock Origin or Crystal on mobile iOS
- an antivirus software
- a personal firewall via the antivirus
- a professional firewall via the company
Why should I install AdBack?¶
By installing AdBack, you’ll have access to a highly technological tool which is not detected by adblockers, to real-time informations, to a maximized and constantly evolving script and also to a wide range of solutions to dialogue with the adblocker user audience.
What benefits can I expect by using AdBack?¶
With AdBack, understand your adblocker users and re-establish the dialogue between you and them. With AdBack, win back 28 to 60% of your advertising revenue lost because of adblockers.
Who is AdBack for?¶
AdBack is for every content publisher who wants to understand and monetize its adblocked audience: media websites, regional magazines, bloggers. AdBack is also for e-commerce websites, advertisers, agencies who want to take an audit on their website, verify in real-time that adblocker users don’t impact the conversion rate and utilize tools to generate leads specifically on this audience.
How to install AdBack’s solution on my website?¶
If you have a WordPress website, refer to the section: AdBack Plugin for WordPress.
If you don’t have a WordPress website, create an account by clicking on “Test AdBack” on the landing page or by choosing the option of your choice in the Price section. Then, refer to our technical documentation to integrate the AdBack API in order to start collecting your data. Once done, you can start analyzing your data from your AdBack dashboard. If you’re having trouble, contact our support at support@adback.co.
What are the different plugins available?¶
AdBack Plugin for WordPress
AdBack proposes a very easy ready-to-use solution for all the WordPress website owners. AdBack’s plugin can be downloaded here for free. It allows all the WordPress website owners to use AdBack’s solution directly from the WordPress interface where the main data are displayed. The user can also access at every moment all the detailed statistics on the AdBack dashboard.
How to install the AdBack plugin on WordPress ?¶
- Download the plugin here.
2) Connect to your WordPress interface in admin mode and go to the “Plugins” tab and “Add new”. Then click on “Upload Plugin” at the top of the page

3) You can upload from your computer the AdBack plugin recently downloaded by clicking on “choose file”. Choose the zip folder “adback_plugin_wordpr3ss_antiadblock.zip”

4) Once the document selected, click on “Install now”. WordPress will install the plugin. Once installed, click on “Activate Plugin”

5) The plugin is finally installed. You now have an AdBack tab on your WordPress interface with a statistics part where you’ll find the main graphics and a settings part where you’ll be able to set up the custom message to display to your adblocker users. On WordPress, you have the access to the basic features and statistics. To access the detailed statistics and the advanced features about the custom message, go to your dashboard on AdBack.

Drupal¶
Available soon.
Magento¶
Available soon.
Prestashop¶
Available soon.
What are the technical aspects of AdBack’s tag?¶
- The tag is loading in an asynchronous way, it means that the web page content loads at its own pace while the tag loads via separate processes
- Only 2 server calls generated by theAdBack tag
- Weight of the JavaScript folder: 9,5KB and less than 500B
- A response depending on the geographical location: delivered by an international CDN network hosted by Amazon Web Services
- Auto detection of HTTP/HTTPS, supporting new protocols up to SPDY/3.1
- Data warehouse hosted on Amazon Redshift, capable of handling and analyzing petabytes of data in seconds
Why is AdBack’s solution different from other solutions on the market?¶
AdBack proposes a wide and complete range of statistics. Our strength lies relies on a strong technology, at the cutting edge of innovation and impossible to be blocked by adblockers. While most of our competitors want to push the ads by all means, we want to find alternative and sustainable solutions to re establish the dialogue between publishers and users in order to contribute to the Internet of tomorrow.
Does AdBack have connexions with other tools?¶
To bring the data alive, it has to be available in all the existing web analytics tools. That’s why we’re opening connexions with the main tools on the market (analytics, DMP, ad servers…)
What kind of analytic data will I access with AdBack?¶
You’ll access loads of real time data such as the browser type and the adblocker type used by your adblocker users. You’ll also know if they navigate on mobile or desktop and you’ll know which part of your analytics tools is blocked by adblockers (Google Antytics, Xiti…). And much more statistics!
What is the custom message?¶
The custom message is the pop-in appearing on the adblocker users’ screen. The message can be different depending on the user’s profile. You can add deactivation features to it or different alternatives to advertising.
What are the different alternatives to advertising proposed by AdBack?¶
We propose: - To answer surveys - Paywalls - Newsletter subscriptions - To watch a video ad to access the content
Is AdBack free?¶
The whole analytics module is free and available to all. Only the message display with all the deactivation features and alternative solutions is a paid service. If you want to know the different options, refer to the “Price” part of our website.
Utility of the API¶
AdBlock lists are updated regularly so the blocking of domains or scripts can occur very untimely.
The API gives a possibility to provide you with functioning domains and scripts in real time. Our system daily verifies the validity of domains and scripts provided by us and in case of blocking automatically allocates the new ones.
Therefore the implementation of API script has to be done only once and afterwards its functioning is totally autonomous.
Frequently asked questions¶
- How to set up the system on my server?
Api calls have to be made server-to-server. We are also recommending to use a cache system. as it is necessary to verify the updates of scripts only once a day.
- Can I call API with JavaScript from the browser?
In absolute terms yes, but the usage shouldn’t be made “public” as your token is personal. Take car of it because if your token gets into hands of someone, this person can access all your statistics as well as certain confidential parameters of your accont.
- Is there any limitation for API calls?
In Actually there is no limitation. In case we will observe an unusual use of API we will partially or completely limit its access.
- Is the former domain still functioning if there has been an update?
Yes. The former domain is accessible while the system you have set up updates the tag on your website.
- Am I the only user of a domain?
Single-user domains are attributed to our paying customers. Shared domains are given only to customers who have chosen our free option.
PHP sample script¶
Analytics and message script¶
Here is a script sample for server to server API usage :
<?php
/*
CONNECT TO YOUR IN-MEMORY DATA STRUCTURE STORE LIKE REDIS
*/
$cache = new Redis();
$cache->connect('host');
/*
GET DATA FROM EITHER IN YOUR IN-MEMORY DATA STRUCTURE STORE OR THE API
*/
if ($cache->has('scriptElement')) {
$scriptElement = $cache->hGetAll('scriptElement');
} else {
$scriptElement = json_decode(file_get_contents('https://adback.co/api/script/me?
access_token=token'), true);
foreach ($scriptElement as $key => $value) {
$cache->hSet('scriptElement', $key, $value);
}
$cache->expire('scriptElement', 60*60*24);
}
/*
CREATE THE ANALYTICS SCRIPT
*/
$analyticsDomain = $scriptElement['analytics_domain'];
$analyticsScript = $scriptElement['analytics_script'];
$analyticsScript = <<<EOS
(function (a,d){var s,t;s=d.createElement('script');
s.src=a;s.async=1;
t=d.getElementsByTagName('script')[0];
t.parentNode.insertBefore(s,t);
})("https://$analyticsDomain/$analyticsScript.js", document);
EOS;
/*
CREATE THE MESSAGE SCRIPT
*/
$messageScript = '';
if (isset($scriptElement['message_domain']) {
$messageDomain = $scriptElement['message_domain'];
$messageScript = $scriptElement['message_script'];
$customMessageScript = <<<EOS
(function (a,d){var s,t;s=d.createElement(‘script’);
s.src=a;s.async=1;
t=d.getElementsByTagName('script')[0];
t.parentNode.insertBefore(s,t);
})("https://$messageDomain/$messageScript.js", document);
EOS;
}
/*
DISPLAY BOTH SCRIPTS
*/
echo "<script>$analyticsScript</script><script>$messageScript</script>";
Autopromo banner script¶
Here is a sample code used to add an autopromo banner on your website.
Note that the script should be located in the div destination.
<?php
/*
CONNECT TO YOUR IN-MEMORY DATA STRUCTURE STORE LIKE REDIS
*/
$cache = new Redis();
$cache->connect('host');
/*
GET DATA FROM EITHER IN YOUR IN-MEMORY DATA STRUCTURE STORE OR THE API
*/
if ($cache->has('scriptElement')) {
$scriptElement = $cache->hGetAll('scriptElement');
} else {
$scriptElement = json_decode(file_get_contents('https://adback.co/api/script/me?
access_token=token'), true);
foreach ($scriptElement as $key => $value) {
$cache->hSet('scriptElement', $key, $value);
}
$cache->expire('scriptElement', 60*60*24);
}
/*
CREATE THE BANNER SCRIPT
*/
$autopromoBannerDomain = $scriptElement['autopromo_banner_domain'];
$autopromoBannerScript = $scriptElement['autopromo_banner_script'];
$autopromoBannerCode = <<<EOS
(function (a,d){var s,t,cs,ds,dd;s=d.createElement('script');cs=d.currentScript;
ds=d.createElement('span');ds.id=Math.random().toString(36).substring(7);
dd=cs.parentNode.insertBefore(ds,cs);
s.src=a;s.async=1;s.setAttribute('data-name',ds.id);s.setAttribute('data-id','base64encodedBannerId');
t=d.getElementsByTagName('script')[0];t.parentNode.insertBefore(s,t);})
})("https://$autopromoBannerDomain/$autopromoBannerScript.js", document);
EOS;
/*
DISPLAY SCRIPT
*/
echo "<script>$autopromoBannerCode</script>";
In this sample script base64encodedBanneId represents the banner id encoded in base64, you will be able to find it in the AdBack dashboard.
API consumption in command line interface¶
Here is a script for server to server API usage in bash :
$ wget https://raw.githubusercontent.com/dekalee/adback-bash-refresh/master/adback-refresh-tags
$ chmod +x adback-refresh-tags
$ ./adback-refresh-tags [token] [options]
Options :¶
- -c : output custom message script (JS output)
- -a : output analytics script (JS output)
- -html : change the output method (html output)
Crontab that update js tag every 6 hours :
$ 0 */6 * * * /usr/bin/bash [path to script] [token] [options] > [your output file]
API efficiency¶
- Automatic chosen script :
The API selects the right script that is not blocked by adblock lists.
- 2 uses of API:
- Generate the entire script
- Generate only the domain script
WARNING The api should called only a few time per day and the result should be cached.
Online Documentation¶
In the examples, you should replace YOUR_TOKEN with your personal token.
- You can access API documentation from:
https://www.adback.co/api/doc?access_token=YOUR_TOKEN
- How-to use the sandbox
- Choose an endpoint
- Click on Sandbox
- Put your token in access_token
- Display the result of the request by clicking on Try!

JavaScript Tag efficency¶
- Asynchronous
The tag is loading in asynchronous way, it means that the webpage content loads at its own pace while tag load via separate processes.
- Number of server calls generated by AdBack JavaScript tag
Only 2
- Wheight of JavaScript folder
9.5KB and less than 500B
- Situation latency
Delivered by an international CDN network and hosted on Amazon Web Services
- HTTPS / HTTP
Auto detection, supporting new protocols up to SPDY/3.1
- Data warehouse
Data warehouse hosted on Amazon Redshift , capable of handlin and analyzing petabytes of data in seconds
Installation¶
Launch the command :
composer require "dekalee/adback-analytics-bundle"
You will install the AdBack Analytics Bundle and the AdBack Analytics lib.
In the AppKernel
file, activate the bundle:
new Dekalee\AdbackAnalyticsBundle\DekaleeAdbackAnalyticsBundle(),
Configuration¶
Base parameters¶
dekalee_adback_analytics:
access_token: your-token
cache_service: your.redis.service
cache_type: [redis, doctrine, config_file]
entity_manager: your-entity-manager
Getting your token¶
You can generate a token on the AdBack website :
- Log in
- Go on the Api Access page
- Generate a token for the api client linked to your website
Cache type¶
To avoid any slow down of your application, the bundle uses some local cache to store the gathered informations.
The bundle already provides a driver for Redis
, Doctrine
, and ConfigFile
.
Redis¶
You need to specify your redis service to make it work directly.
Doctrine¶
You need to specify your entity manager and also create the table linked to the
Dekalee\AdbackAnalyticsBundle\Entity\ApiCache
entity.
ConfigFile¶
You don’t need to specify any further configuration, but not that the api is going to be called each time you warmup your cache. If you are using multiple servers, you need to run the update command on each of them to update the file cache.
Other¶
If you want to use another local cache service, you could check how to implement a new driver.
Recommendation¶
According to your project size and type, we would recommand different cache types :
Project type | Single server | Multiple server |
---|---|---|
Symfony | Config File | Redis or Doctrine |
EzPublish | Config File | Redis or Doctrine |
Raw PHP | MySqli / PDO | Redis / MySqli / PDO |
Usage¶
Refresh cache¶
To update your local cache, run the command:
php app/console dekalee:adback-anayltics:refresh-tag
Add analytics and message tag¶
To display the tag in your page, you can add the twig command:
{{ adback_generate_scripts() }}
Add autopromo banner tag¶
To display the autopromo banner in your page, you can add the twig command:
{{ adback_generate_autopromo_banner_script() }}
In order to display a banner, you should add the following element in your page:
<div data-tags="tag"></div>
Cache storage¶
If you don’t want to use Redis
as the default cache storage, you can create
a new driver which implements the Dekalee\AdbackAnalytics\Driver\ScriptCacheInterface
.
After creating your service, you have to add the alias dekalee_adback_analytics.script_cache
.
Add a Google Analytics Dimension¶
- On Google Analytics side
- Choose ADMIN on the left side menu
- On the PROPERTY menu, click Custom Definitions then Custom Dimensions

- Add a dimension and choose the Session Scope
- Get the dimension id
- On AdBack.co side:
- Go to https://www.adback.co/en/integration/google/analytics
- Click on Edit website
- Select the dimension id previously created

- Save by clicking on Edit website
- Values are:
0 - no adblock
1 - adblock without whitelist
2 - adblock with whitelist
4 - corporate filtering