All articles
GuideJune 20, 2026 · 5 min read

What Is a Floor Price and How to Set One

Your floor price is the minimum CPM you'll accept for an impression. Set it too low and you leave money on the table. Set it too high and inventory goes unsold. Here's how to find the right number.

A floor price is the minimum CPM you're willing to accept for an ad impression. Any bid below it is rejected; the slot either stays empty, fills with a house ad, or falls through to a lower-priority network. It's one of the most direct levers publishers have over their revenue, and one of the most consistently misused.

Most publishers either never set a floor — accepting whatever the ad network is willing to pay — or set an arbitrary number based on a vague sense of what their inventory is worth. Neither approach is optimized. This guide explains how floor prices actually work in a programmatic auction and how to find the right number for your site.

What is a floor price?

In programmatic advertising, your inventory is sold through real-time auctions where advertisers bid for the right to show their ad on your page. The floor price sets a minimum threshold: bids at or above it are eligible to win the auction; bids below it are discarded.

Floor prices are expressed in CPM — cost per thousand impressions. A $2.00 floor means you'll only serve an ad if the winning bid is at least $2.00 per thousand views. If no bid clears the floor, the impression goes unfilled.

The floor price sits at the intersection of two competing objectives: maximizing revenue per filled impression and maximizing the number of filled impressions. Optimizing for one at the expense of the other usually hurts total revenue.

How floor prices work in auctions

Most programmatic auctions today use a second-price auction model: the winning bidder pays the second-highest bid, plus one cent. In a second-price auction, your floor price acts as the effective minimum second price — if only one bid clears the floor, they pay your floor price rather than a fraction of it.

This makes the floor price a meaningful revenue guarantee for any impression that fills. If your floor is $2.00 and the only qualifying bid is $4.50, the advertiser pays $2.01 rather than whatever the next-highest bidder offered. You capture more of the value.

Floors in header bidding

In a header bidding setup, your floor applies across all demand sources simultaneously. Every SSP sees the same floor and only submits bids to the auction if they have demand at or above it. A server-side header bidding platform enforces this automatically.

Setting your floor price

The right floor price is a function of your audience quality, vertical, and the competitive density of demand for your inventory. There is no universal number, but there is a practical methodology.

Start with your current CPM distribution

Pull a histogram of your winning CPMs over the last 30 days. Look at the median, the 25th percentile, and the 10th percentile. Your current effective floor — whether explicitly set or not — is visible in how many impressions cluster near zero CPM.

If a meaningful share of your impressions are clearing at $0.20–$0.50, those are almost certainly impressions where you have one or zero real bids. A floor won't hurt your fill rate on those impressions — the advertiser paying $0.30 is not a bidder worth serving.

Test upward from a conservative baseline

Set an initial floor at roughly your current 25th-percentile CPM. Monitor fill rate and effective RPM for two weeks. If fill rate drops more than 10–15% and RPM doesn't compensate, the floor is too high for your current demand. If RPM increases without a significant fill rate impact, push the floor higher and repeat.

A good floor optimization cycle takes 6–8 weeks of testing with two-week observation periods between adjustments. Moving faster than this introduces too much noise to draw conclusions.

Account for vertical and audience

Finance, B2B software, and health content consistently attract higher CPMs than general interest or entertainment content. If your content is in a high-value vertical, your floor should reflect that. Publishers in these spaces often run floors of $3–$6 without meaningful fill rate loss because demand at those levels is plentiful.

US and UK audiences command a significant premium over most other markets. If you have strong geographic segmentation in your analytics, consider geographic floor price tiers — a higher floor for US traffic, a lower one for traffic from markets with thinner demand.

Dynamic floor prices

Static floors are a blunt instrument. More sophisticated setups use dynamic floors that adjust automatically based on real-time signals: time of day, day of week, audience segment, page context, and historical bid density for the specific placement.

Dynamic floors are standard in enterprise ad operations but increasingly available to independent publishers through modern header bidding platforms. The logic is simple: if your data shows that Monday morning impressions consistently attract 40% higher CPMs than Friday evening, your floor should be higher Monday morning. A static floor optimized for the average misses the upside at peak times and is too restrictive at off-peak times.

Common mistakes

  • Setting a floor once and leaving it. Programmatic demand is seasonal. Q4 brings significantly higher CPMs than Q1. A floor set in January will leave money on the table in October. Review your floor at least quarterly.
  • Using the same floor for all placements. A leaderboard above the fold and a unit deep in a sidebar have different demand profiles. Floors should be set per placement, not globally across the site.
  • Optimizing fill rate instead of RPM. A 100% fill rate at $0.30 CPM generates less revenue than an 80% fill rate at $2.00 CPM. Floor optimization should target revenue per thousand page views, not raw fill rate.
  • Not testing at all. The default floor on most ad networks is either zero or a nominal amount set by the network for their own benefit, not yours. Any floor is better than none.

Floor price optimization is one of the highest-leverage things an independent publisher can do to improve programmatic revenue. It requires no additional traffic and no additional advertisers — just a clearer signal to the market about the minimum value of your inventory. Most publishers who go through a proper optimization cycle see RPM improvements of 20–40% within two months.

Ready to add native ads to your site?

One embed script. AI-generated templates that match your design. 70% revenue share, paid monthly.