If your monetization “basics” are already in place (a properly configured mediation stack, clean placements, stable traffic), the next major growth lever is eCPM optimization. In practice, eCPM rarely “grows on its own”—it’s increased through disciplined work in three areas:

  1. Floor price (minimum price per impression/bid)
  2. GEO mix (traffic distribution across countries)
  3. Dayparting (time-based delivery and pricing)

1) Floor Price: How a Minimum Price Can Make You Richer (or Poorer)

What is a floor price?

Floor price is the minimum price below which you don’t want to sell an impression. The logic is simple: if a bidder/network offers too little, you either:

  • don’t show the ad (and wait for a better bid), or
  • show a “cheap” impression and lose potential revenue.

In practice, a floor is a demand quality filter. But if you push it too high, you’ll get more no-fill and lose total revenue.

The biggest mistake: One floor for everything

A single global floor almost never works because impression value varies a lot by:

  • format (rewarded / interstitial / banner),
  • placement (where it appears in your product),
  • GEO,
  • time of day / day of week,
  • traffic source (organic vs paid; sometimes even specific channels).

That’s why floors should be set by segment: at minimum format × GEO, and ideally format × GEO × placement.

How to find the right floor (a practical method)

Here’s a straightforward approach used by strong monetization teams:

Step 1. Establish a baseline
Look at your current segment metrics:

  • eCPM
  • fill rate (or show rate)
  • revenue per 1,000 impressions
  • no-fill / timeout (if available)

Step 2. Increase in small steps
Don’t jump from 0.5 to 5.0. Move gradually:

  • +10–20% every 3–7 days (depending on volume)
  • document the result each step

Step 3. Find the “plateau”
Your goal is the point where:

  • eCPM increases,
  • fill decreases slightly,
  • total revenue per 1,000 requests/impressions is maximized.

Sometimes it’s better to have slightly lower eCPM with higher fill—especially for banners. Rewarded can usually tolerate more aggressive floors because the impression value is higher.

Two common outcomes

Scenario A: eCPM ↑ and revenue ↑
Keep raising carefully until revenue stops improving.

Scenario B: eCPM ↑ but revenue ↓
You’re choking fill too hard. Roll back one step and/or split the segment further (e.g., separate OS, placements, or traffic sources).

Pro tip: “Soft” floors and price ladders

If your platform supports it, use:

  • different floors by country/cluster,
  • different floors by format,
  • different floors by placement,
  • price ladders (multiple floor tiers instead of a single number).

This reduces the risk of collapsing fill.


2) GEO Mix: Why “Higher eCPM” Can Still Mean “Worse Business”

What is GEO mix?

GEO mix is your traffic share by country/region. Tier-1 markets (US, CA, UK, AU, etc.) typically have higher eCPMs—but keep in mind:

  • user acquisition is more expensive,
  • competition is tougher,
  • creative/compliance requirements are stricter,
  • ad fatigue can reduce engagement and view rates.

So “more US traffic” doesn’t automatically mean “more profit.”

How GEO mix connects to eCPM optimization

There are two levels of control:

Level 1: Analytics
Break down monetization by GEO:

  • ARPDAU / ARPU (if you track it)
  • ad revenue per user
  • impressions per user
  • eCPM and fill by format

Level 2: Product & Marketing
Decide what to scale based on:

  • LTV vs CPI
  • retention impact
  • demand stability (seasonality, auction dynamics)

Optimization matters here: in weak-demand GEOs you need gentler floors and smarter dayparting, or you’ll lose too many impressions.

Practical GEO segmentation

Minimum grouping:

  • Tier-1
  • Tier-2
  • Tier-3 / Rest of World

Better: separate any countries that:

  • drive meaningful volume,
  • have distinct eCPM behavior (e.g., US, BR, IN often deserve their own groups).

GEO mix as a risk hedge

If you rely heavily on one GEO, you’re vulnerable to:

  • seasonality,
  • auction/demand shifts,
  • policy/SDK changes.

A balanced GEO mix reduces “sudden revenue cliffs.”


3) Dayparting: Revenue by the Clock

What is dayparting?

Dayparting is time-based monetization control:

  • hours of the day
  • days of the week
  • sometimes seasons/holidays

Demand isn’t flat. Some hours have higher competition and eCPM; others are quiet. If you monetize the same way 24/7, you leave money on the table.

Where dayparting works best

It’s most effective where you control exposure:

  • interstitial
  • rewarded
  • banners (with caution—e.g., refresh or event-based display)

How to do dayparting without overcomplicating

Step 1. Build a heatmap
Create “hour × eCPM” and “hour × fill” charts, segmented by:

  • GEO (at least Tier-1 vs Tier-3)
  • format

Step 2. Pick a rule
Three common rules:

  1. Floor-up during peak hours: when demand is high, raise floors to capture premium bids.
  2. Floor-down during off-hours: when demand is low, lower floors to protect fill.
  3. Inventory rebalancing: in weak hours, reduce interstitial frequency and rely more on rewarded (or the reverse, depending on your product).

Step 3. Monitor side effects
Watch not only eCPM but also:

  • no-fill / timeout rate
  • latency (time-to-ad)
  • session length
  • retention / churn
  • crash/ANR (SDK-related issues happen)

How These Three Levers Work Together

Think in this direction:

eCPM outcome = price × probability of sale (fill) × inventory quality

  • Floor price adjusts price vs fill.
  • GEO mix changes inventory quality and average price.
  • Dayparting moves your supply into time windows where “price × fill” is better.

Example logic:
In Tier-1 evenings, demand is strong → raise floors for rewarded/interstitial. In Tier-3 nights, demand is weak → lower floors to protect fill. If much of your traffic comes from weak-demand GEOs, flexible floors + dayparting usually outperform “just raising floors everywhere.”


Implementation Mini-Checklist

  1. Segment at least by format × GEO.
  2. Collect a 7–14 day baseline (eCPM, fill, revenue per 1,000 requests).
  3. Run floor tests in steps (+10–20%).
  4. Build hourly eCPM/fill charts and apply dayparting rules.
  5. Track product guardrails (retention, session length, crashes).
  6. Repeat—optimization is a cycle, not a one-time setting.

Experiment Template for eCPM Optimization (Copy/Paste)

Below is a practical template that turns “tweaking settings” into a repeatable process. You can run it in Google Sheets or Notion.

1) Experiment card (one row = one test)

  • Name: Floor Tier-1 Rewarded +15%
  • Goal: increase revenue per 1,000 ad requests without major fill loss
  • Segment: Rewarded × Tier-1 × placement: level_complete
  • Change: floor +15% (e.g., 4.00 → 4.60)
  • Test type: A/B 50/50 (if possible) or before/after
  • Duration: 3–7 days (or until N impressions per variant)
  • Success criteria:
    • Revenue / 1,000 requests: +3% or more
    • Fill rate drop: no more than -5%
    • No-fill/timeout does not spike sharply
  • Risk: medium
  • Rollback rule: revenue drops >2% for 2 days → revert

2) How long should a test run? (Simple rule)

  • Rewarded / Interstitial: at least 50–100k impressions per variant (or 3–7 days if volume is low)
  • Banners: at least 200k+ impressions per variant (banner metrics are noisier)

If volume is small, change settings less often and run tests longer—don’t conclude from a single day.

3) Hypothesis backlog table (recommended columns)

  • ID
  • Start date / end date
  • Priority (P0/P1/P2)
  • Segment (Format × GEO × Placement × OS)
  • What changes (floor/dayparting/frequency/price ladder)
  • Before value
  • After value
  • Expected impact
  • Success metrics
  • Guardrails (what must not degrade)
  • Result (Win/Lose/Neutral)
  • Notes / learnings
  • Next step

Best success metrics (normalize per 1,000 requests):

  • Revenue / 1,000 ad requests (very “honest” metric)
  • Impressions / 1,000 ad requests (fill/show proxy)
  • eCPM (diagnostic, not the final KPI)
  • Requests per user and Impressions per user (behavior/UX sanity checks)

Recommended guardrails:

  • D1/D7 retention (if available)
  • session length
  • crash/ANR rate
  • user complaints/uninstalls (if you track it)

4) Floor price testing template (step-by-step)

Example ladder:

  • Week 1: floor +10%
  • Week 2: floor +10% again
  • Week 3: hold and check stability
  • Week 4: refine (rollback or further segment)

Decision rule:

  • If Revenue / 1,000 requests increases → continue
  • If revenue decreases while eCPM increases → floor is too high (fill is being choked) → roll back one step
  • If nothing changes → floor may not be the main lever; move to GEO/dayparting

5) Dayparting template (simple rules that work)

Step A: build a heatmap
Create a table where rows are hours (0–23) and columns include eCPM and fill—separately for Tier-1 vs Tier-3 and for each format.

Step B: apply a rule

  • Peak-hour floor-up: peak hours floor +10–20%, rest unchanged
  • Off-hour floor-down: off hours floor -10–20%, peak unchanged
  • Format rebalancing: reduce interstitial frequency in weak hours; lean on rewarded (if engagement and demand allow)

Dayparting guardrails:

  • no-fill does not spike sharply
  • latency does not worsen noticeably
  • product metrics remain stable

6) Data-driven GEO clustering (not “Tier-1/2/3 by feel”)

Instead of rough tiers, build clusters from real performance.

Step 1. Use 30-day country-level data and calculate:

  • eCPM by format
  • fill rate
  • revenue per user (or revenue / 1,000 requests)
  • impressions per user

Step 2. Split countries into 4–6 groups, for example:

  • Cluster A (Premium): high eCPM + stable fill → aggressive floors + peak-hour dayparting
  • Cluster B (Solid): mid eCPM + good fill → careful step testing
  • Cluster C (Volume): low eCPM but big volume → optimize fill and frequency; floors carefully
  • Cluster D (Fragile): low eCPM + weak fill → minimal floors; focus on demand/network setup

Rule of thumb: if a country has low volume, don’t create unique settings—merge it into a cluster to avoid micro-management.

7) Rollback policy (so experiments stay safe)

Define rollback rules in advance and follow them strictly.

Rollback if:

  • Revenue / 1,000 requests drops >2–3% for 2 days
  • fill rate drops >5–10% (depends on format)
  • no-fill grows “multiplicatively”
  • guardrails degrade (retention/crashes/session length)

Final Takeaway

  • Floor price is your “price vs fill” dial. Segment it and move in small steps.
  • GEO mix is strategy: which traffic you monetize and scale. Don’t chase eCPM without unit economics.
  • Dayparting helps you capture expensive hours and protect revenue during quiet periods.