Client-side header bidding and Google Ad Manager or how to build a bridge between the two

Even though Google’s EBDA (Exchange Bidding Dynamic Allocation) beta release took place in April 2016, the Mountain View giant still is, or at least seems to be, reluctant to launch their prebid.js header tag and make their Ad Exchange fully header bidding compliant. What is also a bit problematic is their second price auction dynamics.

Why bother?

No matter how fancy or independent you want to be, there is literally no way to skip Google. As for now, they are the strongest programmatic demand source globally and a must-have for all publishers selling their inventory in an automated way. The emergence of header bidding and the beginning of withdrawal from waterfall saw other players adjusting to this new approach relatively easily, whereas Google did not follow suit.

First incarnations of header bidding wrappers were pretty hard to implement and non-standardized, which hampered it’s adoption, then prebid.js came out as a widely accepted industry standard and the whole thing gained momentum. Publishers began to see the advantages of giving first look to all demand sources in their revenue reports and there was a lot of hype in the media. But the question remained the same: how to add Google to the model?

Dynamic Floor Prices

It is pretty normal for SSPs to run a first price auction and this is the way it works within prebid.js. The reason behind leaving second price auction has been already well described and is all about cutting down on inefficiencies. But again, this is not true when it comes to Google, as they still rely on a second price auction. That’s not an ultimate obstacle, though.

While it is impossible to plug Ad Manager directly to prebid.js wrapper, a sequential, two steps approach is achievable. The most optimal way is to ask prebid.js first, let it clear it’s highest price, and then pass it to Ad Manager. In case Ad Manager is able provide a higher bid, it wins, and if not, the offer coming from prebid.js is considered a winner. This way of merging Google with the rest of the world, even though requires some technical effort, is highly beneficial as:

  • It works as a dynamic floor price for Google so it helps them better evaluate every impression comparing to fixed or no floor prices;
  • It minimizes the gap between Google’s highest bid and the final price;
  • It lets all the platforms compete as equals even though Google has the final view

Usually, when combined with a reasonable number of demand partners bidding through prebid.js (on which you can read more here) this approach brings the best results.

What about EBDA?

While, in theory, EBDA was designed to be somewhat alternative to client-side header bidding (and other server-side attempts too), it actually can be used simultaneously with prebid.js. In this case the auction takes place within the adserver (now also part of Google Ad Manager), not in a browser, and it not transparent, publishers are demand partners other than Google don’t know what is the logic behind the bidding. Also, the number of bidders participating in an auction is limited and way smaller than the one compliant with prebid.js. Still, it is worth to try running prebid.js and EBDA at the same time, as EBDA does not cause any delays and hence may sometimes bring an added value. It also does not require any additional development, which makes it fairly easy to use.

To sum up, Google’s reluctance in terms of open header bidding standards adoption does not make it impossible to overcome it’s non-compliance with prebid.js. Smart connection of prebid.js with Ad Manager with the dynamic floor price approach can yield really good results while not giving up publishers independence.


Still not satisfied?
E-mail us at [email protected]

No comments yet