Google Ad Manager: FTW!
It doesn't seem like there are a lot of .NET developers out there who build their own stuff for their own sites, and if there are, they don't blog. But I know they're out there!
So if you have your own sites, and they're primarily a content endeavor, then you know that managing advertising is kind of a pain. There's the ad network chaining, and then things get crazy when all of a sudden you sell some campaigns on your own. Suddenly you need some way to deliver those ads, and the options have been to either roll your own solution, rent some service or buy software.
All of those solutions have a down side, especially in terms of cost. I first built my own solution circa 2005, and even put out a very rough beta of it. That's as far as it went. It didn't have any significant reporting, but it did deliver ads pretty well with frequency capping and what not. It wasn't a retail-ready product, but it was serving me well enough.
But it couldn't geo-target, do really sweet reporting and it was never tested beyond a handful of campaigns at a time. I looked into buying a third-party product, or using services, but they were all way too expensive for the volume I was doing. So my solution has been serving since then, mostly mixing remnant ads from various networks.
Along comes Google and they start offering Google Ad Manager. I've used some of the online services before, which vary from usable (the old old pre-Google DoubleClick) to downright horrible (Atlas), as well as some of the purchased products (most expensive of which was Open AdStream, also purchased back in the day). I've also used the publisher default management of everyone from Federated Media (awesome) to Burst and Casale (decent) to Tribal Fusion and ValueClick (sub-optimal). I've seen more ad platforms than any one person should, and the only one that did what I really wanted was my own, if you don't count the lack of reporting.
"GAM," as they call it in the video and WebEx, makes sense. From the set up perspective, it has "slots" that are the physical postion of ads, and placements, which in turn can be any combination of slots. It's a many-to-many relationship. So you can group various slots together to form units that correspond to sites, sections or whatever. These can be further combined into products, which are optional, but an easy way to package a frequent or common buy. The UI around these might be a little confusing at first, but once watch their video clips, it makes sense.
To put ads into these slots, you create an order. An order basically is just a name and flight dates. Order have line items, which indicate a delivery priority (more on that in a moment), the cost type (CPM, CPC, CPD), targeting, frequency caps, and most importantly, the placements where the ads will go. At that point, you can upload Flash or image creative, third-party HTML/script, etc. It will match creative sizes to the available placement sizes.
Once you get that cascade of entities, it's actually really smooth sailing. The big strength comes in the fact that the delivery priorities are so flexible. At the top is exclusive delivery, which takes precedent regardless of cost unit. Premium and standard are the regular serving of campaigns, smoothed out in delivery frequency based on quantity, caps, targeting, etc., only premium trumps standard in priority. Remnant and house priority are, as the name implies, delivered when the others have no ad to serve, and your ad networks fall into the remnant category.
So what does Google get out of this? Well obviously they want it to be easy for you to run AdSense ads, whenever it makes sense. If you've ever just plugged AdSense tags into a site template and let it serve, you know the payout can be miserable, depending on your content. However, there is some optimized magic here. You can enable AdSense by slot. Then you give your remnant ads a "value CPM," which is like a virtual CPM for AdSense to compete with. For example, say I set up a Tribal Fusion order as remnant ads, and I set the line item for my 300x250 placements at $1.00. Now when it comes time for an ad to be served, Google determines if it can serve AdSense ads that, over time, would yield a higher CPM than $1.00. If it can, then it serves an AdSense ad, otherwise, it goes with the remnant campaign, in this case the Tribal Fusion ad. The result is that it only shows AdSense on a particular page if it knows that it can score more cash than the virtual CPM you specified.
I did a week-long test of this on one ad position, and once it had some time to serve tens of thousands of ads, it turned out that the AdSense CPM was in fact higher. But there is less waste because on the pages that wouldn't generate very good AdSense ads, it allows the remnant (ad network) stuff to show through, which for me is generally CPM and not CPC like AdWords. It surprisingly works really well!
The only issue I've encountered, and really it's not a deal breaker, is that I can't set weights for different remnant orders or line items. You can only set manual weighting among creatives in a specific line item, which is something you'd probably not do in a regular campaign since it optimizes to show more of the creative that has a stronger click-through. For an independent publisher, this is not likely a big deal, since you probably have a chain of ad providers that show as default to one another, based on their ability to pay out.
Overall it's a well thought out product, and it makes me want to sell more of my own ads! Again, I understand that Google's intention is to get you running more AdSense, and they win the business because it removes the biggest objection I always had: Too much waste that diluted the overall CPM of any given page on my site.