Jul 17, 2026·8 min read
Floor Price (Reserve Price)
Floor Price (also called reserve price) is the minimum bid an exchange or publisher will accept for a given ad impression. It acts as a price floor in the auction — bids below it are discarded. The platform (SSP, exchange, or publisher ad server) sets the floor, and it can be static per placement or dynamically adjusted per segment. Floor price directly shapes the tradeoff between CPM yield and fill rate.
What it is
A floor price is the lowest clearing price for an impression in a real-time auction. In OpenRTB, the bidfloor field carries this value per impression or per deal. The auction ignores any bid below it.
Floors can be:
- Static — a fixed minimum for a placement or ad unit.
- Dynamic — adjusted per impression based on user, context, or historical bid density.
Why it matters: The floor is the primary lever a publisher or exchange has to protect revenue. Set it too high and you lose bidders (lower fill). Set it too low and you leave money on the table. The goal is to maximize yield (fill × price), not just CPM.
Common misconception
“Raise the floor, raise the revenue.” In practice, a higher floor often chokes competition, reducing the number of bidders and sometimes lowering the final clearing price. The relationship is non-linear.
How it is calculated
Floor price is not calculated from other metrics — it is a set value (or a rule that produces a value). The formula for its effect on yield is:
Yield = Fill Rate × Average CPM
Where:
- Fill Rate = (Impressions won) / (Total bid requests)
- Average CPM = average winning bid price × 1000
Caveats
- Dynamic floors are often computed by the platform using historical bid distributions, segment data, or machine learning models. The exact algorithm varies by vendor.
- Deal floors (PMP deals) may override the general placement floor.
- Exchange fees sometimes apply on top of the floor — check your contract.
- A floor is not the same as a starting bid in a waterfall; it is a hard minimum in a unified auction.
How to read it in a dashboard
A floor price number alone is meaningless. You must read it alongside fill rate and win rate.
Example dashboard row: | Placement | Floor ($) | Fill Rate | Win Rate | eCPM ($) | |-----------|-----------|-----------|----------|----------| | Homepage ATF | 2.50 | 45% | 22% | 3.10 |
What to look for:
- If floor is high and fill rate is low → you may be pricing out bidders.
- If floor is low and eCPM is high → you might be leaving money on the table (raise floor gradually).
- If win rate is very high (>80%) and floor is low → your floor is probably too low.
Pair with
What usually moves this metric
Levers
Publisher-side:
- Static floor changes in the ad server or SSP UI.
- Dynamic floor rules based on country, device, time of day, or user segment.
- Deal floors for PMPs — often higher than open auction floors.
- Header bidding wrapper settings — some wrappers let you set per-bidder floors.
Platform/Exchange-side:
- Exchange default floors for new placements.
- Floor optimization algorithms (e.g., Google Ad Manager dynamic allocation).
- Bid shading — some exchanges reduce the winning bid to just above the second-highest bid, which interacts with floors.
Tradeoffs
Raise floor → higher eCPM per impression, but fewer impressions sold. Lower floor → more impressions sold, but at lower average price.
The optimal floor is where marginal revenue gain from a higher floor equals marginal loss from reduced fill. This is rarely at the extremes.
Easy mistake: A publisher once told their team “just set all floors to $5 CPM.” Fill dropped from 70% to 20%, and total revenue fell 40%. They optimized for CPM instead of RPM.
Formula
Floor price itself is a set value, not a computed metric. The formula shows the yield impact of changing the floor.
Scenarios
The overconfident floor raise
A news publisher raised floors on all US desktop placements from $1.00 to $2.50 after seeing strong demand.
What happened: Fill rate dropped from 65% to 28%. Revenue fell 20% despite higher eCPM. Why: The floor exceeded the bid density peak — most bidders were in the $1.00–$2.00 range. Fix: Lower floor to $1.50 and test incrementally. Takeaway: Raise floors in small steps and watch fill rate, not just eCPM.
Dynamic floor rescue
A mobile gaming app had a static $0.50 floor. Fill was 90%, but eCPM was only $0.60.
What they did: Implemented dynamic floors by country tier (Tier 1: $1.50, Tier 2: $0.80, Tier 3: $0.30). Result: Overall fill dropped to 75%, but eCPM rose to $1.20. RPM increased 50%. Takeaway: Segment floors by expected bid value — one-size-fits-all floors leave money on the table in high-value segments and block demand in low-value ones.
The PMP deal floor mismatch
A publisher set a PMP deal floor at $8.00 for a premium video placement. Open auction floor was $3.00.
What happened: The PMP deal won zero impressions over two weeks. Buyers saw the floor and didn't bid. Fix: Lowered PMP floor to $5.00 and added a $0.50 bid advantage over open auction. Result: Deal filled at 40% with $5.20 eCPM — incremental revenue. Takeaway: PMP floors must reflect real buyer willingness, not aspirational pricing.
Common pitfalls
Chasing CPM instead of RPM
A high floor can make your CPM look great while total revenue tanks. What to do: Track Revenue Per Mille (RPM) = total earnings / total impressions × 1000. Optimize for RPM, not CPM.
Ignoring bid density
Setting a floor without knowing where most bids cluster is like guessing a price. What to do: Use your SSP's bid landscape report or histogram. Set the floor just below the peak bid density to maximize competition while protecting yield.
One floor for all traffic
A single floor across countries, devices, and formats ignores huge value differences. What to do: Segment floors by at least country tier and device type. Use dynamic floors if your platform supports them.
Summary
Floor price is a powerful but dangerous lever — it directly controls the tradeoff between price and volume. The best floor is the one that maximizes total yield, not the one that looks highest in a report.
- Always read floor alongside fill rate and win rate.
- Raise floors incrementally and measure RPM, not just CPM.
- Segment floors by value (country, device, placement) for best results.
Quick check
Confirm you understood this article.
boolean
A higher floor price always increases total revenue.
Select an answer to continue
References
- OpenRTB bid floor fields — IAB Tech Lab specification (https://iabtechlab.com/standards/openrtb/)
- Publisher yield management practice — floor vs fill tradeoff (industry conceptual reference)
- Google Ad Manager Help — dynamic allocation and floor pricing (conceptual reference)
For learning only. Not advice on bids or spend.
You may also like
Metrics
Cost Per Mille (CPM)
CPM (Cost Per Mille) is the price an advertiser pays for 1,000 ad impressions.
CostMetrics
Effective Cost Per Mille (eCPM)
eCPM (effective cost per mille) is the revenue a publisher earns per thousand ad impressions, r…
RevenueMetrics
Win Rate
Win Rate is the percentage of auctions in which a bidder wins the impression.
AuctionMetrics
Second-Price Auction
Second-Price Auction is a bidding mechanism where the winning bidder pays the price of the seco…
Auction