How do native ad networks test and scale your campaigns?

Why might the same advertiser, with the same bids and same creatives, receive drastically different traffic?

After optimising over $10 million of native spend algorithmically, Aarlo Stone Fish dishes state-of-the-art strategies for optimising native campaigns, both from the perspective of the network and the advertiser.

Speech by Aarlo Stone Fish | Founder, Drive Ads

Aarlo Stone Fish Speech Transcript

If there’s one thing to know about native, it’s that the native ad networks, they’re the one in control.

It might feel like, as an advertiser, because the native ad networks give you so many knobs to tweak and variables to choose from, that you’re the one in control.

And you’re deciding which ads go, where and how much to spend. That’s kind of the illusion that you’re under.

But the truth is running ad campaigns on native, it’s not like driving a car, it’s more like riding in the back of a bus.

Aarlo Stone Fish - Riding a Bus

Aarlo Stone Fish – Riding a Bus

And on this bus are 38,000 other native advertisers on the same network.

And the network, what they’re doing is they’re looking over the back of that bus. They’re like driving the bus.

And they’re really deciding how to allocate the ads, which ads go where.

How Native Ad Networks Work

So, we’re gonna look at that in a little bit more detail so you’ll be able to understand.

From the perspective of an advertiser, you’ll be able to see how these native ad networks work.

Actually all of their optimisations and all of their decisions are around one simple formula.

We’re gonna look at that formula and how the native ad networks work. And how they optimise that formula.

First, we’re gonna understand things from the perspective of the native ad networks when you upload an ad.

Technically from the algorithmic perspective, how the native ad networks optimise your campaigns and how they test new campaigns, how they test creatives.

We’re gonna go into that from the perspective of the network first. Then we’re gonna look at things from your perspective as a native advertiser.

And for some practical information about how to optimise your campaigns on native.

And then at the end, we have a little secret. A little secret algorithm that I’m gonna share with you for how to scale on native.

Okay, so let’s put yourself in the shoes of the Native Ad Networks.

Native Ad Networks: Display

You guys understand a little bit about Native right? These are networks like RevContent, MGID, Taboola, Content ad, Outbrain. That’s the network’s I’m talking about here.

The way they work is they’ve got one placement on the site, on the publisher and instead of like display, on display, there’s just like one creative.

They auction off to the highest bidder. They charge on a CPM basis. They take a cut. They give it to the publisher. That’s display, right.

Native, they’re charging on a CPC. And they choose which ads go where.

So like for this example.

Aarlo Stone Fish - What Would You Do

Aarlo Stone Fish – What Would You Do

I took this example. I’m from Santa Monica California. I was on my Mac. So in the US, desktop right, and I went to

And this is the ad that was served to me personally.

So think about it from RevContents perspective, they had to serve up this ad.

How many ads do you think were legal for them to show? Meaning, weren’t blacklisted by the advertiser.

So the advertiser had said, “I want on Revcontent.”

And the publisher had also not blacklisted.

Because one of the things that advertisers or some of us forget is that publishers can blacklist things too.

So publishers can block. If they see an exact creative that they don’t like, they can block that creative.

Publishers can blacklist things too

They can block categories of creatives. They could say “I don’t want any skin offers.”

They can also block like, they have tiers of quality that they can block so they say like “PG-13 and above.”

Publishers can do that kind of thing.

Anyway, how many ads do you think were available for them to show on displays?

I would say maybe like a thousand. Maybe they had a thousand creatives they could show and they had to choose 8 of them.

So what would you do if you were the native ad networks and you had to choose 8 out of a thousand on every single impression?

So try to think about that.

If you’re trying to make as much money as possible, you’re getting paid per click.

And you’ve got a thousand different ads. Which ones are you gonna show? So you got to think about that.

I mean one algorithm that I thought of is how about half the time you just show random ads.

And then half the time, you collect data. And see which ad made you the most money.

So clicks, you make money whenever some on it.

You know if it makes you the most money, maybe we can just do this and show that at 8 times, right?

Why don’t the native ad networks do that?

So, I have been asking the people behind these optimisations at the network, the people who designed these algorithms.

I’ve been asking them these questions. I’m trying to understand how the native ad networks work.

I’m the CEO of Drive, which is a native automation platform.

One Formula To Decide Which Ads Go To Placements

And I’ve been asking them “How do you guys optimize? How do you guys run your systems?”

And what they’ve said is that it comes down to one formula that they’re trying to maximise on their end when they’re deciding which ads go on the placements.

And this is that formula.

Revenue = CTR x CPC

You’ll run this 8 times.

If there’s a widget with 8 positions, sometimes there’s 15 or 16 sometimes, there’s just 1, but they’ll run this like 8 times.

And they’ll see, like it’s in our example, when you had a thousand choices and you have to choose 8 of them, they’ll go through each thousand of those ads in their system.

And they’ll say for each of those ads, give me a guess of the CTR.

So the CTR on this exact site on this exact ad. Guess that number, which as we’ll see, is actually the hardest part of this equation.

Guess the CTR number.

And then the CPC, they look that up from whatever the advertiser is currently bidding.

And then they do a combination. Sometimes it’s a 1st price auction, sometimes it’s a 2nd price auction.

But basically the higher you bid, the more you’ll pay.

So they look up the product of CTR and CPC.

And basically, how they work is they run this equation a thousand times. And they take let’s say, the top 8 answers that they get.

They look at those top 8 and they do a couple other tweaks here in this phase. So after they get, after they maximise this number, they do a couple other tweaks.

Tweak For Variety

So one tweak they do is we can call like a tweak for a variety.

Going back to our example previously where we had that same ad 8 times, they actually learned that they don’t want duplicates.

They don’t want to show the same ad. They don’t want to show the same creative.

They don’t even want to show the same category twice.

So if you go on native, you’ll very rarely see like 2 diet ads on the same widget or two skin ads. Usually what they do is they cap it to one. Usually, they say “I only want one per category.”

So that gives them kind of more of a variety. More likely they’re gonna find someone who clicks.

Going back to that, they take the top 8 out of thousand. And there are two diet ads, they’ll skip that and go to the next one.

Maximising The Number

That’s one of the tweaks they do.

They also do some stuff like per user. Different networks do different things here.

They also sell some of their inventory on a CPM depending on the network. And sometimes they sell things programmatically,

There are some other things on the side. They also have re-targeting.

But essentially, what it comes down to is just maximising this number. Finding the top 8 of these, every time.

Finding The CTR

You’re just trying to maximise the top 8 of these. And the hardest part here is knowing what the CTR is.

So trying to guess, because the CPC we just look up right, the CTR, we want to know the exact CTR on this exact site of is creative.

Solution: Memory

The way they solve that is they use something called memory.

So memory, it’s kind of like a floppy disk. Like you’re saving this information.

Aarlo Stone Fish - Solution: Memory

Aarlo Stone Fish – Solution: Memory

And what that means is instead of them experimenting on every single site, every single creative, like a thousand creative they have, tens of thousands of sites and they have millions of creatives, even if there’s only like a thousand creatives that are valid at a time, they still don’t want to have to spend 3,000 impressions every single time.

Why do that when you can just look at trends across your data and make approximations and make guesses.

They try to make guesses. That’s one thing.

The other thing is that often, there’s like a creative that never got that much volume because it’s a small campaign.

Or it’s a new publisher without that much volume.

They have to make these generalisations. If there’s a new publisher or a small publisher, they can say “Oh, you know, this is a new site, I already know something about news sites.”


Aarlo Stone Fish - Hierarchies

Aarlo Stone Fish – Hierarchies

So they organise their data into these hierarchies.

And the reason for this is, going back to our bus analogy, they’re driving this bus.

They’ve got tens of thousands of advertisers, millions of creatives running at any given time.

And the more they can do to look at all that data and divide things into categories and make sense of their data, they do that as much as they can.

For example, like look on the left where it says “Publisher Category”. That’s like a news site or a humour setter. However, they divide their publishers up.

And so if you’re running an auto insurance ad on Newsweek, they’ll look at the performance of this exact ad on this exact placement.

But then they’ll also zoom out. And they’ll say “Okay, based on the performance of this exact ad on this exact placement, I know things about the advertiser category. I know that you know auto insurance ads do well on this exact placement. I know that auto insurance ads work well on news placements in general.”

They kind of bubble up.

They make all these generalisations about the advertiser, about the creative category.

The other thing is, look on the right look here where it says “Creative Image”.

So that means, they know that advertisers are like always stealing creatives from each other, right.

If they’ve seen your creative before from another advertiser, they’re gonna, again, make a generalisation from that other advertiser about your creative.

Saving money on testing

Because that way they save money on testing.

They use this hierarchy of information. They use that memory.

If you upload a creative, a lot of people don’t really realise this, but there’s no such thing as a true run off-network campaign on native.

Because on display, when you run off network, you kind of expect all of the placements to get a fair look at your campaigns.

And kind of the more volume the placement has, depending on the going rate on that placement, it’s kind of fair on display.

But on native, you’re not uploading this campaign in isolation. You’re uploading your campaign with all your different creatives.

And they’re looking. And they’re saying “Okay, I’ve seen this creative before. This is where it performs well. This is where it doesn’t perform well. This category of creative, I know that this category of creative works well on new sites, or doesn’t work well on new sites.” Or whatever it is.

You’re uploading the creatives and they’re routing it. They’re driving that bus, they’re in control.

And they’re riding those creatives to where they know that that type of creative is gonna work the best.

Then once your creatives actually perform, then they’ll use the most granular data possible, if there’s enough volume on that exact placement.

But most of the time, they’re using these trends. They’re using this memory.

An Advertiser’s Point Of View

Now we’re gonna look at things from your perspective as an advertiser.

For some practical information on how you can use this.

The first is creatives. We’ve talked a little bit about creatives.

Aarlo Stone Fish - Creatives

Aarlo Stone Fish – Creatives

The most important variable for creatives is CTR, the publisher CTR.

As advertisers, I mean the thing about publisher CTR is that we’re not used to going into the native ad networks, and looking at how many impressions they serve.

Because we’re just paying on a CPC, you have to look at how many impressions they served and then how many clicks it got on there.

So usually, for a lot of people, this isn’t even something that they consider looking at to optimise buying.

But actually, CTR is such a huge part of their equations that a better creative with a better CTR, obviously, that’s going to get you more volume and cheaper volume, cheaper clicks.

But it has this other unintended consequence that you might not have realised which is that it helps other creatives in your account. And it helps other creatives in this category too.

So you’re gonna be helping your competitors a little bit with a high CTR creative.

But you’re mostly gonna be helping yourself and also your campaign and your whole account.

So creatives, CTR matters.

One other thing to say about creatives is sometimes, and this happened to me personally, when you launch a campaign and you see that certain creatives have a higher CTR and certain creators have a lower CTR, sometimes like the lower CTR creative will still get more volume.

Or you launch a campaign with 8 creatives and it seems like certain creatives don’t get a fair shake. Like certain creatives just got a couple hundred impressions than they give up.

And the reason for that is this memory thing that we were talking about.

So, they’re in the bus driver, and they’re looking and they’re saying, “Oh you got this new creative already. I know where this creative performs. It performs over here. I already know where this one performs. Or someone already ran that creative.”

They’re using their memory. They’re using their data that they already figure it out.

Going into Bidding

Okay, so the next thing is bidding.

Aarlo Stone Fish - Bidding

Aarlo Stone Fish – Bidding

Bidding, I wish there were like a single formula I could give you for bidding. Like a single rule of thumb.

The truth is, what’s happened for me a lot with bidding is, sometimes you’ll make a change to your bids.

And then there will be an outcome to that change but it won’t be because of anything you did.

It’ll be because some advertiser is running your same creative somewhere else that’s on the same category.

And that’s why.

Bidding is tough. There are so many exogenous things.

But there are some trends, like in isolation, if assuming nothing on the native ad networks happen and nothing outside of your campaign happens, there are some general trends.

So first, higher bid obviously gets you more volume because you’re more likely to be in that top 8. You’re more likely to win there.

Also, you’re more likely to show up on the widget. You’re also more likely to be in a higher position.

The top left position on the widget is usually the one that gets the highest volume.

So you’re more likely to be on the top left position.

But unlike other kinds of native ad networks, the highest bid does not always give you the highest traffic quality.

Actually, sometimes the traffic quality is a little bit worse. Seems like, especially happen on mobile, where there’s more accidental clicks or something.

Anyway, it’s hard.

I mean, you don’t always know the best quality that you’re gonna get with bids.

You just have to really experiment. It depends on the category, depends on the exact site.

You just have to test different bids, see what happens.

There are some people who bid really high, there some people who bid really low. Like, try to get in position 7 or 8.

And then just have a lot more margin.

So you have to experiment for bids, unfortunately.

And just like another media buying, when you lose traffic, you bid higher.

Bots are a big problem

Okay, so the last thing is Bots.

Aarlo Stone Fish - Bots

Aarlo Stone Fish – Bots

So Bots, we know that half of our industry’s fraud.

And especially on the lower tier native ad networks, bots are a big problem.

But actually Bots can be your friend. Bots can help you or at least not hurt you as much as you might have assumed.

There’s a couple thing about Bots.

So first about Bots, it’s kind of easy to detect bots.

Because the way the bots work is they click a link on the publisher’s page. They click the creative and then they visit your lander.

And when they get to your lander, they either never click on it.

So what you do is you look at the lander click-through rate because the Bots either never click on any pages on your lander or sometimes they’ll click on every single link on your lander.

So if the CTR, the lander CTR is really high or if it’s really low, then you know that this is a bot placement.

So that’s the first thing. You don’t have to spend 2x the offer payout to know that this is a bot placement.

You can just send 100 visits to it and see what happens.

You could have more sophisticated solutions like some JavaScript thing for your land or whatever but actually, CTR is good enough.

Just look at CTR.

So that’s the first thing about Bots.

The 2nd thing about bots is once you find a bot placement on the native ad networks, then you know that that’s about placement forever. So you can just block that.

You can just never run a bot, never run traffic to it again.

And that’ll actually save you a lot of money especially, you have a like an autoblock or tool like an optimisation system.

Because usually the way that bot traffic works is it’s spiky. Like usually though if you look at bot traffic, it’ll be kind of like on a low volume site.

And then on Sunday morning when no one’s looking at it, it’ll just spend $300.

So if you had like an autoblocking rule setup that said, “Okay every time something spends, it gets to 100 visits, block it.”

Then that would solve that problem.

The last thing about bots is Bots are kind of like a regressive tax.

So when you have like a taxation system or like a progressive tax, you tax the rich more.

Bots are like taxing the poor more.

Because it’s the poor advertiser, it’s the new advertisers who suffer the most from bots on any given native ad networks.

So if you’re an advertiser who doesn’t know where the bot placements are, you don’t have a good blocking system for Bots, then bots are gonna hurt the smallest least sophisticated advertisers the most.

If we got rid of bots, you might have more competition.

Tiered Whitelist Algorithm

Okay so finally, we have the algorithm that we’ve all been waiting for.

The algorithm that ties everything together. The algorithm to scale any performance campaign on native.

And here it is. It’s the called the Tiered Whitelist Algorithm.

Aarlo Stone Fish - Tiered Whitelist Algorithm

Aarlo Stone Fish – Tiered Whitelist Algorithm

This is in 3 phases.

  • The 1st phase is to find creatives.
  • The 2nd phase is to find placements.
  • And the 3rd phase is to find bids.

The 1st phase requires that you know the top placements on any category on any geo which you can either get from your own experience or you can get from a spy tool or whatever.

And what you do is you test all your creatives and landers on those. And you test the creatives for CTR and also for profitability.

So figure out your best lander. And the output of step 1 is creatives and lander.

Step 2, is you use the creatives in the lander from step 1. And you run everywhere, you run a run of network campaign on the native ad networks.

And you block placements that are BOTS and you also block placements that don’t get any revenue.

So step 2 is the one where you’re gonna be spending the most money. And you should probably be losing money on step 2.

And actually step 2 is something that kind of accumulate over time. Like you’ll learn over time which is the best placements on any network for different verticals. (Recommended Reading: Tips: Scaling Straight Sales On Native)

So step 2  is just trying to get as many placements as possible.

Step 3 is where you use what we learned about bidding. You just test out different bids on every single placement on every single creative.

And this is gonna depend on the network. So like on Taboola content, you’re gonna have custom bids for every domain.

On Revcontent, you have to make different whitelists.

But you just have to experiment with different bids. Keep tweaking them and looking at the profitability based on the bids.

So this should tie everything together.

Thank you guys very much.