How to Set CPM Floor Prices for Your App
Last updated: September 2026
CPM floor prices protect your ad revenue by refusing low-quality bids, and the right floor for most apps falls between $0.50 and $3.00 CPM depending on your audience quality and geographic mix.
What CPM Floors Do
A floor price is the minimum CPM you will accept for an impression. Any programmatic bid below that floor is rejected, and the impression either serves a house ad or goes unfilled.
Floors serve two functions:
- Revenue protection: prevent your inventory from being devalued by low-quality demand
- Audience signal: advertisers read your floor as a quality signal; a $0 floor suggests you will accept anything
The risk is setting floors too high: you increase eCPM on filled impressions but also increase unfill rate, which can lower total revenue.
How to Calculate Your Starting Floor
Start with your current average eCPM and set your floor at 60-70% of that number.
For example:
- Current average eCPM: $1.80
- Starting floor: $1.08-$1.26
This filters the bottom of your demand curve without meaningfully increasing unfill.
Floor Strategies by Inventory Type
Banner Ads (320x50, 300x250)
Banner CPMs are lower than interstitials by nature. Typical floors:
- US/CA/AU/UK: $0.50-$1.50
- EU: $0.30-$1.00
- Rest of world: $0.10-$0.50
Interstitials
Interstitials command higher CPMs and can sustain higher floors:
- US/CA/AU/UK: $2.00-$5.00
- EU: $1.00-$3.00
Rewarded Video
Rewarded video has the strongest demand. Floors can be set aggressively:
- US/CA/AU/UK: $5.00-$15.00
- EU: $2.00-$8.00
Geographic Floor Segmentation
Setting one global floor is usually a mistake. US inventory is worth 5-10x what Southeast Asian inventory is worth. A floor set for US quality will leave most of your global inventory unfilled.
Segment floors by tier:
- Tier 1 (US, CA, AU, UK, DE, FR, NL): set floors at 70% of observed eCPM
- Tier 2 (remaining EU, JP, KR, SG): set floors at 50% of observed eCPM
- Tier 3 (rest of world): set floors at 20-30% of observed eCPM or no floor
Dynamic Floors vs. Static Floors
Static floors are simple: set a number, leave it. Dynamic floors adjust in real time based on demand signals and are supported by most mediation platforms (AdMob, AppLovin MAX, IronSource).
Dynamic floors typically outperform static floors by 5-15% in total revenue because they optimize fill rate and eCPM simultaneously. Use them if your mediation platform supports it.
If you use Zerocost, contextual matching replaces the floor-setting problem for contextual placements: the contextual engine prices inventory based on content match quality rather than auction dynamics, which removes the fill-vs-eCPM tradeoff for that portion of your stack.
Monitoring Floor Performance
After setting floors, watch three metrics:
- Fill rate: if it drops more than 10% from baseline, your floor may be too high
- eCPM: should increase or hold steady if floors are working
- Total revenue (fill rate x eCPM x impressions): the only metric that matters
Adjust floors monthly. Demand patterns shift with advertiser budget cycles (Q4 is high demand, Q1 is low), and floors that work in October may hurt revenue in January.
Common Mistakes
Setting floors and forgetting them: CPM floors need quarterly review at minimum.
Using one floor globally: US and Southeast Asian inventory are not interchangeable.
Setting floors above market: If your unfill rate spikes above 30%, your floors are too aggressive.
Ignoring house ads: If you have relevant house ads (cross-promotion, your own products), fill unfilled impressions with them rather than leaving them blank.
See also: Best App Monetization Platforms for Startups in 2026 | Pangle Alternatives for Mobile App Monetization