A first-price auction means the highest bidder wins and pays exactly what it bid. Google completed the move to a unified first-price auction across Google Ad Manager in 2019, ending two decades of second-price conventions in programmatic, and publishers who do not understand what this changes about buyer behavior leave money on the table. This guide explains the mechanics precisely, then walks through the practical steps a publisher or ad operations team should take to adapt floor prices, header bidding configuration, and demand strategy.
Why auction dynamics determine your net revenue
Every impression sold programmatically passes through an auction whose rules decide two things: who wins, and what the winner pays. In a second-price auction, the winner pays one increment above the second-highest bid, so buyers can bid high knowing they will still pay less. In a first-price auction, the winner pays its own bid. The same impression, sold under different rules, produces different buyer strategies and different clearing prices.
The shift matters because buyers stopped bidding honestly the moment the rules changed. Under second-price rules, a buyer that values an impression at $4.00 could bid $10.00 and expect to pay something near $4.00 anyway. Under first-price rules, that same buyer bids $3.60, because overbidding now costs real money. Publishers therefore see lower raw bids in first-price auctions, but they also see bids that reflect genuine willingness to pay, which makes floor prices the primary lever for capturing value.
The winning bid does not equal your revenue, either. Google Ad Exchange and other demand sources apply their own revenue share and fees before remitting payment, and any mediation layer in between takes its cut. Understanding first-price mechanics means understanding the full chain: buyer strategy, auction clearing price, platform fees, and your net line item.
How the unified first-price auction runs in Google AdX

Before 2019, Google Ad Manager ran a hybrid system. The Open Auction historically operated on second-price logic while certain deal types and other demand sources behaved differently, which created uneven pricing across the same inventory. Google addressed this by consolidating everything into a single unified first-price auction, and Google's first-price auction announcement confirmed the transition completed in 2019 with one core rule: the winner pays their bid.
The change applied across programmatic demand, including Authorized Buyers. Google documented the March 2019 move in its guidance on the Authorized Buyers first-price transition, which covers the unified first-price auction across programmatic buying within Google Ad Manager. For publishers, the practical consequences are concrete:
- The highest eligible bid wins, subject to floor prices and any deal terms that override open auction logic.
- The winner pays its bid, not the second-highest bid plus an increment.
- Price floors set by the publisher now bind directly on what buyers pay, rather than merely filtering out low bids.
- Buyers bid shaded, meaning they deliberately reduce their bids below true value to preserve margin.
The last point deserves emphasis. Bid shading is the buyer-side countermeasure to first-price rules. A buyer estimates the probability of winning at each bid level and submits the bid that maximizes expected profit, which lands somewhere between the true value and a minimal winning bid. Shading algorithms vary by buyer and get more aggressive on opaque, low-competition inventory. This is why a publisher with a single demand source and thin competition sees depressed clearing prices under first-price rules: the buyer shades heavily because it can.
The OpenRTB at=1 flag and how bid requests signal auction type
Programmatic demand outside of Google's stack reaches your inventory through OpenRTB, the IAB Tech Lab protocol that standardizes how supply-side platforms and demand-side platforms exchange bid requests and bids. The protocol includes an explicit field for auction type, and the OpenRTB first-price auction standard defines the at=1 flag as the value designating first-price in bid requests. An at=2 value designates second-price, and an at=0 value leaves the auction type unclear to the buyer.
This flag matters operationally. When your real-time bidding pipe signals at=1, sophisticated buyers apply their shading algorithms before responding. When the flag is absent or ambiguous, buyers often fall back to conservative bidding, which depresses your revenue. Publishers running Prebid.js or a server-side wrapper should verify that every outbound bid request marks the auction type correctly and matches the actual behavior of the receiving exchange.
A common failure mode: a wrapper declares at=1 but the downstream auction settles second-price, or the reverse. Buyers detect the inconsistency over time and bid defensively, which costs you money on every impression. Audit your header bidding configuration once a quarter, because demand partners update their endpoints and wrapper versions drift.
A step-by-step adaptation plan for publishers
The steps below assume you sell through Google Ad Manager with Google AdX demand and at least one additional programmatic demand source. You can run them in order; each builds on the previous one.
Step 1: Establish your true baseline. Pull ninety days of data before you touch anything. Record gross CPM by placement, by geo, by device, and by demand source. Separate Google AdX line items from Prebid demand in your reporting so you can see which channel clears at which price. Without this baseline you cannot measure whether later changes helped or hurt.
Step 2: Set unified floors deliberately. In a first-price world, floors do two jobs: they filter uneconomic bids, and they anchor the clearing price when competition is thin. Set floors by placement and geo based on your historical clearing distribution, not on wishful thinking. A floor set above the highest observed bid kills fill; a floor set at the median wastes the upside. Start near your 70th percentile clearing price, observe fill rate impact over two weeks, and adjust in small increments. Google Ad Manager lets you set floor prices at the inventory level, and price priority rules can protect floors in mediation scenarios.
Step 3: Verify auction type signaling end to end. Confirm that your bid requests carry at=1 on every path: client-side Prebid.js adapters, Prebid Server endpoints, and any direct OpenRTB integrations. Check the response side too. If a demand partner runs a second-price auction internally, a winning bid of $3.00 in their auction may arrive at your wrapper as $3.00 regardless of the second bid, which changes how you weight that partner.
Step 4: Increase competition before raising floors. Bid shading shrinks when a buyer faces real rivals. Adding demand sources, exchanges, and direct deals puts more bidders into every auction, and more bidders force each buyer to shade less because aggressive shading loses impressions to competitors. This is the single most reliable lever for first-price revenue. The WireAds platform works this way by design: we combine Prebid, OpenRTB, Google MCM with Google AdX demand, and direct deals from brand agencies into one competing pool, so every demand source bids against the others on your ad space. More bidders with honest auction rules produce better clearing prices than any floor tuning on thin demand.
Step 5: Watch net, not gross. Track what lands in your payment reports against what the auction reported. We pay Net 30 on a CPM basis, so a monthly reconciliation between platform-reported gross and invoiced net catches fee drift and demand partner discrepancies early. Discrepancies between your numbers and a partner's numbers above five percent justify a formal investigation.
Step 6: Re-test floors quarterly. Buyer shading models retrain continuously. A floor that anchored well in January may sit below the market in April as buyer models learn your inventory. Build a standing test: hold out a small traffic slice, run a floor variant on it, and compare clearing prices and fill rates over seven days. Small, continuous tests beat large, risky changes.
Common mistakes that cost publishers money
Setting floors to compensate for weak demand. A high floor on thin demand does not create competition; it creates unfilled impressions that fall through to remnant or house ads at near-zero value. Fix the demand mix first, then tune floors.
Ignoring bid shading dynamics by geo. Buyers shade more aggressively in lower-competition geographies and on long-tail inventory. Uniform global floors produce bad outcomes: too low in premium markets, too high in developing ones. Segment floors by geo where your traffic volume supports it.
Trusting a single demand source. One buyer in a first-price auction bids the minimum it expects to win with. Every publisher that relies on one exchange for the bulk of programmatic revenue pays this tax daily. Diversity of demand is the structural fix, and it is why we aggregate premium open market demand, exchanges, DSPs, and direct agency deals rather than depending on any single pipe.
Leaving auction type misconfigured. The at=1 flag costs nothing to set correctly and directly shapes buyer behavior. Misconfiguring it quietly taxes every bid response from every partner.
Overlooking ad quality as a price factor. Buyers bid more for inventory with clean ads, verified sellers, and complete supply chain metadata. Maintain valid ads.txt and app-ads.txt files, keep your sellers.json entries accurate, and pass the SupplyChain object through every wrapper hop so buyers can verify you as the authorized seller. Incomplete supply chain data depresses bids because buyers discount risk. We hold strict filtering standards on ad quality for the same reason: buyers pay premiums for inventory they trust, and trust is technical as much as it is brand-related.
Practical benchmarks and what to expect
Honest expectations matter here. After moving to unified first-price auctions, publishers typically see raw bid levels fall relative to old second-price bid displays, because bids now reflect what buyers actually pay. That is not revenue loss; it is the same economics made visible. What determines your revenue is the clearing price after competition and floors, and publishers who respond to first-price rules with more demand sources, correct auction signaling, and tested floors typically come out ahead of those who change nothing.
Expect the adaptation to take one to two full quarters. Buyer shading models need time to learn your inventory and floors, and your own floor tests need statistical volume. Track three numbers weekly: fill rate, net CPM by demand source, and the spread between your top two bids. A wide spread between the first and second bid signals thin competition and heavy shading, which points you toward adding demand rather than raising floors.
First-price auctions reward publishers who treat yield management as an active discipline. The rules changed in 2019; the publishers still collecting second-price-era assumptions about floors and bid interpretation are the ones financing everyone else's margin.


