Notice: This blog is no longer updated. You may find a broken link or two

You can follow my new adventures @mikeonwine

Maximizing network revenue

September 13th, 2007

Many publishers either don’t have a strategy for maximizing network revenue or use aging technies such as daisy-chaining to

Out of all the publishers that I’ve talked to many don’t have a solid strategy for maximizing revenue from ad-networks. Many simply don’t understand how networks price, since most are black-boxes that don’t publish how they optimize and choose which ads to display. Yet, there are a couple factors that I find can be large drivers of revenue.

The more times an individual user sees an ad, the less likely he is to respond to it. Ok, seems obvious right? What you may not realize is exactly how quickly user response to an individual ad drops. The following graph is fictitious but representative of the normal response curve of a user on a single site to repeatedly seeing the same ad.


What the above shows is that if you are to maximize revenue you need to start thinking about users and not impressions. A user that’s been on your site for hours and has seen a hundred ads is far less valuable than someone who just logged-on.

Of course every ad-network will tell you that they have a large # of advertisers and deals and that you shouldn’t worry about such things — but lets not forget the Pareto Principle, also known as the 80/20 rule. A small percentage of top advertisers will generate the majority of revenue (and hence higher rates). What that means is that each ad-network will only have one or a couple high CPM ads.

Hence the effective CPM that you receive per user from a network declines as that network continues to see him over and over again. The larger the network the slower the decline, but each will look similar — here’s a rather rough sketch of what various network payout look like (again, numbers are hypothetical, but shape of graph will generally be correct).


Obviously daisy-chaining will not work in this situation as both the medium and large networks have paying ads for each individual ad-view. In the hypothetical example above, you would want an individual user to see the following sequence of ads to maximize revenue:

  1. Small
  2. Medium
  3. Large
  4. Medium
  5. Large
  6. Large
  7. Medium
  8. Small

Comparing the effective CPM of each network individually versus optimized together:


What you see is that you can vastly increase your CPMs by distributing your networks. Now — although these are fictional numbers — the concepts are real and they work. So how do you do it? Rather simple!

It’s impossible to allocate impressions on a per view basis as I did above so we must rely on a little bit of approximation. The way to do this is to setup multiple placements or zones with your ad-network and then to frequency cap them individually within your own adserver. The above could look something like this:


The key here is not to over-complicate. Sure, a Myspace, Facebook or Bebo may create hundreds of different placements each with different caps and priorities, but there are two reasons you shouldn’t

  1. It’s incredibly resource intensive to manage
  2. You don’t have enough inventory

Each placement needs to run a minimum amount of volume otherwise pulling out the effective CPM will be nearly impossible. A lot of pricing is based around user response to ads — eg CPC or CPA based pricing. Since clicks and conversions are rare events you need to have enough volume in each placement to get a predictable effective CPM. On CPC networks you can probably get away with a couple thousand impressions per placement per day but on CPA you’ll want to go closer to ten to twenty thousand.

There is some art here as you will have to update both the frequency caps and the pricing on your placements regularly. The first couple times chances are you’ll see your network cpms fluctuate as you play with the caps & inventory allocations but as you get a hang of it you should gain some serious lift.

Enough for today — next, how to effectively target network placements to maximize revenue.

The “Exchange” Buzz!!

Back in May I started a three part series on “The Ad Exchange Model” where I focused primarily on the technical benefits that exchanges bring to the online advertising industry. Since then exchanges have received quite a bit of press with all the recent acquisitions and the word exchange has reached buzz-word status, without much understanding of what it actually means. Perhaps most confusing is that many don’t seem to be able to differentiate between an Exchange and an Ad-Network. For example, compare these two quotes from iMedia and, can you tell what the difference is?

“An ad exchange is a company that brokers online advertising by bringing publishers and advertisers together on a website where they can participate in auctions for ad space.” iMedia Connections — Ad Exchanges At a Glance

“Websites have ad space. Advertisers have ads. We’re the middle man – using our phenomenal technology to match ads to space.” Homepage

The ‘Nasdaq’ Analogy

One of the most common explanations I have heard goes something like this — “An ad-exchange functions just like the Nasdaq.” (this is in no way a jab at ContextWeb’s Adsdaq, this analogy is regularly used on all ad-exchanges). You like the Nasdaq right? Good, the Nasdaq is efficient has some fancy electronic trading and does lots of good things, which is why you should buy this ad-exchange. Oh, well of course! Ad exchanges bring efficiency just like the Nasdaq does, that makes absolute perfect sense! Try explaining an ad-exchange like this, it’s actually quite amusing. Generally what happens is the other person’s eyes glaze over slightly and he starts nodding as if everything has been made extremely clear even though he still has no clue what the ad-exchange actually does. You see, the Nasdaq analogy really doesn’t make sense but nobody wants to sound stupid and say “I don’t get it”, so they let it slide and remain confused.

So why doesn’t it make sense? Well, we could argue semantics of stock markets versus commodity and future exchanges — but who cares. The real problem is that the Nasdaq analogy works just as well for as it does for Right Media, adECN or AdsDaq. The Nasdaq is a mechanism which enables people to buy and sell stocks. Ad-networks are mechanisms by which people buy and sell ad-inventory. If this is surprising, it shouldn’t be — an ad-network is a mini-marketplace, very similar to an exchange or stock-market. The whole reason we have them to begin with is to enable thousands of sites to work with thousands of buyers. Can you imagine Netflix writing individual checks to the thousands of different sites where their ads are displayed?

So what’s the difference

Even though an ad-network may perform many of the same functions as an exchange there is a subtle difference. The network operates and controls all aspects of the mini-marketplace whereas the exchange is an “agnostic” platform that many buyers and sellers use to run their own businesses. In most ad-network limits each transaction (or ad-impression) to three parties: a buyer, the network and a seller. The exceptions to this would be networks such as Tacoda where a fourth data-provider might receive a cut of the transaction based on information about the user that the network provided. Of course in reality online advertising is far more complex than that and a single online ad impression can involve far more parties.

That’s where the exchange model shines — instead of one party “operating” the exchange on behalf of a number of buyers and sellers, the exchange provides a single technology platform upon which many companies — advertisers, publishers and networks — can buy and sell ads. Each impression can have anywhere from zero to many middlemen.

Who cares?

First off, the exchange is many companies versus one in the case of the ad-network. The platform is an ecosystem that supports a large variety of business models which results in more innovation and competition. Then there are certain basic technical benefits from having multiple participants in a transaction use the same platform, something that isn’t possible with an ad-network. For example, a proper exchange removes the operational barriers that have limited access to inventory in the past are eliminated in an ad-exchange. This enhanced the liquidity of the marketplace, which results in higher and more stable rates for publishers. I’ve covered most of these benefits in detail in my ad-exchange series.

Of course some of the above is still somewhat theoretical as we are just now starting to see the exchange model mature. As the model grows, most standalone networks will find life difficult without some level of integration with one or more of the coming exchanges.

In Parts II & III of this series I’ll talk about some tactical steps Publishers and Advertisers can take to leverage exchanges as either sources of inventory or pools of advertisers to maximize ROI and revenue and perhaps some bits on how Networks can different themselves in the coming landscape.

I’d like to continue my series. If you haven’t already, be sure to read Part I and Part II first.

After my first two points I received multiple questions around the lines of “Who will make money off of this?”, and “Who benefits most?”, “How will ad-networks survive in this environment?”. Well, I thought we’d take a look at the various types of players in the market today and discuss how they will thrive/survive/die in the exchange environment. When discussing each of these I imagine a world in which there are two or three major ad-exchanges. Say, Googleclick, Righthoo & Micro7 … Any business that wants to play has to in involved with one or more of the exchanges as in this new world, 95% of all inventory gets sold on the exchange.

Read the rest of this entry »

For publishers one of the must frustrating aspects of dealing with ad-networks is probably the powerless feeling you get when one of your user’s complains about a particularly offensive, annoying or suggestive ad that they just saw. So what can you do? Here’s a quick and easy method to provide a “report this ad” button for your site.
Here’s the normal process of ad call:
– You put a tag on your page, script src=””>
– Browser requests javascript, and it returns something like — document.write(‘‘);
– User sees

So how do you create a button to ‘report an ad’? Simple! You simply create a wrapper function around document.write() to capture all the output. Then, all you need to do is a little bit of smart javascript and badabing you’re done! Credits to this page for the document.write JS;.

So how do you wrap document.write()? Rather easily! Check it out this IE specific example:

        var documentWrite = document.write ;
        var createWrapper = function(s){
                writeOutput = writeOutput + "\\n\\n" + s;
                return s;

        document.write = function(s){
               documentWrite(createWrapper(s) );

As you can see this is remarkably simple. Every time document.write() is called we simply append the call to a variable ‘writeOutput’, which you can then do whatever you want with. I’ve created a fully functional example that has the full browser compatible javascript. It takes the writeOutput from an RMX Direct tag and puts it in a textarea at the top. You can grab the javascript by just viewing the source. The PHP code for “report_ad.php” is extremely simple:

$adcontent = htmlentities($_POST["adcontent"]);
$report = htmlentities($_POST["addetails"]);

echo "<b>Here is the email you send yourself:</b><br><br>\n";

echo "<b>Subject:</b> Uhoh, someone reported an ad!<br>\n";
echo "<b>User Comments:</b> $report<br><br> Here is what happened on the page when the user saw the ad:<br><br>\n";

Now, it’s important to realize that this isn’t a perfect way to do it. If the advertiser is wrapping content in an IFRAME then this method will simply show you the IFRAME source. Also, I’m not sure this will work for all networks. I’ve tested it with RMX Direct and Fastclick/Valueclick and it seems to work for both. In the document.write() output you can clearly see the source for the flash files being served. In any case, I hope this will be useful to somebody.