Header bidding in one sentence
Header bidding is a programmatic advertising technique in which a publisher offers each ad impression to multiple demand partners (SSPs and ad exchanges) at the same time, before the ad server makes its decision, so that the highest bid wins.
The problem with the waterfall
Before header bidding, ad space was sold through a waterfall: the ad server offered an impression to one buyer at a time, in a fixed priority order. If the first buyer passed, the impression fell to the next one — often at a lower price.
The waterfall has two big weaknesses:
- Buyers never compete directly. A buyer lower in the chain might have paid more, but never got the chance.
- Priorities are based on historical averages, not on what each buyer would pay for this specific impression.
How a header bidding auction works
- A visitor opens a page. A small script (the wrapper) runs in the page.
- The wrapper sends a bid request for each ad slot to several demand partners at once.
- Each partner returns a bid (a price) within a short timeout — typically around one second.
- The bids are passed to the ad server as key-values.
- The ad server compares them with its own demand (for example Google demand) and serves the highest-paying ad.
Prebid.js, the open-source standard
Prebid.js is the most widely used header bidding wrapper. It is open source and maintained by Prebid.org, an independent organization. Each demand partner provides a bid adapter, and the publisher configures which adapters run on which ad units, with which timeout and price granularity.
| Term | Meaning |
|---|---|
| Wrapper | The script that runs the auction in the page (e.g. Prebid.js). |
| Bid adapter | A module that lets one demand partner bid. |
| Timeout | How long the wrapper waits for bids before sending them to the ad server. |
| Price granularity | How precisely bids are bucketed when passed to the ad server. |
| RTD module | A real-time data module that adds signals (such as attention or context) to bid requests. |
Client-side vs server-side header bidding
Client-side header bidding runs the auction in the visitor's browser. It's transparent and widely supported, but every extra partner adds browser requests. Server-side header bidding (for example Prebid Server) moves the auction to a server, so the browser makes one request and many partners can bid. Many publishers combine both: key partners client-side, the rest server-side.
Header bidding and page speed
- Load the wrapper asynchronously so it never blocks your content.
- Use a sensible timeout (often 1,000–1,500 ms) and review it with real data.
- Only keep partners that win auctions; remove those that rarely bid.
- Lazy-load ads below the fold so auctions run when the slot is about to be seen.
How to get started
Running header bidding yourself means managing a wrapper, partner contracts, ad server line items and reporting. Joining a monetization platform such as Pub Premier gives you an existing setup: you verify your site with an ads.txt line, place your ad tags, and the auction runs for you, with results in your dashboard.
