Transitioning from Waterfall to Header Bidding: A Complete Migration Guide
Ad Manager mediation calls ad networks one at a time, ordered from highest to lowest expected yield, and lets each call hold the impression for a dynamic timeout between 1 and 60 seconds. Header bidding inverts that model: the publisher inserts one deliberate delay, collects bids from every selected partner concurrently, and excludes any partner that misses the timeout. Moving from the first model to the second is an architecture change, not a settings change, and it touches demand, trafficking, latency and reporting at the same time. This guide covers the full path for sites above one million monthly pageviews: the audit, the demand plan, the Prebid.js build, the Ad Manager trafficking, and the rollback plan if the numbers disappoint.
The waterfall you are leaving behind
Mediation in Ad Manager works through yield groups targeting. The ad server assembles a chain of ad networks, calls them in sequence, orders the chain from highest to lowest expected yield, and applies a dynamic timeout between 1 and 60 seconds per network call. That is Google's own description of mediation, and its documentation states the mechanism plainly enough that the cost is visible in the design itself.
The cost is opportunity cost. In a sequential chain, the first network that fills wins the impression, and every network deeper in the chain never sees the request at all. If the third network in the chain would have paid 40 percent more than the first, that premium never enters the auction because the request never reaches it. Expected yield ordering reduces this loss, but the ordering rests on historical averages, not on the actual value of the specific impression being sold right now. A high-value user on a high-value page can still be sold to the top of the chain at a mid-chain price.
The second cost is latency. Timeouts stack. When the top of the chain misses, the impression waits through that network's timeout before the next call fires, and the page waits with it. A deep chain with mediocre fill at the top produces a slow page even when the final price is unremarkable. Publishers often respond by shortening timeouts, which then cuts off the deeper networks and recreates the first problem in a different form.
What concurrency actually changes
Header bidding replaces the sequence with a single window. The publisher creates a short, deliberate delay in ad serving and uses it to obtain bids concurrently from all selected bidders within the timeout. Any partner that has not responded in time is excluded from the auction. This is the mechanism Prebid documents, and every downstream benefit or cost follows from it.
Three things change at the auction level. First, every participating bidder sees every impression, so demand competes on the actual value of the impression rather than on its position in a historical ranking. Second, the publisher enforces one floor across the entire demand set, rather than maintaining separate floors per network tier. Third, the ad server receives the winning header bid as a keyed value that competes against direct campaigns and AdX in the same decision, so direct deals keep their priority and the header price sets the bar the rest must clear.
The pricing dynamics also shift. Header demand largely transacts in first-price terms, where bidders shade their bids below their true value to avoid overpaying, and the auction ranks bids by expected value rather than by second-price clearing. If you want the concurrency to convert into net CPM rather than into gross numbers that shrink at settlement, read up on first-price bid shading and reserve prices, because floor strategy under first-price conditions behaves differently than it did under the waterfall's posted CPMs.
What the measured numbers show
The revenue evidence is dated but consistent. In 2015, Digiday reported that one vertical search publisher saw header bidding boost CPMs by nearly 40 percent, and a homework help site reported a lift between 20 and 50 percent. Treat these as directional: they come from early adopters speaking to trade press, not from a controlled study. The direction, however, matches the mechanism, since concurrency recovers exactly the money that sequential ordering leaves on the table.
The latency evidence is more rigorous and less flattering. A 2019 academic study covering roughly the top 35,000 sites measured median header bidding latency at about 600 milliseconds, up to 3 times higher than waterfall at the median, and found that at least 10 percent of sites exceeded 3 seconds of header bidding latency. At the time of that study, 14.28 percent of top websites used header bidding. Adoption has grown since, but the latency finding still describes the dominant failure mode: a publisher bolts on twelve adapters, gives each a generous timeout, and pays for the recovered CPMs with a page that loads visibly slower.

The honest summary is that both effects are real. Concurrency raises prices, and undisciplined concurrency raises load time. A migration done well captures the first and contains the second, and the phases below are built around that constraint.
Phase one: audit before you touch a single tag
Do not start by installing Prebid.js. Start by producing four artifacts, because each one gates a decision later in the migration.
The first artifact is a placement map: every ad unit, its sizes, its position relative to the fold, and its current fill and CPM by geography. The second is a tag inventory: confirm that Google Publisher Tag runs on the site, which header bidding requires, and record where the tags render relative to your content. The third is an ad server edition check. Ad Manager 360 versus the smaller Ad Manager tier determines your trafficking path in phase three, because the line-item-free approach requires Ad Manager 360. The fourth is a traffic report: geographies, formats, device split, invalid traffic levels, and the vertical categories your pages actually serve. Demand partners price these variables differently, and the traffic report is what turns a partner list from guesswork into a plan.
This is also the stage where you choose who runs the stack. We work with thousands of publishers, each above one million monthly pageviews, our curated programmatic demand network pays Net 30 on CPM terms, and OnlyMedia evaluates new inventory from a traffic report in about two weeks, with onboarding itself taking two to five days. Whether you run the migration in-house or with a partner, insist on that sequence: traffic report first, partner selection second, code third. Reversing the order is how sites end up with adapters that never bid on their actual inventory.
Phase two: build the demand plan
The demand plan answers three questions: which partners bid, where they bid from, and what they bid on.
Client-side adapters belong in the page when the partner adds clear incremental spend and responds quickly. Server-side seats belong there when the adapter is slow, when it serves a long-tail region, or when you simply need to keep the page light. OpenRTB 2.6 seats give you the server-side channel with the current spec's fields, and Prebid covers both the client-side wrapper and the server-side connection. On our side, we run Google Ad Manager, AdX and MCM for publisher partners, and our SSP runs one unified auction per impression with AdX via MCM, Prebid and OpenRTB seats under managed floors, so no demand source gets a privileged position by accident of plumbing.
Adapter count is a budget, not a wish list. Every client-side adapter adds JavaScript weight and one more bidder that can stall inside the timeout window. Rank candidate partners by the incremental spend the traffic report suggests they will bring, cut the ones whose demand overlaps a partner you already have, and re-evaluate quarterly. A tight set of eight partners that actually bid will beat a loose set of twenty that mostly time out, on both revenue and page speed.
Phase three: trafficking in Ad Manager
This phase historically caused the most migration pain, and it is where the tooling has changed most.
The classic setup required price buckets: for each bidder and each granularity step, you trafficked a line item and creative pair keyed to a price band, so the ad server could recognize the header bid and compete with it properly. Google itself described that burden as requiring hundreds to thousands of line items and ad creatives. Every floor change, every new bidder and every new format meant re-trafficking, and a mis-keyed order silently lost money for weeks.
Two developments have since absorbed most of that work. In April 2022, Google announced simplified header bidding support in Ad Manager, with automatic detection of header bidding line items, which removes much of the manual maintenance from the classic setup. More decisively, Prebid now supports header bidding trafficking in Ad Manager with no line items at all, including no price priority line items. The requirements are Ad Manager 360, a standard implementation of Prebid.js, and Google Publisher Tag on the site, and Prebid documents a migration path from existing line item setups. Follow the step-by-step trafficking guide as your runbook for the Ad Manager side; it covers the exact settings the no-line-item path needs and the order in which to switch components over.

If your audit in phase one found that you are not on Ad Manager 360, your decision is whether the trafficking relief justifies the upgrade, or whether you run the line-item path with automatic detection while you plan the upgrade. Do not attempt the no-line-item path on the wrong tier, and do not run both trafficking approaches against the same placements at once. Pick one path per placement, verify bid recognition in reporting before scaling, and keep the old setup intact until the new one proves itself.
Phase four: engineer the latency deliberately
Latency is the one cost of header bidding you control completely, and the 2019 measurements tell you where the risk sits: a median around 600 milliseconds, with a long tail past 3 seconds on poorly configured sites.
Four controls keep you near the median. Set the Prebid timeout as a deliberate number, matched to how long your page can afford to hold the slot, and measure it rather than inheriting a default. Cap client-side adapters at the count your placement map justifies and push the rest to server-side seats. Lazy load everything below the fold so the header auction for those slots starts when the user approaches them, not at page load. Finally, audit timeouts against actual bidder response times in your reporting: any adapter that regularly consumes the full window without winning deserves removal, because it slows every auction it joins while paying for none of them.
Treat page speed as a revenue variable, not a site experience afterthought. The CPM lift from concurrency shrinks if slower pages cost you sessions and viewability, and viewability itself feeds back into what demand will pay on future auctions.
Phase five: measure, pay attention, and keep a rollback
Run the migration as a split, not a flip. Keep the waterfall yield groups fully intact, key a share of traffic to the header path, and compare like for like: net CPM per placement, fill rate, viewability and page load metrics, by geography and device. Give the test enough time to cover weekday and weekend demand, since programmatic pricing varies by daypart and day of week. Move traffic to the header path in steps as the numbers hold, and keep the waterfall configuration in place as the rollback the entire time.
Reporting cadence matters as much as the test design. Use a publisher monetization console that reports in ten minutes, so a mis-keyed value or a stalled adapter shows up the same morning rather than at month end. Payment terms matter too: we pay publishers Net 30, CPM based, no chasing, no sliding terms, and you should demand the same clarity from every demand partner in your stack, because header bidding multiplies the number of parties who can quietly redefine what a CPM means.
If net revenue disappoints after a fair test, the rollback is cheap by design: flip the traffic key back to the waterfall path, and you have lost a few engineering days rather than a quarter of revenue. In practice, with a disciplined adapter set and correct trafficking, publishers rarely take that exit, but having it is what lets you test aggressively.
Failure modes to check before launch
Every migration that struggles shows one of a small set of defects. Run through this list before you scale traffic.
- Missing Google Publisher Tag. The no-line-item path requires it, and a site running a legacy tag setup will pass the build check but fail bid recognition.
- Wrong ad server tier. The line-item-free trafficking needs Ad Manager 360. Building for it on the smaller tier wastes the entire trafficking phase.
- Price mismatch in the classic path. If you keep line items, every floor change must propagate to the price bands, or the ad server will match bids to the wrong band and clear at the wrong price.
- AdX left outside the competition. Bring AdX into the unified decision, via MCM where applicable, so header demand has to beat it honestly rather than winning by default.
- Unmanaged floors. One floor across all demand is an advantage only if you maintain it. Review floors against clearing prices monthly, since first-price bidders shade around whatever floor they can infer.
- Adapter sprawl. More partners is not more money. Prune against response times and win rates every quarter.
Where this lands operationally
A waterfall sells each impression to the first network in a historical ranking that happens to be awake. Header bidding shows each impression to the entire demand set at once and makes them state a price. The migration between those two models is engineering work with a checklist, not a leap of faith: audit the stack, plan demand from a traffic report, build Prebid against Google Publisher Tag, traffic through the simplified Ad Manager paths, hold latency near the measured median, and test against the waterfall you keep running in parallel. Publishers above one million monthly pageviews have enough impressions for every one of these steps to show up clearly in the numbers, which is exactly why the discipline pays.