Home >
Tracking Campaigns >
Binom
Binom Contest Articles. The work strategy for RTB platforms to maximize profit. (2)
03-23-2020 11:18 AM
#1
roman binom (Member)
Binom Contest Articles. The work strategy for RTB platforms to maximize profit.
Article that took 2nd place in our writer's contest.
Translated from Russian, so please be patience to some occasional mistakes
-------------------------------------------------------------
The work strategy for RTB platforms to maximize profit.
Nowadays most of the traffic sources work with RTB platforms. In Affiliate Marketing we act as advertisers, we define traffic requirements (such as GEO, web browser, device type etc.) and we set prices. A platform tries to find traffic with rules we set. Thousands, sometimes even hundreds of thousands of websites participate in an ad auction. If our bid wins we get a view of our ad creative (or visitor in case running pop/redirect traffic). It’s important to understand that we buy a visitor and they can come from any random websites or applications, connected to a system (publishers). Often traffic from different publishers can vary in quality – one of the publishers can turn green right away, another one can perform high conversion rate but be breakeven, the third one will be in red while the forth provides only bot traffic.
The only way to understand whether a publisher is profitable or not is to pay for some amount of traffic. It’s not possible to tell without math calculation what volumes of traffic you should test before blocking a publisher. Either you stop traffic early before you obtain the right statistical result or you plunge into the red because you didn’t stop traffic in time.
In this article, I will explain the main mathematical approaches to analyse traffic and show you how to automate your workflow.
So, there are several problems ahead of us that we need to solve:
1. Traffic is running but there are no conversions. When do we stop traffic?
2. Publisher is converting. Would we be able to reach a target ROI?
3. Possibly, we are paying for bot traffic. How to define bot traffic at an early stage and stop it?
In case when traffic is running but not converting, we use next formula:
N = ln(B)/ln(1-CCR), where:
B = 1 – error probability. Ideally, B=(1-0,95) gain such probability you need to buy a huge amount of traffic. I usually use B=(1-0,8).
CCR = ((ROI*Cost)+Cost)/(Clicks*Pay)
ROI – your desired ROI.
If target ROI = 100%, use 1
If target ROI = 200%, use 2
use 0,5 for target ROI = 50%.
Cost – total cost you paid for traffic to this publisher
Clicks – number of clicks you bought
Pay – conversion payout.
If we have paid for N amount of clicks and haven’t got any convertios, we stop traffic from this publisher.
In this article, I use ready-made formulas. If you want to get more information on these formulas just find any Probability Theory book.
Let's consider the situation where you have conversions but a publisher goes a bit red. We have to know what stage we stop traffic.
CX = CCR + (-1,64)*SQRT(CCR*(1-CCR)/Clicks)
CR = Leads/Clicks, where:
Leads – number of conversions
If CR<CX, we block this publisher.
This formula can be also applied to publishers which are not converting.
The main advantage of this formula is that we can effect on target ROI changing cost per click.
If our real ROI is above the target ROI, we can increase price per click, calculating the probability of achieving the target ROI. If the campaign is negative, we can calculate the value by decreasing the click cost to reach the target ROI.
In the regard of fraud traffic, in most cases, there are some bots in traffic. If a publisher in green and advertisers do not complain about the traffic quality, we keep bots. However, in some verticals bot traffic may still bring conversions and you can be asked to stop traffic. Although if you cut off bot traffic in time, you would be able to continue to work with the offer.
Bot traffic detection can also be helpful when you test offers and creatives. You can ban publishers where the percentage of bot traffic exceeds a certain level. After tests are done you can adjust the formula and start to buy traffic from publishers providing bot traffic. But I want to warn you, disconnection of bot publishers significantly reduces the traffic volumes. Also, bot publishers can be highly profitable due to low traffic costs. I had a case when despite the fact that the publisher was providing 99% bot traffic, the other 1% of real people were still performing a positive ROI.
To learn how to detect bots we need to understand different bot types.
Bots can get on a landing page from both desktops (from servers hosted in data centres) and mobile devices.
The simplest bots are not able to execute javascript. The more advanced are not only able to execute, but also move a mouse cursor, click on a landing page and follow links.
Now, let’s look at the features of bot detection in mobile traffic. There may be two sources.
The first one is the desktops that simulate mobile devices. In this case, on a landing page, we try to discover information of the presence of screen orientation, mouse movement, camera availability etc. If at least one of the parameters is missing, we can consider this user as bot.
The second source is mobile applications. This bot will get through all the checks as he came from a mobile phone but there will be information available in the server header that this user came from an app.
When we buy desktop traffic, we deal with desktop bot which means we have significantly less javascript metric for its detection. In fact, we can detect only cursor movement, but unfortunately, most of the bots can imitate it well.
In this case, I usually use universal bot detection techniques which suit both mobile and desktop. These include the inability to set cookies, the difference between the timezone of the bot and the target GEO timezone, absence of pictures etc. The third reCAPTCHA also applies as a universal method of bot detections which can evaluate the traffic quality from 0,1 to 0,9.
Ability to detect bot traffic can not only save budget for traffic but also write a cloacker, which can protect your landing page from most spy-services and traffic source moderators. Using a cloacker in pair with LP Protection from
Binom https://docs.binom.org/lp-protect.php your black hat landing pages won’t be possible to spot.
I usually use the following method.
I keep on one landing page white hat and black hat HTML codes at the same time. They are hidden initially and will be displayed only after bot detection scripts are processed. If scripts detect a user as non-human, white hat page appears next, if our user is a real human - black hat LP shows up.
Ok, let’s have a look on how to analyse the data on bots obtained from a landing page. Binom supports event systems which transmit data from landing page to the tracker
https://docs.binom.org/events.php. Initially, I consider each user a bot. If scripts detect a user as a real human, I pass this event into the tracker. It allows us to detect bots not executing javascript, automatically. Additionally, I pass to events the number of parameters which can define traffic quality. All this information is split into groups and displayed in Binom reports. For this, you need to add certain columns in settings:
Now these columns will appear in the report.
From the report we can define for each publisher:
percent of bot traffic
percent of successful reCAPTIRE detection
percent of users with course or device movements
percent of users with adblock
percent of traffic flowed through a proxy server
percent of traffic from apps
percent of users with timezone matched to a targeted GEO
percent of the revisitors
percent of users which do not match the tracker’s rules
Binom allows you to update tokens from a landing page as well
https://docs.binom.org/lp-update-tokens.php. Unlike events where we can pass only the numbers, in tokens we can transfer any information that will help us analyse traffic. I transfer to tokens additional data about landing page load time, user timezone, real IP, proxy traffic detection etc. For example, a list of values obtained from recapture for a certain publisher:
Now we already know how to calculate the traffic cost for target ROI and how to detect bot publishers. It’s not possible to analyse manually a large number of publishers so we will automate this workflow. As a traffic source, I take zeropark.com where we can set a price for each publisher and adjust it via API. Also, the traffic source allows us to stop traffic from publishers via API. As a tool for automatisation, we use ZennoPoster
https://zennolab.com/. This software is simple and does not require special coding knowledge so that anyone is able to automate the workflow between Binom and traffic source with its help.
When I detect bot traffic I try to obtain data for bot from all campaigns available in a traffic source. It's a common case when a publisher throws in a tiny bit of bots to the traffic flow. To detect that with one campaign you need to buy a great amount of bot traffic. Analysing traffic by all campaigns you run from one publisher can help you detect bot publishers at an early stage and without spending a big budget. We use the database for analysis.
Binom allows you to make selections from several campaigns. For this, you just select a few campaigns using checkboxes and press Report button. It’s simple, now you have the data you need. But we make such calls quite often and it loads the server a lot, so we need to avoid it. We can just request an API report for each campaign and add the result to the database. From the database we will get parameters we need.
As a database we use MySQL. To do so we just need to install Open Server
https://ospanel.io/. You just need to download it, set following settings
and run it.
API workflow In Binom is remarkably implemented. You just need to create a report, then add API_key to the report URL and load this URL. You will see the same report in JSON format. ZennoPoster works with JSON format data and adds the results to the database.
You just drag a few blocks and all information about the campaign will be saved in the database.

It’s simple, we don’t need developers to code this parcer.
The same way we will get data from Zeropark. Zennoposters allows us to generate POST requests just by adding API_key in the Zeropark header.

Next, we split the JSON block into pieces then we pass them to the database. There we’ll have more blocks, but don’t worry, there’s nothing complicated in it.
I would also like to explain why I take data on clicks from traffic sources, not from Binom. As you may know, there is such a thing as traffic loss and the percentage of loss is significant. Depending on a traffic source and GEO it can reach up to 70%. If you look closely at specific publishers you may realise that traffic loss from one publisher can be 2-3% and 100% from another one, which means, the publisher might break the connection. As a result, a traffic source shows data on clicks, but the tracker does not. To analyse stat from that kind of publisher I take data directly from the source.
Collected data for all campaigns from Binom and Zeropark we start to analyse it.
The work algorithm is as follows. First, we set an average target bid. If a publisher converts, we raise the price for this publisher till we can keep the target ROI. If this cost is above the maximum bid on this publisher, we set the maximum available price. Over time, the cost of purchased traffic increases and performance of a publisher goes below target ROI. In this case the system will lower the bid to keep target ROI. If a publisher does not convert, the system runs traffic until it is clear that a publisher does not reach target ROI and then it starts to lower the bid. If the minimum bid is reached but still there's no way to achieve the target ROI, the system blocks this publisher.
Based on the foregoing, we can apply one of the following actions to a publisher:
block a publisher
unblock a publisher
lower the price for a publisher
increase the price for a publisher
We block a publisher in case we already set the minimum bid but according to the estimation, a publisher won’t be positive. Also, we block a publisher based on a percentage of bots.
We unblock a publisher if it was blocked for the lack of conversion, but now it converts and may become potentially profitable. Or if we get a payout bump and now recalculation of conversion price shows us that potentially we can reach the green zone. Or we can unblock some banned publishers if we change the allowed percentage of bot traffic. We also unblock some of them if we drop down the target ROI.
We create a new project where we lock and unlock unprofitable publishers.
We also lock/unlock bot publishers in this project.

The price decreases when, according to all estimations, a publisher won’t reach the target ROI with a set price. We lower the price until we reach the minimum traffic source price.
The price will increase in case we have additional conversions. The system will recalculate the price per click in order to get more traffic.
If we follow this automated workflow we will be able to maintain target ROI. If traffic from the new publisher is bot traffic we can stop it at an early stage.
It’s not the only chance to maximize your profit using the Probability Theory and Binom tracker. There are tons of different interesting solutions.
If you want to figure out more about this topic, you are welcome to contact me via telegram @bocharovav or email
rainfru@gmail.com. I will be happy to share automatization template and some scripts of bot detection.
Andrey Bocharov (Roland)
-------------------------------------------------------------
04-19-2020 01:19 PM
#2
offertonic (Member)
Wanted to say thanks for posting this, does anyone know "what percent of successful reCAPTIRE detection" means in practice. Presume its recaptcha, so perhaps recaptcha assets not served and he's detecting via javascript... If not probably a proxy.... Or maybe he's logging recaptcha entries but wouldn't want that on my LP.
Home >
Tracking Campaigns >
Binom