-0.8

This post by Carsten Cumbrowski on data-flow in affiliate marketing gives some good insight into the inefficiencies of the affiliate marketing world. The diagrams (see below) look very similar to display — too many tiers of aggregators primarily dealing with massive segregation, lack of standards and inefficiencies.

A few weeks ago I wrote a post about the difficult times that tech startups are having in the industry today. Reading through the post, I realized there was a key point that I forgot to make. Whether or not your company is a services business, a technology play or a media company:

If you aren’t generating revenue, it’s time to re-evaluate your business.

There is so much VC money out there these days (although word on the street is it’s drying up!), that it’s easy to forgo initial revenue and start building & scaling a business in a void without having hard cash paying customers. Here’s the thing — you should be able to prove your technology quickly and with minimal investment… if you can’t, you’re overthinking either your product or overestimating the requirements of your clients. In fact, with the right contacts you can probably sell a 20-line PHP script as a “pixel server” — at least to a network or agency that desperately needs to have “behavioral technology” for the next big agency deal.

Of course the script won’t scale, and it probably won’t work as a standalone product for multiple customers which means you’ll have to rewrite it and hire some real engineering talent to turn it into a packageable product. But if you have an idea — build a POC quickly, get yourself a customer, prove there’s interest and start generating revenue! Doesn’t matter if it’s adserver, behavioral tracking, a new media network — each idea has a revenue-generating “quick win” you can close to prove the business works. Right Media was a profitable for over a year before it launched the exchange. A single good CPA deal with AOL funded most of the first year of the company!

And it’s not just about the revenue. Real customers provide real data, real feedback and real stats about scalability & performance — invaluable feedback & information that will help you build a better and ultimately more competitive final product and/or service offering.

I’m not saying you have to be profitable (although if you’re a pure media company you better have a damn good reason not to be). There is definitely an argument to be made that investing in engineering today will pay off in revenues later, but that does not give you an excuse to develop in a void hoping that your product will be a smash hit.

If you’re not making money now, chances are you won’t make any later either.

PubMatic just released a new AdPrice Index which was immediately picked up by a rather frightening number of news sources: Business Week, ClickZ, The Washington Post to name just a few.

First off, serious kudos to the PubMatic team for releasing these numbers. This post is in no way meant to be negative to them, they’ve got a great service and by releasing this index they are upping the bar for everybody else — I wish everybody released a monthly report indicating their view of the market. Note that Rubicon had previously released a less statistical and more narrative Q1 Ad Network Market Report.

What I find somewhat surprising is the level of buzz the PubMatic release generated. Although I’m certain that the statistical quality of their numbers is good I want to point out that there is an inherent sample bias for the Index not only on the publishers selected but also the ad-inventory being analyzed. The publishers are ones that chose to signup for the PubMatic service to help them optimize revenue from Ad Networks. Next, PubMatic’s numbers reflect only the subset of inventory that was sent to PubMatic and the media dollars that inventory made based on the networks that work with PubMatic’s platform.

So even taking these numbers with a grain of salt there are probably enough pubs & networks that something happened in April… so surely it must be time to PANIC because we’re in this massive recession and online advertising is going to dry up and die … right?

Well, I’ll let you in on a little secret. Agencies have quarterly budgets. Each ad-campaign has a certain target revenue that needs to be spent by the end of the quarter, and since most publisher forecasting systems are prone to error there are a large # of campaigns that find that their guaranteed buys have under-delivered and are now nearing the end of the quarter with significant money left to spend. Where do they go? Ad-Networks. Through years at RM we saw the same thing year after year, quarter after quarter. March, June, September and December were always high in revenue, with December being particularly great with some nice “end of year” budgets moving to remnant display. So my guess — what we’re seeing is a normal cyclical trend, where Q1 budgets moved to Ad-Networks in March, disappeared in April and hence PubMatic saw a significant drop in revenue. Of course I could be wrong, but either way the media should certainly stop predicting the impending doom of the online-ad market.

More important than the actual numbers, I think that the reaction to this event shows how desperate we are for insight and visibility into what’s going on. How much money is flowing, and to which parties? What I’d like to see is the Quantcast 100 Advertising Index. Impressions, CPMs & revenue for the aggregate top-100 sites on the Net — now those would be numbers to analyze and report on!

The Facebook API revolution

September 25th, 2007

No, this isn’t another “OMG, the facebook API IS AWESOME” post. I mean, it is, it’s pretty damn cool, I’ve played with it a bit this month. The real revolution with the facebook API are the server-side requests.

Traditionally widgets & plugins interfaced with social networks by placing snippets of HTML on profile pages. In the Facebook world no content can show up on a user’s profile without passing through Facebook’s servers first. Even your actual application pages must either be within an IFRAME or pass through Facebook. This process provides Facebook with an extraordinary level of control over what can and cannot be displayed on a user’s page. FB can perform a virus scan on all content and analyze any scripts for vulnerabilities or exploits. By directly serving content Facebook also eliminates cookie access — making it far more difficult to track or distribute data about their users.

Yet, the approach has it’s limitations for application developers. I tried briefly to build a “stalker tracker” application which using cookies would tell the user how many people regularly checkout their profile page. No matter what I tried, I couldn’t get access to the cookie without somehow initiating a click — rendering my application completely useless.

Why should you care? Well — advertising isn’t that much different from a traditional social networking widget — both are delivered via a snippet of HTML. Online ads have also been plagued by security issues this past year and I wouldn’t be surprised if the bigger players (Myspace, Yahoo, MSN, etc.) start to ask for server-side ad-requests soon. Server-side requests are the only way that a seller can technically guarantee the safety of third-party ads. Of course this will open up a world of technical challenges — server-side cookies storage, strict global latency requirements and a need for increased capacity to only name a few.

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.


picture-2.png

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).


picture-3.png

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:


picture-4.png

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:


picture-5.png

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 Ad.com, 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.” Advertising.com 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 Advertising.com 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=”some.adserver.com/someparameters”>
- Browser requests javascript, and it returns something like — document.write(’‘);
- User sees some.ad.com/ad.jpg

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:

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

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

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.