Header Bidding Guide for Dummies
This is an ongoing guide and we welcome contributions from the community. Please email digitaladblog@gmail.com with any inquiries or if you are a publisher and would like a free header bidding consultation for your website.
If you are in Adtech, you hear about header bidding every single day. If you are a publisher or work in ad operations, this is a must read. Like a tsunami, header bidding has taken over the industry and I have news for you. It’s here to stay for at least a long, long time. While the wild shifting ecosystem of Adtech seemingly meanders in a new direction every day, the fact is that Header bidding is rapidly becoming the norm for publishers who are serious about maximizing revenue from multiple ad networks and want the most robust and cutting edge monetization stack.
Prelude: The Traditional Publisher Waterfall
Historically it has been frustrating for publishers to work with ad tags from multiple ad networks and have true liquidity for each impression. Header bidding has made enormous strides in solving many of the pain points publishers and ad networks faced historically.
- PubNation: Ad Optimization using Header Bidders: When Ads Compete, You Win
Here are the problems with the traditional publisher waterfall using DFP as an example:
AdX can only bid dynamically!
Google’s DFP (DoubleClick for Publishers) is the most widely used ad server by publishers which is integrated with Google AdExchange (AdX), their programmatic marketplace that is widely use by the vast majority of publishers. The Geniuses at Google made AdX Dynamic allocation (the ability to send a granular bid on each impression) an automatic feature that can bid on each impression for qualified publishers using DFP.
When AdX is enabled it will pass a bid on every impression and if it will pay the highest CPM it will win the impression if not, the highest paying line item in DFP based on any manual rules that were set up will win the impression.
Publishers who are serious about their revenue work with multiple reputable ad networks and exchanges, that are able to pay them a lot of money for their ad inventory. Setting up ad networks has always been an inefficient, painful and risky process for both parties but with most of the risk falling on the publisher who usually has to swap one network out for another to effectively test their demand.
Before header bidding, ad networks survived on an arbitrage model historically where they agree to buy impressions on a fixed CPM (cost per 1000 impressions) basis. How ad networks survived and thrived was by testing a publishers ad inventory at guarenteed rates to see if they coud “back out” to a higher eCPM internally and pay the publisher enough so they are happy. The problem is that demand fluctuates every day and adjustments would have to be made on a regular basis causing a strain for both ad networks and publishers. While many publishers wanted to auction off their inventory to several ad networks who have strong demand for their inventory, there was no real way for ad networks to effectively pass true bids on every impressions
3rd party javascript ad tags are placed in DFP from ad betworks but can only be set at a static bid value, generally agreed upon before going live and will not tell DFP an exact CPM bid on every impression. This enables DFP to cherry pick impressions and results in an auction that is not true.
Lets hold an auction in a traditional waterfall in DFP
- A user from the UK loads a page and almost instantly DFP is called.
Ad Network 1has a static Bid of $2.00 CPM but the publisher set them up for only US inventory even though they have UK demand. They are out of the auctionAd Network 2has a static bid of $2.50 and 1/24 frequency cap – the user is on their second impression so they are out!- Ad Network 3 has a static bid of $.50 but that user had a cookie that one of their demand partners is looking for and is willing to pay a $15.00 CPM. Their bid is still read as $.50 by DFP
- Google AdX Bids $.51 and wins the impression.
Takeaway: The publisher was paid a $.51 CPM from AdX when ad network 3 wanted to pay a $.15.00 bid but couldn’t pass it on to DFP. Now imagine this logic happening on every impression.
A dive into Header Bidding
Header bidding shifts the impression auction into the header of the publishers page and out of the ad server using a piece of javascript header code and a build out line item price buckets at CPM increments (as granular from $.01 to $15.00 at $.01 cent increments if desired, but not necessary) on the back end in the ad server. It allows other major ad networks and supply side platforms to pass bids dynamically into DFP (and other ad servers as well, not singling out DFP here!) on every single impression, creating a true auction for all partners.
Benefits of Header Bidding:
- Significantly increased competition – Supply and Demand. If you have more advertisers competing for each impression, every impression will clear at a higher CPM and make more money for the publisher. Publishers see overall revenue increases in the range of 15-100% or even more depending on how many bidders are set up on their ad placements and the complexity of their ad stack.
- Work with more partners – Many of the major players in the industry have adopted header bidding
- No daily ad server adjustments – Once header bidding is up and running you generally don’t need to make many tweaks, only add on more bidders as you wish to.
- Granular bids – Header bidding allows granular CPM bids to be passed instead of a static bid
- Will not affect your legacy ad stack – A Header integration will run in harmony with any other line items you have set up and abide by the standard logic of the ad server
- Allow multiple exchanges to compete for your inventory
- Diversify revenue streams with multiple partners – accept payments from new partners/re-kindle relationships with networks you may have had to pause in the past.
- Latency is not an issue: Header bidding technology allows the publisher to implement a timeout threshold so that if one of the bidders takes too long, their bid simply won’t count and hold up auction.
Before we go any further, if you haven’t already, download Headerbid Expert chrome extension which will show you what bidders any site is running, how quickly they cast their bids and if they timed out. created by prebid.org, who developed prebid.js an open source javascript library (and widely popular) container solution built by publishers and the adtech community to facilitate multiple header partners.
General Steps to Implement Header Bidding
The word integration scares many publishers. Unfortunately publishers are preconditioned to expect failure and a lot of required trial and error to implement new ad networks. Fortunately, companies who are leading the pack make it a seamless process and usually will do everything for you. Header bidding is really not that hard to implement if you are working with the right partner and strong results should be generated right away if a competitive header stack is built out.
- Javascript code is provided by vendor and placed in the header of the site.
- Vendor or publisher builds out header bidding price buckets in the ad server
- Vendor looks at your test page and confirms bids are being passed
- Header bidding goes live and data is collected and analyzed by publisher and vendor
- Additional bidders are added in the container
The Mechanics of Header Bidding: The Container
Header bidding technology is becoming standardized and many of the frameworks that adtech companies offer are similar and they are willing to help you integrate all of your demand partners into the header solution, usually free of charge to create as much competition as possible – the holy grail for publishers!
The header container is what makes header bidding viable and efficient to implement several partners with the high range being 7-8 bidders. Prebid.js is an open source container solution that pretty much every header bidding network is compatible with. Here is how it works:
Companies compatible with prebid.js
- bRealTime
- AOL
- PubMatic
- PulsePoint
- AppNexus
- Rubicon
- AdForm
- Index
- Sovrn
- OpenX
- YieldBot
- SpringServe
- District M
Header Bidding Resources: