I'm working in online advertising since 1998 and finally decided to start my own blog.

HOW TO optimize a campaign into profit – step by step guide for one of my methods.

Intro: I’m re-posting this guide from the STM Forum, that I originally wrote it for. It’s one of my most popular threads over there, so I thought it would be a good idea to post it here on my blog too. It will also give you an idea about what kind of stuff is posted on the STM Forums, should you ever consider joining it.

This is a perfect method for running PAID Traffic campaigns, promoting mobile PIN submit’s or Sweeps offers in tier2 and tier3 GEOs like Asia, Eastern Europe, Latam and the Arabic World – A lot of money is being made in these countries and it’s the best choice for any newbie to paid advertising.

Article starts here : There has been a lot of threads and posts asking for optimization methods and what is the right way to do it. So instead of replying to the same question in multiple threads, let me explain one of my methods here and let’s keep the related discussion in this thread too.


This method is based on cutting the WORST elements one by one. It works the best with low paying offers, because we need a larger amount of conversions in order to really be able to spot the weak parts of the campaign.

I started to use this method when I realized it’s not a good idea to cut placements in the early phase of the optimization, because it almost always resulted in minimum volume and low revenue. I was able to get nice ROI but I was making pennies.

Since I’m buying mostly banner traffic, I will also use it in this thread. You can still use this method when running POPs, just ignore the parts where I talk about banners.

The method has a few steps :


1. The first thing we need to do is to make sure we are not buying fake/BOT traffic or traffic that is simply too expensive to possibly turn profit. To judge this, you need to have some experience with the possible offer performance so you can make a ROUGH estimate of EPV (earning per visit).

Example: If I know that an offer is highly unlikely to convert better than 1:50 and the payout is $1, I cannot buy clicks that are more expensive than $1/50=2 cents. Otherwise I can’t be profitable. I also know that I can increase the CVR somewhat by optimization or find a better offer, so I will not use those 2 cents as the cutting line, but I will increase it to 3 cents. I also know that some sources might perform way better than others, so let’s increase it to 4 cents per click max.

The first thing I will do is run a BOT test and I cut everything that has 80% or more BOTS – only cut the WORST, this is the key, so based on the traffic profile you can increase the limit to 90% even. This is something you need to judge on a case by case basis – check what the numbers look like and get rid of the very worst.

The next thing is to look at the banner CTR and remove every banner that is giving me clicks more expensive than those 4 cents I calculated.

NOTE: this phase is not about finding a winning lander or offer, it’s just about identifying BOTs and banners with lousy CTR. So don’t worry about slower loading times due to the bot test script. You’ll look for winners later on.


2. Now I know I’m not paying for the worst spots, so the traffic is legit from a large part and the clicks are not too expensive. At this stage, I want to figure out which of the offers and LPs is performing the WORST. I need to get enough conversions so I can spot the WORST ones again. The amount of conversions needed depends on how they are distributed across the various LPs and offers. Sometimes you see a clear winner after 10 conversions when it looks like 8 to 2, sometimes you need to run longer. You don’t need to find the clear winner again, you want to identify the worst ones.

The best that can happen at this stage, is to retain at least 2 offers and 2 LP’s that are showing similar performance. Once I have them, I need to let the campaign run for some more and collect data for just these “better” LPs and offers. It’s perfectly fine to be still in the RED at this stage, thou you can sometimes already see green here.


3. Now comes phase 3, I have had multiple conversions for all the LPs and offers I’m still running and now I need to look at the data and look for the WORST segments once more. At this phase, you can start by cutting whatever targeting parameter you want, except for the placements, these will come as the last one. The key is to cut only the worst again and one by one if possible. Sometimes you will be able to cut 2 at once when the data tells you so.

So how do you find the targets to cut? They have to be way worse than the rest. In case you see Android gave you 25 conversions and iOS just 10 – this is NOT the signal to cut it. But if Android made 12 conversions and iOS did 0 or 1, now this is a clear signal to cut it. You need to drill down into the data quite deep here and look for interrelated signals. IOS making low amount of conversions? Drill down deeper and check wifi VS 3G, maybe you will see wifi works just fine with iOS but 3G made 0 conversions – so you want to retain iOS but you don’t want 3G iOS. 3G and WIFI seem to work comparable? How about you check the browsers – maybe it’s some browser type that takes down the CVR so cut it.

NOTE: In some cases, it will be impossible to set the traffic source targeting to match exactly what you want it to. For example, you can either target 3G with the whole campaign or not. It’s not possible to target Android 3G and WIFI and just 3G for iOS in one campaign. In this cases, you will need to clone the campaign and target Android in the original one and iOS in the clone.

Hunt for the WORST, keep the average ones running for now, that’s the name of this method. Every time you cut something, make sure to run the remainders for some time and look at the data again. And only when you used all the targeting options, then look at the placements and cut those that are simply not working for you. At this stage, you should be starting to see some green or at least be very close to it, otherwise the offer/banners/LPs simply won’t cut it and you need to improve them or find better ones.

This is it pretty much, this method isn’t the only one I’m using but it’s one of my favorites for low paying offers. Any questions?

Thanks for reading.

[grwebform url=”https://app.getresponse.com/view_webform_v2.js?u=Sym6E&webforms_id=8162402″ css=”on” center=”off” center_margin=”200″/]

Written by


  1. I am also interested in knowing more about how to detect bots properly.

    So as I understood from your article, you are first running the bot detection script and then running your actual landers, right? Wouldn’t it make more sense to detect the bots on the fly instead of running a test to detect bot traffic and then running the actual traffic?

    I am aware that the distribution of bot traffic changes fast, so even though one day you could detect 80% of bot traffic in a site and 5% in the other one, the next day could be something different.

    1. Detecting the bots on the fly 24/7 would be an overkill and it would slow down the redirection, which is something you don’t really want. I’m using bot detection “from time to time” so to speak, to check whether there are some new large bot placements. Also, when starting to work with a new source, it’s a MUST to do.

      But yes, in case you are able to detect BOTs on the fly, without any negative impact on the integrity of your campaigns, by all means do it.

      I optimize placements based on the ROI they produce, so placements with too many bots will get paused anyways. The most important point and the main reason for using a BOT test, is to make sure you are optimizing a campaign based on REAL traffic. Once you have a proven funnel, you can focus on ROI alone, bot placements will fall out naturally.

Leave a Reply

Your email address will not be published. Required fields are marked *