Running profitable POP campaigns using CPA cost model

In this topic we will talk about running POP traffic using CPA cost model. As you can know CPA – Cost Per Action. Therefore in this case we’ll pay for each lead. Looks easy, right? Don’t think so  🙂

There are some sources which offer CPA cost model for advertisers. Some of them:

  • Propellerads – we will talk about this network, cause it’s my main source if we talk about this cost model
  • Clickadu
  • Adcash (I don’t want to throw shit, but 99% of my campaigns and also my friends  were not profitable. It looks like there are a looooot of bot or shit traffic. Be careful with that.
  • Adsterra

Please know one thing – you need really GOOD offers and GOOD landers, which you TESTED before. Because it’s not like CPM where you receive traffic depending on your bid. In CPA if your offers/landers don’t converts, you won’t get any leads or only few. You may think “Cool, in this case I won’t spend money for tests. If there are no leads, I won’t pay anything!” – NO! You will pay your “test budget” (will talk about that next).

How to chose good offers and landers?

  1. Run campaigns using CPM model, optimize that
  2. Run campaigns using different sources (Popads, Popcash, Hilltopads etc…), optimize that

And your optimized campaigns with a good ROI your can run through CPA model. So you chose what you’ll run.

Before running
Before you’ll run your camps through CPA cost model, you have to add propeller’s postback to your tracker. Go to “Tracking” and copy your unique link:

Then you have to add this postback in your traffic source’s settings. Put ${SUBID} (macros which will send you an ID of the visitor) in your External ID parameter in your tracker. Then add this externalid to your link. If you’re using voluum, it will be like this:

Creating campaigns
In Propellerads you need to click “Create campaign” and you will see:

  • Campaign Name – The name of your campaign;
  • Pricing Model – We need a SmartCPA;
  • Target URL – your tracking link;
  • Countries & Conversion Price – choose a coutry you need and set a sum which you will pay for each lead. If we talk about CPA model, there are a good ROI = 20-30%. Please don’t set 20% of your payout or 50%. The source won’t give you any traffic with this low price. Usually I set 75-85% of my payout. For example if I have $10 offer, I’ll set $8 in Propeller. I will earn $2 for each conversion. And it’s normal for CPA model!

  • After that you need to setup right targeting options or large targeting if you don’t know which options to run.
  • Test Budget Limit – it’s a max amount of money you’re ready to pay if your campaign won’t be profitable for the source. If your campaign had no leads, but propeller sent you traffic, they will do calculations based on an average CPM. For example if you received 10 000 visits with no leads and average CPM is $4, you will pay $40 for test. I recommend to set $100-150 on your test budget.
  • Slice Limits – if we’re working with CPA cost model, the source will optimize zones by hisself, and this is a limit of impressions which a the source will use in optimization process. If you set 2000 visits, and from some zone you’ve received this amount of visits with no leads, the source will block this zone. Therefore you need to optimize only target. I recommend to set 3000-4000 visits.

Optimization process

  1. As we already know the source will optimize zones without our participation. But we need 100% good offers/landers/targeting. So how I do optimization?
  2. After 2-3 days I look at my tracker’s stat which parameters gave me low EPV. We don’t have a negative ROI, cause we pay only for leads. And therefore our main parameter there – EPV (Earn per visit)
  3. If some parameter shows a couple times worse EPV than others, we have to turn it off. For example Android 4 gave us 0.001 EPV, when Android 6 = 0.006. But often we can’t edit the campaign, therefore you have to create a new campaign with optimized targeting. It will be very good if you add a blacklist (go to the stat and block all zoned which show you a bad EPV) to stop bad zones on start.
  4. You can do that process 2-3-4-5 times and do more accurate accurate targeting.

Things you need to know

  1. As I already said, you need really good offers and landers.
  2. Do not be greedy and set 70-80% of your payout. In this case you’ll get more traffic and more profit, even with a small ROI.
  3. If your campaign performs good, propeller’s team will clone your camp and create 5-15 multiple campaigns to give you more traffic. One day I received 20 times more traffic, than I had with CPM cost model
  4. The moderation is more loyal for CPA campaigns (not in 100% cases)
  5. You can receive an absolutely different traffic with the same targeting. For example I run a camp through CPM model and CPA. And zones in these campaigns were absolutely different. And a quality too.
  6. Traffic in CPA cost model is more qualitative than in CPM, that’s I can say after tests.
  7. Do not hesitate to ask your AM about TOP CPMs, it’ll help you a lot!
  8. The CPM is different for each zone. And how much traffic you’ll get from a current zone depends on your CPM on it.
  9. The CPM refreshes every hour for each zone.
Posted in compaigns, techniques, traffic source | Leave a comment

When To Care – And When NOT To Care – About Bot Traffic

I want to correct a few misapprehensions that some people may have about bot traffic.

In short: bot traffic is not always a killer. It’s never good, but you shouldn’t regard “bot or no bot” as the ultimate decision-maker on a placement.

Why not? Well, let’s look at 3 different types of placement.

John Connor’s Nightmare: The 95% Bot Placement

When you run a bot test on a traffic source, you’ll often come across placements which are very, very high percentage bots, up to 95% or 100%.

This is where bot testing (here’s how to do a simple bot test) really shines. These placements are absolute garbage. They’ve got no chance of giving you any sort of a return – but if you’re just testing conventionally, you can waste 3x your payout on finding that out, per placement. Bot testing lets you check a lot more cheaply on many sources – 30 or so clicks, sometimes less.

These placements are really simple. But…

I’m Sorry, Dave, I Can’t Convert That: 50% bots

Placements with mixed bot and human traffic are much more complex. I’ve run bot tests in the past and discovered 60% bot traffic onprofitable placements.


Because the remaining 40% traffic was competitively priced.

The first thing you need to do with a mixed traffic placement is to figure out if it can be profitable, based on the human traffic alone. Say you’ve got a payout of $12, and you’re running on a native traffic source with $0.50 CPC. Now, say you discover that placement is 60% bots. That means that 6 out of 10 of your clicks will be bot-driven if they average the same click rate as humans. In other words, if you pay $5 for clicks, you only get 4 legitimate clicks, for an effective CPC of $1.25.

Are you likely to see a conversion rate of significantly above 10% (roughly the amount you’d need to break even)? That determines whether the placement is priced fairly, and whether you should continue bidding on it. In this case, I’d be skeptical: $12 payout implies a lower CVR. Native traffic can boost that, but still, it would look to me like that placement is being bid on by people who don’t understand that they’re paying for bot traffic, and aren’t taking that into account.

As a general rule, the more brand-friendly the placement, the less likely it is that the pricing will take into account bot traffic. But that’s just a rule of thumb based on the fact that brand advertisers tend to be less performance-driven, and more driven by being able to say to their clients that they’ve had “300,000 eyeballs on this ad” (even if 299,999 of those were less eyeballs and more HTML parsers).

So what should you do with a high-bot placement that you believe could be profitable? Answer – test it as normal, but ignore all metrics that don’t make you money. Bots will play hell with your CTR – they’ll either artificially inflate it or artificially reduce it. You might see click loss, you might see all kinds of odd behaviour. Ignore everything except how much you’re spending, and how much you make. Conversion rate per click, cost per click, and your overall payout are all you care about.

The Promised Land? 0% bots

And here’s the other thing to remember: just because there are no bots doesn’t mean the placement will convert.

There’s an excellent example of that on a lot of DSPs right now: Grindr. I’ve done multiple bot tests on Grindr traffic, and it’s one of the purest-human sources I’ve seen (at least as of six months ago). Almost no bots, just tons of horny gay guys.

It’s also on a lot of blacklists. Damn thing just won’t convert for many people. Why? Well, just because the horny gay guys are human doesn’t mean they’re interested in your ad. The demographic is tech-savvy, cynical about advertising, and very very focused on one thing and one thing only: shagging. So despite being a very high-quality placement from the bot point of view, it’s a terrible placement from the making-money point of view in most cases.

(Grindr can be an amazing placement, but you’ve pretty much got to tailor your entire campaign to it, and push something the users are actually interested in. Muscle, diet, dating.)

Other placements get great bot results, but won’t convert on anything. That usually means they’re heavy on fat-finger clicks: the ad’s placed in such a way that lots of users click on it accidentally. Games are particularly bad for this. Some of them may even incentivise users to click on ads to get in-game currency – of course, the CVR of such clicks is terrible.

So just because you’ve found a 0% bot placement, that doesn’t mean you’ve found the Promised Land. You could get better results with a high-bot but high-conversion placement.

All of this will become more important as advertisers become more bot-savvy. Expect to see mixed-traffic placements get a lot cheaper, particularly once brands start throwing fits about paying for bot traffic. And given the current press interest in ad fraud, expect to see that happening sooner rather than later.

What do you think? Any tips on making the most of mixed-traffic placements, or any questions on the proper care and feeding of bots? Let me know below!

Posted in Uncategorized | Leave a comment

49 Immediately Implementable Copywriting frameworks/structures/tips

Hello Everyone!

Finally after 13+ hours of work I have come up with a comprehensive summary of all the copy writing tips/tricks and techniques I could find in Ca$hvertizing I present to you my summary which is written in a way such that you can immediately start applying and benifiting from it. So without further ado:

1) People do not care about others they care about themselves:
– Show them the benefits of using your product for them
2) There are 8 biological forces that create desire in us which in turn makes us take action:
i) Survival,*enjoyment*of*life,*life*extension
ii) Enjoyment*of*food*and*beverages
iii) Freedom*from*fear,*pain,*and*danger
iv) Sexual*companionship
v) Comfortable*living*conditions
vi) To*be*superior,*winning,*keeping*up*with*the Joneses
vii) Care*and*protection*of*loved*ones
viii) Social*approval
– Use them to create desire and show them how to relinquish it with your product/service.

3) Tap into existing fears of people
– Scarcity is a form of fear use it: (Scarcity will grab attention of your prospect, however you still need to close the sale), It also implies exclusivity.
– 4 phase fear technique:
i) Instill Fear in them, but not so much that they feel helpless (Deer in the headlight)
ii) Make a recommendation that can help overcome the fear (must be believable and specific)
iii) How and why, what you recommend is a potent strategy against the perceived fear
iv) The recipient must be able to believe he or she can pull off your strategy
4) Means-End:
– Show how what they are buying from you today will benefit them tomorrow. Example: This car will make a great impression on your future boss thus getting you a pay upgrade.
5) Add Credibility:
– Make someone of high value in the eyes of the customer vouch for your product. Something like: As seen on cnn, cnbc, bbc, etc.
6) Bandwagon Effect:
– Show them that a lot of people think that your product is good and like using it.
– Creating bandwagon effect:
i) Your product must show that it encompasses the values of a specific group. For instance, Gap (apparel store) clothes depict youthful trendiness with bold designs, something that resonates well with the values of the teenage market.
ii) It must disassociate for all other demographics. For instance, Gap saying something like, For trendy young folks only!
7) Ego Morphing:
– Showing in your advertisement the desirable (DESIREABLE: what your target market & world feel are desirable) qualities that people would like to have. For example, a perfume advertisement will show a good looking man in nice suit sitting in a Rolls Royce and women sensually staring at him as he goes buy. Thus the advert is depicting Social acceptance something we all crave at an intrinsic level.
– If you want to attract a male audience use a man as the object you put in your advertisement and vice versa for women. Because men look more closely to men and vice versa.
8) Trans theoretical Model:
– Different Consumers may be in Different buying phase and, we need to address this. First let me tell you the 5 phases:
i) Unaware: They are unaware of your existence or they are not needing your product
iii) They are contemplating using your product
iv) Preparation: Thinking about buying
v) Purchase Happens
vi) Maintenance phase: they continue buying from you
– We can use two strategies:
i) Make an ad that targets consumers of all 5 stages
ii) We can make an add for phase 1, then 2 and on an on periodically and systematically target each phase.
9) Inculcation Theory:
– Tell them something that is against their belief or that they do not want to believe and tell them that ‘some people’ say this. (Maybe they believe in magic weight loss pills and you can tell them that FDA says they don’t work)
– Proceed to tell them that they actually do not want you to know the truth (the truth is the customers preexisting belief) (shhhh…. The 1 big fat loss secret FDA does not want you to know)
– Proceed to reinforce their previous beliefs and offer your product (no, weight loss pills are the only way to lose weight!)

10) Changing their reality:
– Change their outlook on your product:
i) Reinforce some previously held beliefs and add some on top (If they believe weight loss pills really work say: Yes, weight loss pills are the way to go, but did you know that they are only 30% useful if they are not used synergistically with our product x)
ii) Attack a preconceived notion that they may have by giving sheer statistics, facts and social proof (Bandwagon effect). (They do not believe in weight loss pills: Show them testimonials, show them studies of people losing weight, etc) -> This method is harder then the first, People hate to believe what they have being believing for a long time is wrong.
11) Central VS Peripheral route:
– Central route Selling: Uses our conscious mind more, tries to give rational arguments for buying like facts, stats, testimonials. Example: Insurance policy. If you can logically convince someone that you are selling something valuable to them, they will be your customer for a long, long time.
– Peripheral route Selling: Uses subconscious mind more; uses images to stir up our core desires. Example: Designer Goods
12) C.L.A.A.R.C.S:
– Comparison: Create a product that signifies “club/group membership” (Refer to Bandwagon Effect above)
– Linking: People buy more from people/product/advertisements they like (Be Likeable!)
– Reciprocation: Give out things of value to customers for free and they will come back and buy from you
– Authority: Have someone credible vouch for your product (Same as Point 3)
– Consistency Bias/Foot in the door technique: Get the to say yes in multiple small things and they will inevitably say yes to a large favor, its like snow ball effect. (Example: Do you want to be fit? Yes, Do you want have rock hard ab’s? Yes, Do you want hot chicks to be drooling all over you? Yes, Well than try out this free pill. Ok! Cha ching $$$ )
– Scarcity
13) K.I.S.S: keep it simple stupid:
– The masses are not ultra smart and savvy. Your copy must have simple words, be easy to read (good font choices), and should be organized in a dummy friendly way

14) Example Vs Statistics:
– Much Like peripheral vs central route:
– Examples: The example of benefits of using your product/service.
– Stats: you know what those are!
– We use both, more of one than the other, depending on the item being sold:
– Examples of each kind of product:
i) Example Product: Beer: You will show young good looking people having a great time (The only stat you will show here is maybe % of alcohol). Other examples: tanning salon, lingerie shop, ETC
ii) Statistic Product: Laser Printer: Show them lots of stats on why they should buy.
15) Dual role persuasion:
– Tell them about your competition: Don’t bad mouth them, just tell them about their products maybe even put in a complement somewhere and then calmly proceed to talk about your product and how it is better for the consumers (Do not hyper exaggerate just be like their product is not bad in fact it did great in the 90’s however in the 21st century we provide the most efficient solution, blah blah blah….)
– Don’t be afraid to call out the sort of person who you do not want your product to have (This Also creates some kind of scarcity: Face it we all want what we cannot have )
16) Repetition:
– Repeat your message but phrase it differently to hammers the point home.
– Another way of looking at this can be Maybe have multiple ads with same core message but different creative/copy.
17) Evidence of Value:
– Prove to them that what you are providing in value is much more than what they are paying, e.g. would you buy a $100 bill in a see through plastic bag for $10 if I were to sell it to you? Of course!
– Make the value of the benefits easy to understand and imagine
18) Rhetorical Questions: Use rhetorical question disguised as statements to re-establish/emphasize a point which makes them consider the advertisers message/ e.g. Aren’t you glad you used product x, who else will give you a better deal on financing.
19) Psychology of simplicity:
– Make your message easy for the masses to understand:
– No fancy vocabulary
– Refer to point 11
– Reduce:
Long sentences, long paragraphs, long words
– Ask questions to create loops and keep people interested. (loop: when you ask a question the other person unconsciously starts looking for answers to it)
Would you like to know how to become a copywriting genius? Read on
– Be Personal with them:
Use first person pronouns; YOU & I
20) Use Feature Benefit Pairs:
– Answers the WIIFM question (What’s in it for me) for the consumer
– Tell the feature of a product and what it means for them i.e. the benefit.
– Feature: 700 HP engine, Benefit: Feel the thrill each time you press the gas!
– Practice writing enticing benefits
21) Headlines:
– Have your biggest benefit as your headline
– It should catch attention of target market: Use words, picture the target customers are familiar with and are looking for
– Write Shorter headlines. Rule -> 2 equally effective headline -> Shorter always converts better
– You can give a news presenter styles headline:
E.g. Scientists find the cure for flabby man boobs
– The headline should:
i) Hook them in (Get their attention)
ii) Want them to read/inquire more
22) Stand out and capture their attention:
– By having an ad that is different from competition
23) Specificity:
– Keep the benefits section nice and specific
– Tell exactly why your product is good/better
24) Oglivy Principle:
– Have a large picture and a headline under it as a caption
25) Do not write inverted ever! -> Never Do this
26) Social Proof:
– Use testimonials they’re powerful!!! (Bandwagon effect all the way baby!)
27) Guillotine Method:
– Give your message a face.
– Put a photo of someone as though that person is addressing prospects, this personalizes the message. Making it more human
28) Direct Mental Movies:
– Get your prospect using all 5 senses: V-A-K-O-G
– Crete strong internal representations of the prospect using the product
– Example: Just one look at our lush green grass will make your body relax, walking on it will feel like you are walking on feathers. Etc (Note I am engaging 2 senses of prospect here, the more the merrier)
– Use powerful visual adjectives to achieve this
29) Make it easy for them to take action:
– Humans and sloths are more alike than different
– Make it so easy that they just do it there and then without hesitation
– E.g amazon one click purchasing
30) Survey Sale approach
– Send out a survey, and put an irresistible offer at the end
– E.g how do you like our product? Then follow this us with: Thanks for filling our survey we want to offer you a 50% discount.
– However, try to make them convert there and then with the special offer (Make it time bound or something (use scarcity my dear!))
31) Establish Yourself as an authority in your industry:
– Give free knowledge tidbits to people
– Makes people trust you and, reciprocity buying begins because you helped them first
32) Unique Selling Proposition:
– Teach the consumer about the industry in a creative and fun way (Note: We humans like fun) and show how your product is special amongst the competition.
33) Use Pictures but wisely:
– Show the product in action
– Show the product in action giving benefits (a fan cooling a guy in the summer)
– They should be some connection between brand/message and picture
– Use picture in context. E.g. Don’t just put a picture of a fridge, put a picture of a fridge which is located in a beautiful kitchen (Use peripheral marketing you dummy)
34) Use attention grabbers:
– Put something in the beginning of the sales copy that reels a user in
– Dollar bill, sand bag.
– Use personal teasers, “Ibrahim is what they say true about you?”
– Give them a quick fix: “Learn how this pill can help you reduce 20% body fat”
– Start with a question: “Do you want to do x?” and proceed with writing down a killer benefit of doing x.
35) Offer testing:
– The market is like a living beast:
i) It accepts what it likes and rewards it with conversions
ii) It rejects what it does not like
– If it does not like how you are pitching your offer change it
– E.g. 50% off vs buy one get one free
36) Marketing Research:
– Is paramount
– Get customer feedback via surveys
– Make it easy for the customers to fill out the surveys/ give customer feedback
37) Long copy performs better than short copy:
– When it is interesting
38) Using editorial voice:
– Use the tone of a news reporter talking about a discovery
– Be objective though don’t go all out butt kissing your product
39) Guarantees are powerful:
– Increase the desire to believe your pitch
– Decrease skepticism of your product
– Give long and strong guarantees: Makes you more trustable and you have less product returns
40) More ads are better:
– Have more than one ad so that you may be noticed more
41) Humans Like coupons:
– Coupons create sales
– Give a coupon to them and see the magic happen
– We think that we are making a good choice when we are buying something using a coupon
42) Formula for size:
– The bigger the ad the more interest in generates but how big? See below:
– Size increase % = 100 * Factor you want your ads to increase interest by)^2
– E.g. if I want my ads to have thrice as much interest, I will Use 3 as my factor and the formula for size increase will be as follows:
Size increase % = 100* (3)^2
Size increase % = 100*9
Size Increase %= 900%
– Thus to generate 3 times as much buzz for my add I will have to increase its size to 900% of current size or in other words the ad need to be 9 times bigger.
43) Use colors to your advantage:
– Use good color combinations, use colors that complement each other
– Use red, green, yellow and blue
– Black and white pictures are good to demonstrate dramatic situations and intellectual stuff
– Use colors that are associated with brands like Red and white writing for Coca Cola, this triggers a subconscious response in the user.
44) Email Response Boosters:
– Send no more than 1 email a week
– They are more likely to open if:
i) They are familiar to the sender
ii) There is a personalized subject message (has name or something)
iii) The email has an offer that will interest them (Your email list needs to have your target market)
45) Even Odd Pricing:
– Even Pricing depicts quality
– Odd pricing:
i) Our brains like rounding up but to the lower digit. For example, our brain will read $9.99 as $9 not $10 thus justifying the offer as a lower price.
ii) Suggests that we are getting a good deal
46) Leave some white space around your ads
47) Give yourself a cleveroctomy:
– Your ads need not be clever or witty they need to sell and the Testing DATA will choose which ad is the best
– In advertising it is not clever being clever
48) Speak the language of the prospect:
– Like what they like, hate what they hate, this way they will start liking you (hint: people buy from people they like)
– Order the benefits of your product in descending order to how your prospects perceive them. So the biggest benefit that the prospect believes should be #1 on the list.
– Order them in the benefits section and throughout your copy the same way.

49) 12 step copy lure method:
– Follow these 12 steps to write copy
i) Continue you’re the thought you propagated in headline in the Sub headline
ii) Ask a question to the consumer (Maybe calling out doubt that might have entered the consumers mind)
iii) Then give a quote from a respected authority the the consumer trusts to answer that question
iv) Give them a free tip (A teaser from inside the course you are selling)
v) Challenge them to put it to action and see the results
vi) Tell them the story of a skeptical customer who became a true believer in the product once he tried it out
vii) Add social proof: Testimonials
viii) Play reporter: Use an objective tone of voice and talk about the products as a reporter would of a great discovery
ix) Get personal (Use You, you and you a lot) E.G. Would you like to use x, would you like to go to x, would you like to get x amount of money in 10 days.
x) Tell a dramatic success story about the product
xi) Give Detailed Specifications and feature
xii) Give the Call to Action

Posted in compaigns, copywriting, techniques, Uncategorized | Leave a comment

Running Mobile? Boost ROI with Granular Offer Testing! – Part 4

Find Part 4 Here…




I know you’d probably be more excited if I could run the above camps to profits before showing the results, but this post was meant to be a guide only and not a case study (which I have plans to do in the very near future), and I wanted to finish this post so I could spend some time replying to other posts.

From here on, basically my next steps will be:

1)Continue running the promising camps and cutting offers.

2)When a camp is down to the best offer/offers, I’ll clone that camp to test different bids to see which one will be the most profitable.

3)This would also be a good time to scale the camp to other traffic sources – because I know what the best offer is for the traffic segment.

4)I’ll cut stuff – placements, devices, OSs, browsers. If a certain device/OS converts extremely badly I may also cut them even while testing offers. Usually I leave dayparting for last. If ROI is high I’ll play with frequency too to see if I could increase overall profits.




Different offers will perform VERY differently for wifi vs. each specific carrier. By testing offers for each separately, you can maximize your ROI for every traffic segment.

Carrier traffic can often convert a LOT better than wifi traffic for carrier-billing type offers. By doing initial testing to find out which geos on which TSs have lots of carrier traffic, and testing offers for them, you’d be going after the gold!

I used Mexico as my example, which doesn’t really show you the potential profits you can make with this method, because this geo consists mainly of wifi traffic, and I’m not about to give away my best geos, i.e. the ones with enough carrier traffic to capitalize on.

However, you can find this out easily by testing ALL the major geos using the “initial tests” I’ve described above – and you’re not limited to PopAds either. Which brings me to my next point…

-You can use this approach with other traffic sources, not just PopAds. Other traffic sources may not give you a traffic estimate like popads does, but you can always run a bit of traffic and approximate to get an estimate. For example, target carrier traffic only and set a reasonably high bid, run for example $10 of traffic to it, drill down to “dayparting” data to see how long it took the $10 to run out. Let’s say you got 300 impressions during the 1st hour the campaign went live, then 450 impressions during the second hour and then 200 in the third hour, then your $10 budget ran out. You could then take the hour with the maximum impressions (450 in this case), drill down into mobile carrier stats to see what percentage of total carrier traffic came from each carrier, then calculate an approximate daily volume for each carrier.

Explanation: So you got 950 impressions in total, and the max impressions in an hour is 450 impressions so we’ll assume that’s the amount of all carrier traffic you can get per hour. Say you drill down into mobile carrier stats, and see the following break-down:

CarrierX – 400 impressions (400/900=42%)
CarrierY – 350 impressions (350/950=37%)
CarrierZ – 200 impressions (200/950=21%)

You would calculate the percentages as above, then apply these percentages to the 450 impressions/hour approximation, then multiply by 24 to get daily estimates:

CarrierX daily volume = 42% x 450 impressions x 24 hours = 4536 impressions
CarrierY daily volume = 37% x 450 impressions x 24 hours = 3996 impressions
CarrierZ daily volume = 21% x 450 impressions x 24 hours = 2268 impressions

These estimations won’t be accurate because of traffic volume fluctuations throughout the day, but should give you a rough idea on which carriers have enough traffic to be worthy of testing offers for.

By doing initial testing to find out which carriers have enough traffic, you can then look for and test offers that accept those carriers. So for example, if you know there’s very little traffic available for CarrierX, then don’t even bother testing offers that only accept traffic from that carrier! On the other hand, if you see a good amount of traffic available for CarrierY, then you can look for carrier-billing offers (for example) that accept CarrierY traffic to monetize that traffic. You can also ask AMs for offers that convert well for that specific carrier.

-You may be asking “since most of all mobile traffic is wifi, why bother testing offers separately for each carrier at all?” This goes back to my first note about how carrier traffic can convert significantly better than wifi traffic for the right offers. These are pockets of profit that will allow you to bid high for and make a high ROI on.


And that’s it! I probably made it sound a lot more complicated than it is. Do this a couple times and you’ll see how simple it actually is to do.

I wish you luck in finding the best-converting offers for all major traffic segments!


Posted in Uncategorized | Leave a comment

Running Mobile? Boost ROI with Granular Offer Testing! – Part 3

Find Part 2 Here…




General Wifi:

Offers Stats:

ISPID Stats:

Not too much data yet, and the overall offers stats don’t look too good. But for the 4 ISPIDs that have made 1 conversion/ea, when I drill down to offers the offer that made that conversion is green. So by running more traffic I could end up with a few major ISPs in profit. Will run more data and then decide.

Adult Wifi:

Offer Stats:

ISPID Stats:

Again, not enough data yet. The only ISPID with “green offers” when I drilled down, is 3369. The overall offers stats look dreadful as well. So I’ve decided not to continue with this camp.

Adult Telcel:

ISPID -> Mobile Carrier -> Offer:

This is the “tag-along” wifi traffic from Telmex/Telcel. Nothing too exciting yet. I’ll just cut offers that made 0.06 and 0.45 and run more traffic to see if things pick up, because some of the offers haven’t even had a chance to convert yet.

Telcel portion of ISPID 366660:

These are stats for the Telcel carrier traffic, which looks really promising! However, remember that we can’t JUST target Telcel carrier traffic on popads.

So what I’m going to do next, is set up camps on other traffic sources to target JUST Telcel carrier since I know it converts so well. Cha-Ching!

General Telcel:

ISPID -> Mobile Carrier -> Offer:

This is the “tag-along” wifi traffic from Telmex/Telcel. Doesn’t look too impressive so far, but then I still need to run more traffic to it to make sure.

Telcel portion of ISPID 366660:

These are stats for the Telcel carrier traffic – not enough stats to say anything, but based on Telcel carrier stats from the adult camp, I’d definitely test these mainstream offers on another traffic source as well.

General Iusacell:

Mobile Carrier -> Offer:

Too earlier to tell but looks like the ISPID has a chance! But you can see that the Iusacell traffic is converting very well, so I would definitely go to another traffic source and set up a camp to target just Iusacell carrier traffic. Cha-Ching again!

Adult Iusacell:

Mobile Carrier -> Offer:

Same observations as for the General Lusacell.

As for the Nextel camps – there’s simply too little traffic to be worth the trouble. I was already bidding top bid and after over 10 hours these were the stats:

I would probably set up the same tests for Nextel on another traffic source – one that has more Nextel traffic.

Continued in Part 4…!

Posted in Uncategorized | Leave a comment

Running Mobile? Boost ROI with Granular Offer Testing! – Part 2

Find Part 1 Here…




Now that we know which carriers have enough traffic to be worth testing, we can test offers for them separately.

I compiled a list of offers for MX, and the carriers and OSs each offer will accept.

Next I set up the following camps on popads: General Wifi, Adult Wifi, General Telcel, Adult Telcel, General Iusacell, Adult Iusacell, General Nextel, Adult Nextel – one adult and one general camp for each major traffic segment.

Camp 1 – General Wifi:

PopAds Targeting: general categories, country = mexico, connection types = all targeting options EXCEPT cellular, connection speeds = all targeting options EXCEPT cellular/carrier, device = smartphone+tablet, internet service providers = everything EXCEPT Telcel and RadioMovil Dipsa, S.A. de C.V. (because those have carrier traffic – we’re testing those separately), everything else at default. Checked traffic estimator and picked an above-average bid to make sure I’d get OK-quality traffic, but not really high because most of the traffic is just wifi so no need to.

Tracker Setup: Proven lander + all mainstream offers that accept wifi traffic. (Being careful not to include adult offers here!)

Camp 2 – Adult Wifi:

PopAds Targeting: same as for camp 1 except target adult categories. Checked traffic estimator and picked a higher-than-average bid.

Tracker Setup: Proven lander + all adult offers that accept wifi traffic + mainstream offers that allow adult wifi traffic. (Many mainstream offers don’t accept adult traffic so be sure to check with your AM!)

Camp 3 – General Telcel:

PopAds Targeting: same as for camp 1 above, except for “internet service providers” choose Telmex and RadioMovil Dipsa, S.A. de C.V. Checked traffic estimator and picked higher-than-average bid.

Tracker Setup: Remembering that by targeting Telmex I’ll be getting 97% wifi traffic, I set up a rule that says “If carrier is Telcel”, then added all mainstream Telcel offers in the list above. Then in the default path – where the wifi traffic would go through – I listed all mainstream offers that accepted wifi. Same proven lander.

Camp 4 – Adult Telcel:

PopAds Targeting: same as for camp 3 except choose adult categories. Checked traffic estimator and picked higher-than-average bid.

Tracker Setup: same as for camp 3 above, but also add to the tracker offers that accept adult traffic.

Camp 5 – General Iusacell:

PopAds Targeting: same as for camp 1 above, except for “internet service providers” choose Iusacell only. Checked traffic estimator and picked higher-than-average bid.

Tracker Setup: Remembering that by targeting Iusacell I’ll be getting 80% wifi traffic, I set up a rule that says “If carrier is Iusacell”, then added all mainstream Iusacell offers in the list above. Then in the default path – where the wifi traffic would end up – I listed all mainstream offers that accepted wifi. Same proven lander.

Camp 6 – Adult Iusacell:

PopAds Targeting: same as for camp 5 above, except choose adult categories instead of general. Checked traffic estimator and picked higher-than-average bid.

Tracker Setup: same as for camp 3 above, but also add to the tracker offers that allowed adult traffic.

Camp 7 – General Nextel:

PopAds Targeting: same as for camp 1 above, except for “internet service providers” choose Nextel Mexico only. Check traffic estimator and bid max bid – because there’s very little volume for this carrier so I need every impression I can get; and bidding low wouldn’t get me any traffic, because carrier traffic tends to be a lot more expensive (cause it converts so much better!).

Tracker Setup: No need to set rules here because ISPNAME=Nextel is 100% Nextel traffic. I listed all mainstream offers that accepted Nextel. Same proven lander.

Camp 8 – Adult Nextel:

PopAds Targeting: same as for camp 7 above, except choose adult categories instead of general. Checked traffic estimator and bid max bid.

Tracker Setup: same as for camp 7 above, but also add to the tracker offers that allowed adult traffic.

(Note: Alternatively, you can use the staggered bids method I’ve suggested many times in previous posts – basically look at the traffic estimator, pick low + average + high bids, and set up 3 campaigns instead of one with these different bids. Run some traffic to each camp – 10-20x payout would be good – then see which bid is giving you the highest ROI, then pause the other 2 camps and run the remaining camp to continue cutting offers.

I’m not doing this for mexico because carrier traffic volumes are already really low so it’s not worth the trouble. But you can do this if you find a geo that has lots of carrier traffic. And you can certainly do this for wifi traffic which is usually in abundance.)

Continued in Part 3…

Koutrouss Media

Posted in compaigns, techniques, tracking, Uncategorized | Leave a comment

Running Mobile? Boost ROI with Granular Offer Testing! – Part 1




With competition levels on pop traffic sources being an all-time high, it’s becoming increasing important to test massively but effectively to get the most ROI out of each traffic segment.

Many people know that in general, mobile carrier/cellular traffic converts a lot better than wifi. I’d like to share my way of mass-testing offers in a granular way – by finding the best offer for every major carrier vs. wifi traffic separately. This way you can get more ROI out of each traffic segment.

I’ve only used this approach with pop traffic so far, but you should be able to do this for display traffic as well.




The following conditions will make this approach especially effective and suitable:

You already have a proven lander that works. Without a good lander, you can’t gauge how promising the offers are that you’re testing. Plus it would waste more test budget.

Offer payouts are low. Otherwise it would take too much test budget. (Exception: When you don’t care about initial test budget because you may just make it all back after identifying the best offer for each traffic segment.)

You’re running on a traffic source that has a lot of traffic for your geo. Otherwise you’d be waiting days to cut offers for separate camps.

I’m going to test some offers in Mexico on Popads to illustrate the process.




First thing I do when running in a new geo on popads, is set up 2 test camps to find out how much carrier traffic is available, and which ISPIDs/ISPNAMEs they’re under:

Test Camp #1 – I call this the “CAR” camp – With “connection types” set to “cellular” and “connection speeds” set to “cellular/carrier”.

Test Camp #2 – I call this the “NOCAR” camp – With “connection types” set to everything EXCEPT “cellular” and “connection speeds” set to everything except “cellular/carrier”.

Basically I just use any offer for these – we’re not looking to test offers at this point. Bidding a bit above average would be good, because we want to trigger traffic from every carrier. Set a $5 for each camp. Before running these tests, make sure you’ve added popad tokens ISPID and ISPNAME to your tracker!

Then we drill down into stats. Let’s look at the CAR camp first:

Then I did this:

-In Voluum, I drilled down to ISPID -> Mobile Carrier -> ISPNAME, expanded all entries.

-On an excel spreadsheet, I recorded all ISPIDs that contained carrier traffic (except when there was only like 1 impression because that could just be wrong traffic; anyways we would never optimize for small volumes).

-For ISPIDs that had both wifi and carrier traffic, I also calculated and recorded the percentage of carrier vs. wifi traffic.

-I also recorded the ISPNAME for each excel entry. I ended up with this:

I then checked stats for the NOCAR camp. I:

-Drilled down by Mobile Carrier -> ISPID, expand for carriers (basically all entries except “Wi-Fi”), recorded all ISPIDs that contained carrier traffic (except when there was only 1 impression).

-Then I drilled down to ISPID -> Mobile Carrier -> ISPNAME, checked each ISPID recorded on the chart and noted down traffic makeup and ISPNAME for each. Resulting excel chart:

Then, I used PopAd’s traffic estimator to estimate the amount of carrier traffic that is available for every entry in both CAR and NOCAR excel charts above. So I went to the CAR camp on popads, went into campaign edit, set the bid to $1 to get top bid, set the “Internet Service Provider” to each carrier one by one and checked the “Summary” tab for the maximum traffic available, and noted the number in the excel spreadsheet. Then did the same for the NOCAR camp.

(Note: If you’re only interested in testing either one of mainstream or adult offers, you’ll need to target the right categories to get the corresponding traffic estimates. Same thing with other targeting – e.g. if you only want to test android offers then target android only).

To finish the excel spreadsheet, I looked for entries that had both wifi+carrier traffic, and calculated the daily volume for carrier traffic.

The finished spreadsheet:

So what does all this data tell us?

1)There isn’t much carrier traffic for Mexico on Popads.

Iusacell may look like it has good traffic volume, but 80% of Iusacell traffic is wifi and only 20% is carrier. Still worth a test – the key would be to have at least one offer that converts well enough for the wifi traffic in order for the ISPID to be profitable overall.

Telcel does have some carrier traffic volume (approx. 5800/day), but for ISPID 366660 then you’ll need to be prepared to have 145k wifi traffic “tag-along” with that Telcel carrier traffic. ISPID 959205 is 100% Telcel traffic, but volume is negligible (only <1000/day). Again, still worth a test assuming we can find an offer that converts well enough for wifi.

Nextel has 2k/day max. Not much especially when we separate that out further for adult and mainstream, but if we hit on an offer that converts well for this carrier, that may turn into xx/day – a nice start for a newbie.

Every geo and every traffic source will be different in the amount of carrier traffic available. By spending a little bit of money to set up test camps for different geos on different traffic sources, you can target the largest volumes of carrier traffic and mass-test offers for them. MX on popads unfortunately doesn’t have a lot of carrier traffic, but I’m going to continue this example anyways for the sake of illustration. I can’t bring myself to show stats for my best geos but you can find out easily with similar testing.

2)On the other hand, there’s lots of wifi traffic. Over 95% of MX traffic on popads, in fact.

So what do we do with this info?

Continued in Part 2…

Posted in Uncategorized | Leave a comment

Convert Up To 19% Of Visitors Trying To Leave Your Lander – With One Script!

Today I’ve got a simple code trick for you that will increase your Web lander conversion rates, whilst not being too aggressive, and generally not upsetting traffic sources.

It’s currently recommended in the wider internet marketing world as one of the best ways to boost conversion rates – even Tim Ferriss is currently using it as his primary way to capture leads for his email list!

And it’s really simple to implement.

Let’s get going!

What Do I Need To Follow This Tutorial?

You’ll need to have a landing page that you want to use this technique on – pop or display ads, it doesn’t matter.

It’ll need to be for a Web rather than mobile campaign, though – this technique won’t work on mobile.

You’ll need to be able to edit the HTML code of your lander, but you don’t need any Javascript knowledge. It’s just a copy-paste job! You will need to know basic HTML and CSS to style your modal popup, however.

How Does It Work?

It’s very simple: we add a script that detects when the user’s mouse pointer leaves the window of our lander, and immediately pop up a “modal” window with an additional offer.

(That’s why it won’t work on mobile – you’d have to track where the user’s hands were! Which obviously isn’t possible. And if you’re running adult, you probably wouldn’t want to, anyway… )

Here’s a screenshot of how Tim Ferriss is currently using this approach. As soon as my mouse leaves the window of his site, this appears:

You can use the window to present a new appeal for the main offer, to present a second offer instead, or to capture email leads (my personal favourite approach and the reason I was researching this in the first place).

It’s a very effective approach – in Unbounce’s tests up to 20% of visitors who were abandoning the page converted instead.

And because it’s not popping new windows, Javascript alerts, or similar things that remove the user’s control of his browser, traffic sources are much less likely to get upset about this technique.

It uses Javascript and JQuery – however, you can put the scripts at the bottom of the page, meaning that they don’t block page loading and thus don’t slow down your lander.

Step-By-Step Instructions

You’ll just need to add some additional code to your landing page.

Firstly, in the <head> tag of your page, add the following <style> tag:

#ouibounce-modal {
  font-family: 'Open Sans', sans-serif;
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
#ouibounce-modal .underlay {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  background-color: rgba(0,0,0,0.5);
  cursor: pointer;
  -webkit-animation: fadein 0.5s;
  animation: fadein 0.5s;
#ouibounce-modal .modal {
  width: 600px;
  height: 400px;
  background-color: #f0f1f2;
  z-index: 1;
  position: absolute;
  margin: auto;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  border-radius: 4px;
  -webkit-animation: popin 0.3s;
  animation: popin 0.3s;

You’ll also need to add additional styles to make your modal look attractive – however, that will depend on the main style of the page. If you need a default style for the modal, here’s one:

#ouibounce-modal .modal-title {
  font-size: 18px;
  background-color: #252525;
  color: #fff;
  padding: 10px;
  margin: 0;
  border-radius: 4px 4px 0 0;
  text-align: center;
#ouibounce-modal h3 {
  color: #fff;
  font-size: 1em;
  margin: 0.2em;
  text-transform: uppercase;
  font-weight: 500;
#ouibounce-modal .modal-body {
  padding: 20px 35px;
  font-size: 0.9em;
#ouibounce-modal p {
  color: #344a5f;
  line-height: 1.3em;
#ouibounce-modal form {
  text-align: center;
  margin-top: 35px;
#ouibounce-modal form input[type=text] {
  padding: 12px;
  font-size: 1.2em;
  width: 300px;
  border-radius: 4px;
  border: 1px solid #ccc;
  -webkit-font-smoothing: antialiased;
#ouibounce-modal form input[type=submit] {
  text-transform: uppercase;
  font-weight: bold;
  padding: 12px;
  font-size: 1.1em;
  border-radius: 4px;
  color: #fff;
  background-color: #4ab471;
  border: none;
  cursor: pointer;
  -webkit-font-smoothing: antialiased;
#ouibounce-modal form p {
  text-align: left;
  margin-left: 35px;
  opacity: 0.8;
  margin-top: 1px;
  padding-top: 1px;
  font-size: 0.9em;
#ouibounce-modal .modal-footer {
  position: absolute;
  bottom: 20px;
  text-align: center;
  width: 100%;
#ouibounce-modal .modal-footer p {
  text-transform: capitalize;
  cursor: pointer;
  display: inline;
  border-bottom: 1px solid #344a5f;
@-webkit-keyframes fadein {
  0% {
    opacity: 0;

  100% {
    opacity: 1;
@-ms-keyframes fadein {
  0% {
    opacity: 0;

  100% {
    opacity: 1;
@keyframes fadein {
  0% {
    opacity: 0;

  100% {
    opacity: 1;
@-webkit-keyframes popin {
  0% {
    -webkit-transform: scale(0);
    transform: scale(0);
    opacity: 0;

  85% {
    -webkit-transform: scale(1.05);
    transform: scale(1.05);
    opacity: 1;

  100% {
    -webkit-transform: scale(1);
    transform: scale(1);
    opacity: 1;
@-ms-keyframes popin {
  0% {
    -ms-transform: scale(0);
    transform: scale(0);
    opacity: 0;

  85% {
    -ms-transform: scale(1.05);
    transform: scale(1.05);
    opacity: 1;

  100% {
    -ms-transform: scale(1);
    transform: scale(1);
    opacity: 1;
@keyframes popin {
  0% {
    -webkit-transform: scale(0);
    -ms-transform: scale(0);
    transform: scale(0);
    opacity: 0;

  85% {
    -webkit-transform: scale(1.05);
    -ms-transform: scale(1.05);
    transform: scale(1.05);
    opacity: 1;

  100% {
    -webkit-transform: scale(1);
    -ms-transform: scale(1);
    transform: scale(1);
    opacity: 1;

OK, that’s the modal styled – now, we need to add it to the page.

Just above the </body> tag, add the following HTML:

    <!-- Ouibounce Modal -->
    <div id="ouibounce-modal">
      <div class="underlay"></div>
      <div class="modal">
        <div class="modal-title">

        <div class="modal-body">

        <div class="modal-footer">
          <p>no thanks</p>

You can add whatever HTML you like inside the “modal” div – you don’t need to have the title or the footer. I’d recommend a line or two of copy and either a button or an email capture field. You can also use Javascript in here if, for example, you want to have a button which then reveals an email submit form.

Now, we add the Javascript that makes this all work. Although the Javascript at work is simple enough (it’s just using the JQuery .mouseout event, for those of you who are coders), we’re using the OuiBounce library to do the heavy lifting, for simplicity.

Add this Javascript below the modal HTML, and just above the </body> tag.

 <script src=""></script>
    <script src=""></script>

      // if you want to use the 'fire' or 'disable' fn,
      // you need to save OuiBounce to an object
      var _ouibounce = ouibounce(document.getElementById('ouibounce-modal'), {
        aggressive: true,
        timer: 0,
        callback: function() { console.log('ouibounce fired!'); }

      $('#ouibounce-modal .modal-footer').on('click', function() {

      $('#ouibounce-modal .modal').on('click', function(e) {

Note – we’re loading the library from a CDN here. For speed or if you’re worried that the OuiBounce library might disappear (definitely a real concern), you could also download the OuiBounce javascript file and reference it locally.

Once you’ve added that, you’re done. Upload the file and test it out by loading your lander, then moving your mouse outside the main browser window – for example, move to close the window via the “X” button. You’ll see your modal pop up immediately.

And that’s it! Using this technique, you should be able to squeeze a few more points of ROI out of your landers – let me know how well it works for you!

And as always, if you have any questions, comments or suggestions, let me know below!

Posted in compaigns, techniques, traffic source, Uncategorized | Leave a comment

The Math Behind Making Money

So you’ve got your campaign set up, and the data is starting to flow in.

Maybe money’s coming in too, maybe it’s not – but believe it or not, it’s the data that is the important bit.

With the data, you can start optimising toward reliable success: but before that, you need to understand how to read the data. And that means a bit of math.

This is one of the key skills of an affiliate marketer.

So brace yourself. It’s time for the science bit.

Using Science To Make Profit

Affiliate marketing is a mixture of art and science.

The art is coming up with ads and campaigns that will appeal to an audience.

The science is looking at the results from your campaigns, and figuring out how to optimise them to success.

So, if you ever wondered at school what you’d use maths for: you’re about to learn how to turn maths into money.

How To Tell If You’re Losing Money

Here’s the first bit of math you’ll need:


EPC is “Earning Per Click”. CPC is “Cost Per Click”. If your EPC is higher than your CPC, you are making money. That applies whether you’re getting one click a day or one million clicks a day.

And one of the great secrets of affiliate marketing is this: a campaign that works at one click a day will often work just as well at a million clicks a day – but you’ll make a million times more money.

Whether the campaign’s big or small, all you need to do is make your EPC higher than your CPC.

How To Make EPC Big

So what “levers” can you pull to change our EPC and CPC?

EPC = Conversion Rate x Landing Page Clickthrough Rate x Payout Of Offer

For each click you get, they have to click through to our offer, then actually sign up to our offer. Then you get paid.

So, for example, if you have a landing page Clickthrough Rate of 20% and a conversion rate of 10%, and a payout of $5, you have an EPC of $5 x 0.1 (10%) x 0.2 (20%) = $0.1

How could you improve this?

  • You could redesign our landing page so that more people click through it.
  • You could rewrite your ad headline so that it better prepares people for your landing page or offer.
  • You could test multiple offers to find one with a higher conversion rate than 10%.
  • You could ask your affiliate manager for a higher payout! Don’t neglect this one – it’s often the easiest way to boost EPC.

[i]TIP: If you’re direct-linking, as we did in “Your First Campaign”, your landing page clickthrough rate is effectively 100%. You might be asking why we use landing pages at all in that case: the answer is that they have a huge effect on conversion rate. A direct-linked campaign in this case might have a CTR of 100%, but a conversion rate of only 1% – meaning your EPC would be $0.05. That’s why one of the first optimizations we’ll look at will be adding a landing page to your campaigns.

How To Make CPC Small

The other way to make money is to reduce your Cost Per Click. Even if you’ve got a terrible EPC, if your CPC is tiny you can still make a lot of money.

Different traffic sources have different strategies for reducing CPC, but they nearly all boil down to this:

CPC = Cost Per Thousand Banner Views (CPM) / Average Banner Clickthrough Rate (CTR) x 1000

If you’re paying $1 per thousand views, and your CTR is 0.1%, you end up with a Cost Per Click of $1 / (0.1% x 1000) = $1

That’s not great!

How could you improve this?

  • You can eliminate the banners you’re testing that have low CTRs, boosting your average CTR.
  • You can bid less for your views: which might mean you get less views, but will reduce your CPM.
  • You can advertise with different targeting parameters that will get you more views for less money. For example, you can advertise to deeper login counts in POF or on less competitive sites in adult.
  • You can add elements to your banners to try and improve their CTR: coloured borders, for example, will often boost CTR.
  • You can test different images and see if they gain a higher CTR.

And That’s How You Make Money

What you do now with your campaign is to wait until we have enough data (see the next part of the guide), then start pulling these levers to see which ones best reduce your costs (CPC) and increase your revenue (EPC).

Once you have made your EPC higher than your CPC, you are a profit-making affiliate marketer!

What To Do Now

Before you move on, check that you’ve absorbed the basics from this lesson.

Take a few moments to write down, in your own words, what relationship EPC and CPC have to your profit. Then list a few things you can change to increase your EPC, and a few things you can do to reduce CPC. Be as specific as you can: for example “I could ask my affiliate manager at F5 if there are other offers I could test that might get a higher conversion rate” or “I could find and test another 5 images, looking for pictures with really eye-catching colours in them.”

Coming next: Optimising Your Banners

Posted in Uncategorized | Leave a comment

Step-By-Step: How To Bot Test Your Campaign

Bots. We hates them, my Precious, we hates them forever.

If you’re not aware: almost all display traffic is plagued with bots, computer programs designed to click on your ads, pretend to be human, and get publishers more money by fraudulently inflating traffic figures.

For us, they’re a nightmare: we end up spending cash on worthless traffic. And some placements are 100% bot traffic – meaning you can optimise your campaign all you like, it’ll never convert.

But there are ways to spot them before you spend significant money. Here’s a guide to a simple bot detection technique, which allows you to detect bots by their click-through patterns.

That means you can eliminate very high bot placements before they cost you money.

What You’ll Need

  • A campaign that you want to test for bot traffic.You’ll also ideally need:
  • A tracker that can run more than one lander in a sequence in a campaign. FunnelFlux and Thrive can do this, and I think the latest version of Prosper may be able to as well.If you’re running a tracker that can’t handle a 2-step lander sequence, you can get around it by creating two campaigns. See below.

Step By Step

Step 1: Create The Bot Trap

Create a new HTML page from the following code:

<script type='text/javascript'>
function redir(){
<body onload="setTimeout(redir, 300);">

Replace “YOURTRACKERURL” with the CTA URL from your tracker that you’d normally use on a landing page.

Upload this page to your server and set it up in your tracker as a landing page.

Step 2: Add It To Your Campaign

Add this lander as the first step in whatever campaign you want to test.

For FunnelFlux, for example, you’d add it as the first node, with Action 1 from this bot detection lander linking to the “real” lander you’re using.

If you’re using a tracker that can’t run multiple lander steps in a campaign, create a new campaign with your bot detection lander as the landing page, and your “real” campaign as the offer page. Make sure to pass all tokens along appropriately so you don’t lose data!

Test your campaign link. It should send you to your “real” lander as usual, with a very small pause before that happens.

Make sure that you’re capturing placements in your tracker: you’ll need those to tell what’s bot traffic.

Step 3: Run Some Traffic

Set your campaign live on your chosen traffic source. Now watch your stats closely.

Unlike most AM techniques, this one should give you results very quickly if you’re getting significant traffic.

Watch your stats on a per-placement basis. You can determine whether a placement has bot traffic by watching what percentage of the traffic makes it past your bot detection lander. The CTR of the bot detection lander is equal to the percentage of that traffic which is not a bot

If your bot detection lander has a CTR of 0% for a particular placement, after a statistically significant number of clicks onto the bot detection lander (30-50 should do it), then all of that traffic is bot traffic. Block it immediately.

If it has a CTR of 100%, then all that traffic is probably human. That’s a good placement at least from a bot point of view.

Between those numbers, use a judgement call. If it’s 50% bots, just assume that the true price of that placement is doubled, because half the traffic’s fake. That doesn’t mean you can’t make it profitable, though!

I’d usually drop any placement with 80% or more bot traffic.

How This Works

Crude bots have two telltale flaws.

Firstly, they generally aren’t running a Javascript engine, just a simple HTML engine. That means they won’t get redirected by the Javascript code here, which otherwise redirects all visitors to your “real” landing page.

And secondly, they often close the page right after clicking through the ad. This page waits 300ms before redirecting the visitor. That’s faster than the average human reaction speed, so anything closing the page on the redirect probably isn’t human.

This detection method is crude, and far from foolproof. Some bots can interpret Javascript, and some will mimic human behaviour – this won’t catch them. But a lot of clickbots are really simple, and this will definitely catch them out.

I’ve never seen this technique catch human traffic by accident as a false positive, but it’s always a possibility. Let me know if you have that problem.

Ways To Extend

If you want to add in additional bot-capturing, here are a few ideas:

  • Add an invisible, clickable link, either in your main lander or the bot-catching lander. I’d recommend a link that’s almost but not quite the same color as the background – #fefefe if your background is white, for example. Anything that clicks through that is probably a bot. That’ll catch Javascript-capable bots too.
  • Have your lander redirect anyone who stays on it for 1 minute or more to a second URL. Very few humans will stay on your lander for a minute, so anything redirected is probably a bot. This is a somewhat more imprecise test.
  • Check your carrier logs too. If you’re getting traffic from Amazon, Digital Ocean or another hosting company, that’s probably not human.
  • More ideas for bot detection can be found. I particularly like, and must test, the one about tracking mouse X and Y coordinates.
  • There are various bot-detection services out there if you want to get really serious about your bot prevention. I’ve heard good things about although I’ve not used them myself.

I hope that was helpful! If you’re confused, have questions, or would like to suggest additional bot-detection techniques, let me know below!

Posted in compaigns | Leave a comment