Skip to main content

Floor Prices

Set minimum bids to filter low-quality ads and capture more value from your inventory.


What is a floor price?

A floor price is the minimum bid you'll accept for an ad impression. Bids below the floor are rejected.

Example — with a floor of $1.00:

BidResult
Bid A — $1.50Accepted
Bid B — $0.80Rejected (below floor)
Bid C — $1.10Accepted

Why floors matter

1. Filter low-quality ads

Very low bids often come from low-quality advertisers. Floors create a quality baseline.

2. Capture hidden value

In first-price auctions, buyers use bid shading. Floors force them to bid closer to their true value.

Without floor:
Buyer values at $3.00, bids $1.50 (shaded)
You earn: $1.50

With $2.00 floor:
Buyer values at $3.00, bids $2.20 (can't shade below floor)
You earn: $2.20 (+47%)

3. Signal inventory value

High floors signal premium inventory to buyers. This can attract premium demand.


The floor trade-off

Higher floors → Higher CPM, but lower fill rate
Lower floors → Higher fill rate, but lower CPM

Revenue = Impressions × Fill Rate × CPM

You need to find the sweet spot.
Floor strategyCPM impactFill rate impactBest for
High floors↑ Higher↓ LowerPremium inventory, high-demand
Low floors↓ Lower↑ HigherScale, backfill inventory
No floorsLowestHighestMaximum fill (not recommended)

Setting your first floors

Start conservative

Begin with floors you're confident you can fill:

Inventory typeStarting floorAdjust based on
Premium above-fold$1.50 - $2.50If fill rate > 90%, raise
Standard display$0.50 - $1.00If fill rate > 85%, raise
Below-fold / lazy$0.25 - $0.50If fill rate > 80%, raise
Mobile$0.30 - $0.75If fill rate > 85%, raise

The 80% rule

A good starting target: set floors so fill rate stays above 80%.

Below 80% fill rate: You're leaving impressions unsold (lost revenue). Above 95% fill rate: You might be setting floors too low.


Floor strategies

Strategy 1: Global floors

One floor for all inventory. Simple but not optimal.

All ad slots: $0.75 floor

Pros: Easy to manage Cons: Doesn't account for inventory differences

Strategy 2: Position-based floors

Different floors by ad position.

Above-fold: $2.00
Sidebar: $1.00
In-content: $0.75
Below-fold: $0.50

Pros: Matches inventory value Cons: Requires more management

Strategy 3: Device-based floors

Different floors by device type.

Desktop: $1.00
Mobile: $0.60
Tablet: $0.80

Pros: Accounts for device CPM differences Cons: May miss geo/content variations

Strategy 4: Dynamic floors

Floors that adjust automatically based on:

  • Time of day
  • Day of week
  • Historical performance
  • Real-time demand

Pros: Optimal pricing Cons: Requires sophisticated tooling

Start simple, get sophisticated

Begin with position-based floors. Add complexity as you learn your inventory.


Optimizing floors over time

Week 1-2: Observe

Set conservative floors and monitor:

  • Fill rate by slot
  • CPM by slot
  • Revenue trends

Week 3-4: Adjust

For each slot, evaluate:

Fill rateCPM trendAction
> 95%StableRaise floor 10-20%
80-95%StableFloor is optimal
< 80%AnyLower floor 10-20%
AnyDroppingInvestigate demand

Monthly: Review

  • Compare revenue to baseline
  • Check for seasonal patterns
  • Adjust for market conditions

Common floor mistakes

Setting floors too high

Symptom: Low fill rate (< 70%) Problem: Rejecting too many bids Solution: Lower floors until fill rate improves

Setting floors too low

Symptom: High fill rate (> 95%) with low CPM Problem: Not capturing full value Solution: Gradually raise floors

One floor for everything

Symptom: Some slots unfilled, others too cheap Problem: Inventory has different values Solution: Use position or device-based floors

Never adjusting

Symptom: Flat or declining revenue despite traffic growth Problem: Market changes, your floors don't Solution: Review floors monthly


Floors in Anima

Per-slot floors

The primary place to set floors is on the ad slot itself:

  1. Go to Inventory → Ad Slots
  2. Open the slot
  3. On the Auction tab, set the floor value
  4. Save

Slot floors are the most flexible — you can tune them per placement based on fill-rate and CPM data.

Global / wrapper-level floor settings

Wrapper-wide floor configuration (granularity, currency, price buckets that drive GAM key-value rounding) lives in Wrapper → Configs. Anima doesn't have a single "global floor" value that applies everywhere; the effective floor is what's on the slot.

Bulk floor updates

To change floors across many slots without opening each one individually:

  • Use the AI Assistant: "Set floor price to $1.00 for all sidebar slots"
  • Or edit slot-by-slot, then ship a single release once the set is done

Viewing floor performance

Go to Dashboard → Monetization and break down by ad slot to see fill rate, CPM, and revenue. Comparing before/after a floor change on the same slots is the cleanest read.


Common questions

What's a good starting floor?

For most publishers: $0.50 – $1.00 on standard placements, set on each ad slot's Auction tab. Premium above-fold slots can start higher ($1.50–$2.50); below-fold / lazy-loaded slots can start lower ($0.25–$0.50).

Anima doesn't have a single "global floor" value — configure floors per slot. This filters obvious low-quality demand while maintaining good fill rate. Adjust after 2 weeks of data.

Should I have a $0 floor?

Generally no. Even a $0.10 floor filters the lowest-quality demand. Zero floors invite bad ads.

Exception: If you're prioritizing fill rate for specific testing.

Do floors apply to all demand partners?

Yes, floors apply to all prebid partners. GAM may have separate floor configurations for AdX.

How do floors interact with experiments?

You can test floor changes using experiments:

  • Control: Current floor
  • Variation: New floor
  • Measure: Revenue impact

This is the safest way to change floors.