Lesson 4 of 7 · 8 min read · intermediate
Auctions: first price vs second price
Why programmatic moved from second-price to first-price auctions by 2019, how bid shading works, and what floors and pricing rules change.
Two buyers want the same impression. One is willing to pay 5 dollars, the other 3 dollars. The first one wins, but how much should she pay: 5 dollars, or just a bit more than 3? That single rule, which sounds like a detail, decided billions of dollars of ad spend, triggered one of the biggest shifts in programmatic history, and features in the US antitrust case against Google.
A second-price auction is like an eBay proxy bid: you enter the most you would pay, and the system only charges you slightly more than the next person. A first-price auction is like a sealed-envelope bid for a house: you pay exactly what you wrote, so you have to think hard about not overpaying.
Second-price: the early standard
In a second-price auction, the highest bidder wins but pays the second-highest bid plus a small increment, often one cent. In theory this is lovely: it is in each buyer's interest to bid their true value, because bidding higher never makes you pay more than necessary. For its first decade, most programmatic advertising ran this way.
In practice it broke. With header bidding, the same impression passed through several auctions in a row, each with its own rules. An SSP could run a second-price auction and then submit the result to another auction. Some sellers set hidden or soft floors, so the "second price" might be a number the buyer could not see. Buyers began to suspect that "second price" did not mean what they thought it meant.
First-price: pay what you bid
In a first-price auction, the winner pays exactly its bid. It is simpler and more transparent: a bid of 5 dollars costs 5 dollars. Around 2017 and 2018, major SSPs including AppNexus, Index Exchange, OpenX and Rubicon Project moved to first price. In 2019 Google Ad Manager followed, completing the move to a unified auction in which AdX, Open Bidding partners and header bidding line items competed in a single first-price auction.
Second-price
- Winner pays second-highest bid + $0.01
- Encourages bidding true value, in theory
- Opaque when floors and multiple auctions stack
- Mostly abandoned in display by 2019
First-price
- Winner pays its own bid
- Simple, easy to audit
- Buyers risk overpaying, so they shade bids
- The standard for web and app display today
Bid shading: the buyer's answer
If you pay what you bid, you should not bid your full value. Bid shading is the algorithm that lowers a bid to roughly the price needed to win. DSPs, including Google's DV360 and The Trade Desk, built shading models that learn from the bid landscape: what clearing prices look like for each type of impression, publisher and time of day.
- Value the impressionThe DSP's model says this impression is worth 5.00 dollars to the advertiser.
- Estimate the competitionHistory suggests similar impressions usually clear around 3.20 dollars.
- ShadeThe DSP bids 3.40 dollars, trading a slightly lower win rate for a much lower cost per win.
- LearnWin and loss feedback updates the model, so shading keeps adapting as competition changes.
OpenRTB 2.5 and later let sellers send back the winning price and a minimum bid to win after the auction, which gives shading models better data. Sellers, in turn, use dynamic floors to stop shading from pushing prices too low. The ongoing push and pull is a good example of auction dynamics: rules change behaviour, and behaviour changes the rules.
Floors and pricing rules
A floor is the minimum a seller will accept. With first price, floors got more sophisticated: many SSPs now set per-impression floors with machine learning. When Google moved to first price in 2019, it also introduced Unified Pricing Rules, which required publishers to set the same floor for all buyers in Google Ad Manager instead of letting them set lower floors for rival exchanges. Publishers complained this limited their control.
Where second price survives
Some search and social platforms still use variants of second-price or generalised auctions, and some in-app and CTV marketplaces mix models. OpenRTB's "at" field lets each request state the auction type, so a buyer always knows which rules apply to that specific bid request.
Key takeaways
- In a second-price auction the winner pays just above the runner-up; in a first-price auction it pays its own bid.
- Stacked auctions and hidden floors made second price opaque, pushing the industry to first price by 2019.
- Google Ad Manager completed its move to a unified first-price auction in 2019.
- Bid shading lets DSPs bid near the expected clearing price rather than full value.
- Unified Pricing Rules were cited by the US court, which in 2026 ordered Google to deprecate them.
Questions people ask
Why did programmatic move to first-price auctions?
Header bidding meant impressions passed through several auctions in a row, and second-price rules combined with hidden floors made it hard for buyers to know what they were really paying. First-price auctions, where the winner pays its bid, are simpler and easier to audit. Most major SSPs switched by 2018, and Google Ad Manager completed the move in 2019.
What is bid shading?
Bid shading is a technique DSPs use in first-price auctions to avoid overpaying. Instead of bidding the full value of an impression, the algorithm estimates the price needed to win, based on past clearing prices and win or loss feedback, and bids close to that. It keeps costs near what a fair second-price auction would have charged, while still winning enough impressions.
What are Unified Pricing Rules in Google Ad Manager?
Unified Pricing Rules, introduced in 2019 alongside Google's first-price auction, required publishers to set the same price floor for all buyers competing in Google Ad Manager, including AdX and rival exchanges. Publishers could no longer give lower floors to competitors. The US court cited these rules in its 2025 liability ruling, and its 2026 remedies order requires Google to deprecate them.