Header bidding is one of those terms everyone in ad tech uses and almost nobody explains properly. If you run a website and you've heard that header bidding for publishers "raises CPMs", this guide is for you. It explains what header bidding actually does, why it tends to earn more than a single ad network, what it costs you in complexity and page speed, and how to decide whether it's worth setting up.
No jargon you don't need, and no promises about specific numbers. Results depend too much on your site, your audience and your setup for anyone to promise a figure honestly.
The problem header bidding solves
To understand header bidding, it helps to know how ads used to be sold, and how they're still sold on many sites.
For years the standard setup was the waterfall. Your ad server offered each impression to one demand source at a time, in a fixed order. If the first source didn't want it at the asking price, it went to the second, then the third, and so on down the line.
The waterfall had two big flaws:
- The order was based on historical averages, not the actual impression. A partner further down might have been willing to pay far more for this particular visitor, but it never got the chance because someone higher up accepted first.
- Every step added delay. Each "no" meant another round trip before the ad could load.
In short, you were selling each impression to the first buyer who said yes, not to the buyer who'd pay the most.
What header bidding actually is
Header bidding replaces "one at a time" with "everyone at once".
When a page loads, a piece of code (originally placed in the page's <head>, hence the name) asks several demand partners for a bid at the same time. Each partner looks at the impression (the site, the ad size, the visitor's country and device, and whatever else it's allowed to use) and comes back with a price.
The highest bids are passed to your ad server, usually Google Ad Manager, where they compete with Google's own demand. The best price wins.
In plain terms: more buyers compete for every impression, at the same moment. When more buyers compete, prices tend to go up. That's the whole idea.
How a header bidding auction works, step by step
Here's what happens in the second or so after someone opens one of your articles:
- The page loads and the header bidding script starts running.
- Bid requests go out to every configured demand partner (often called bidders or SSPs) at the same time.
- Bidders respond with a price and an ad, within a set time limit called the timeout. Bidders that are too slow are simply left out.
- The winning bids are sent to the ad server. Google Ad Manager compares them with Google's own demand (Google Ad Exchange and any direct deals).
- The highest price wins, and that ad is shown.
Since 2019, Google Ad Manager has run a unified first-price auction, meaning the winner pays what they bid. That makes it simpler to reason about how header bidding demand and Google demand compete.
Prebid: the standard most sites use
Most header bidding today runs on Prebid, an open-source project maintained by the industry body Prebid.org. Prebid comes in two main forms:
- Prebid.js runs in the visitor's browser. It's the most common setup for websites.
- Prebid Server runs the auction on a server instead of in the browser. This takes work off the visitor's device, which helps on slow phones and is the usual approach for apps and video.
Many sites use a mix of both. Because Prebid is open source and widely supported, almost every major SSP has a Prebid adapter. Adding a demand partner is mostly a configuration job rather than a custom integration.
Header bidding vs. Google's own auction
You'll sometimes see header bidding described as an alternative to Google. It isn't, really. It works alongside it.
Google Ad Exchange (AdX) is still one of the largest sources of demand on the web, and in most setups it competes in the same auction as your header bidders. Header bidding just makes sure Google isn't the only one who gets a serious look at each impression.
Google also has its own server-side version of the same idea, called Open Bidding, where third-party exchanges bid inside Ad Manager. Many publishers use Prebid and Open Bidding together.
Why header bidding usually earns more
There are a few reasons header bidding tends to raise revenue:
- More competition per impression. Instead of one buyer deciding, several bid on the same impression.
- Fairer price discovery. You learn what each impression is actually worth today, not what an average from last month said.
- Access to buyers you'd otherwise miss. Different exchanges have different advertisers. Some are strong in Europe, some in the US, some in specific formats like video.
- Better data for floors. With real bids from several partners, you can set price floors that reflect actual demand rather than guesses.
How big the gain is varies a lot. It depends on your traffic's countries, your content, your ad layout and how well the setup is tuned. Be wary of anyone who promises an exact percentage before they've seen your site.
The downsides nobody puts in the sales pitch
Header bidding isn't free. It has real costs, and you should go in knowing them.
Page speed. Every bidder adds work for the browser. Too many bidders, or a badly set timeout, can slow the page and hurt both user experience and Core Web Vitals. More bidders isn't automatically better; past a certain point you add delay without adding revenue.
Setup and maintenance. Someone has to create the line items or set up the bidders in Ad Manager, maintain your ads.txt file, monitor bidder performance, fix discrepancies between what bidders report and what the ad server shows, and tune timeouts and floors. It's ongoing work, not a one-off.
Partner management. Each SSP needs an account, approval and its own entries in your ads.txt. Getting set up with ten partners means ten relationships.
Consent requirements. In the EU and UK, bidders need valid consent signals from your consent banner (CMP) to bid properly. A misconfigured consent setup can quietly cut your demand.
Do you need header bidding?
A rough guide:
Probably not yet if your site is small, your traffic is mostly from lower-CPM regions, or you have no one with time to manage it. AdSense or a simple network is often fine at that stage.
Probably yes if you have substantial, steady traffic from markets like the US, UK, Canada, Australia or Western Europe, and your RPM has stopped growing on a single network.
Then the question becomes how to do it:
- Build it yourself: your own Ad Manager account, Prebid, direct SSP relationships and an in-house ad ops person. Full control, but a lot of work.
- Use a managed partner: someone else runs the header bidding and Ad Manager setup for you. Less control over the plumbing, but none of the day-to-day work.
What to ask a header bidding partner
If you go the managed route, ask these before you sign:
- Which bidders will run on my site? Ask for names, not "premium partners".
- Do you include Google AdX? And is it in the same auction as the header bidders?
- How do you protect page speed? What's the timeout, and how many bidders do you run?
- Who configures my site? A person who's looked at your pages, or a standard template?
- How do you handle consent in the EU and UK?
- What do I need to change? Ideally one script and some lines in ads.txt.
How Dokira does it
Dokira is a managed option. Your site gets Google AdX plus 17 header bidding partners through one script and our lines in your ads.txt. You can see the full list of partners on our demand page.
Our team sets up each site individually, including placements, price floors and which bidders run, based on your actual pages and traffic. Sites run on our Google Ad Manager account by default, so there's nothing for you to apply for. If you already have Ad Manager, you can link it instead.
We generally work with sites of roughly 500,000 monthly pageviews or more, with original content and mostly tier-one traffic. Details are on our publishers page.
FAQ
Is header bidding the same as programmatic advertising?
No. Programmatic advertising is the broad term for buying and selling ads automatically. Header bidding is one specific way of running the auction, where several buyers bid at the same time before the ad server picks a winner.
Does header bidding slow down my website?
It can, if it's set up badly. A sensible number of bidders, a tight timeout and asynchronous loading keep the impact small. Test your pages before and after.
Can I use header bidding with AdSense?
Not really. Header bidding needs an ad server like Google Ad Manager to compare bids. AdSense doesn't provide that. Sites that move to header bidding usually move off AdSense.
How many header bidding partners should I use?
There's no fixed number. Choose partners with strong demand in your traffic's countries and formats, and drop ones that rarely win. More isn't automatically better because each one adds load time.
Do I need my own Google Ad Manager account?
Not necessarily. Many managed partners run your site in their own Ad Manager account. If you already have one, some partners can work inside yours.
Next step
If your site gets around 500,000 monthly pageviews or more and you'd like header bidding without building the setup yourself, apply to Dokira. One form and your domain is all we need to start. A person reviews every site.