Revenue Optimization Playbook
Tactical moves to increase your ad revenue — organized by the lever you're pulling. Every section is a specific action you can take this week.
The Revenue Equation
All ad revenue comes down to one formula:
You have two levers:
- Increase eCPM — earn more per impression
- Increase impressions — show more ads without losing users
Everything in this playbook maps to one of these two levers. The third variable — not losing users while pulling them — is the constraint.
Lever 1: Increase eCPM
eCPM is what advertisers pay for your inventory. Higher eCPM means more revenue from the same number of impressions. Here's how to push it up.
1.1 Add More Demand Sources
The single highest-impact change for most publishers. Every additional demand source bidding on your inventory pushes prices up through competition.
Action:
- Count how many demand sources are actively bidding on your inventory
- If fewer than 5, add more. Start with the strongest networks for your primary geos
- Prioritize networks that support in-app bidding over waterfall-only networks
1.2 Enable In-App Bidding
If you're running a pure waterfall, switching to in-app bidding (or hybrid) lets all networks compete simultaneously. The highest bidder wins every time instead of the first network in line. See the Mediation Strategy Guide for a deep dive on waterfall vs bidding.
Action:
- Check which of your current ad networks support in-app bidding
- Move all bidding-capable networks from waterfall to the bidding auction
- Keep waterfall-only networks in a waterfall tier below the bidding auction
1.3 Optimize Floor Prices
Floor prices set the minimum acceptable eCPM. Too high kills fill. Too low sells premium inventory cheap.
Action:
- If you have no floors: gather 2 weeks of eCPM data, then set floors at the 25th percentile by geo
- If you have floors: check fill rate per geo. If fill is below 90%, floors are too high. Lower by 10–20%.
- Segment floors by geo tier at minimum — US floors should be 5–10x higher than tier-3 markets
1.4 Use Higher-eCPM Formats
Rewarded ads earn 3–10x what banners earn. If you're only running banners, adding rewarded or interstitial placements is a step-change. See the Ad Format Selection Guide for detailed format comparisons.
Action:
- If banner-only: add rewarded ads at a natural opt-in point (store, game over, daily bonus)
- If interstitial-only: add rewarded ads for a complementary revenue stream
- If no app open ads: add one for return visits (frequency-capped)
1.5 Improve Ad Viewability
Ads that load off-screen, get scrolled past instantly, or are too small to notice generate lower eCPMs. Advertisers pay less for impressions that aren't seen. See the glossary entry on viewability for the industry standard definition.
Action:
- Move banner placements to visible, above-the-fold positions
- Use adaptive banner sizes that fill the available width
- Ensure interstitials and rewarded ads load fully before displaying (pre-load)
- Remove placements where the ad is consistently off-screen
1.6 Target High-Value Segments
Not all users are equal. A US user on a new iPhone generates 10–20x the eCPM of a user in a tier-4 market on an old device.
Action:
- Analyze eCPM by geo, device tier, and OS version
- Consider showing higher-eCPM formats (rewarded, interstitial) more prominently to high-value users
- Consider reducing ad frequency for users in very low eCPM segments (the revenue doesn't justify the UX cost)
Lever 2: Increase Impressions
More impressions means more revenue — but only if you're not driving users away. The goal is to create more ad opportunities without degrading the experience.
2.1 Increase Session Length
Every additional minute of session time is additional ad inventory. The best way to increase impressions isn't showing more ads — it's making users want to stay longer.
Action:
- Analyze where users drop off in your session flow
- Add more content, levels, or features that extend engagement
- Use rewarded ads as a retention mechanic (extra lives, continues) that keep users in the session
- Optimize load times — slow screens kill sessions
2.2 Increase Session Frequency
Users who open your app 3x per day generate 3x the ad opportunities of users who open once. Session frequency is a multiplier on everything else.
Action:
- Implement push notifications for re-engagement (daily rewards, new content, events)
- Add daily login rewards that incentivize return visits
- Create time-gated content or energy systems that bring users back
- Use app open ads to monetize the return moment itself
2.3 Add Placements at Natural Break Points
Most apps have transition moments that aren't monetized. Audit your app flow for missed opportunities.
Action:
- Map every screen transition and user flow in your app
- Identify transitions where an ad wouldn't disrupt the experience
- Test one new placement at a time — add it, measure retention and ARPDAU for 1–2 weeks
- Common missed opportunities: between content sections, after saving/completing an action, on settings or profile screens (banners)
2.4 Optimize Fill Rate
If your fill rate is 85%, you're losing 15% of potential impressions. Those are real ad requests that return nothing.
Action:
- Check fill rate by geo, format, and network
- Add demand sources in geos where fill is low
- Lower or remove floor prices in segments with low fill
- Ensure ad requests have enough timeout for networks to respond
- Add fallback placements — if a rewarded ad doesn't fill, show an interstitial instead
2.5 Optimize Show Rate
Show rate measures how many loaded ads actually get displayed. If you're pre-loading ads that expire before being shown, you're wasting demand.
Action:
- Track show rate per placement — loaded ads vs shown ads
- Reduce pre-load-to-show time by loading closer to the expected trigger
- Don't pre-load too far in advance — bid tokens expire (typically 30–60 minutes)
- Balance pre-loading (ready when needed) with freshness (bids haven't expired)
2.6 Rewarded Ad Opt-In Optimization
For rewarded ads, the opt-in rate determines your impression volume. If only 10% of users tap "Watch ad," you're leaving 90% of potential rewarded impressions on the table.
Action:
- Make the reward more visible — show the exact reward amount prominently
- Place the opt-in button where users naturally want more (game over, store, bonus section)
- Test different reward values — find the sweet spot between too low (no one watches) and too high (devalues economy)
- A/B test button copy: "Watch ad for 50 coins" outperforms "Watch ad" or "Free coins"
- Show the button when the user has a reason to want the reward (out of lives, can't afford an item)
The Constraint: Protect Retention
Every optimization above increases revenue. But push too hard and users leave, destroying long-term revenue. Here's how to know when you've gone too far.
Warning Signs
| Signal | What It Means | Action |
|---|---|---|
| D1 retention drops > 2% after a change | New placement or frequency is too aggressive | Roll back or reduce frequency |
| Session length drops > 10% | Ads are interrupting flow | Review placement timing |
| App store rating drops | Users are complaining about ads | Reduce frequency, especially for new users |
| Rewarded opt-in rate drops below 15% | Reward isn't compelling or users are fatigued | Increase reward value or reduce prompts |
| Uninstall rate spikes | Critical threshold crossed | Immediate rollback |
The Golden Rule
Never optimize for today's ARPDAU at the cost of tomorrow's DAU. A user who stays for 30 days at $0.05 ARPDAU is worth more than a user who generates $0.20 ARPDAU for 3 days and uninstalls.
Safe Testing Protocol
- Change one variable at a time
- A/B test with 10–20% of users first
- Run for at least 1 week before deciding
- Track ARPDAU and retention simultaneously
- Only roll out to 100% when both metrics are stable or improved
Optimization by App Stage
Just Launched (< 10K DAU)
Priority: Get the basics right.
- Integrate 3 demand sources through a mediation platform
- Add rewarded + interstitial placements at natural break points
- Set no floor prices — gather data first
- Focus on retention over revenue — a growing user base is worth more than optimizing eCPM for 5,000 users
Growing (10K – 100K DAU)
Priority: Maximize revenue per user.
- Add 2–3 more demand sources
- Enable in-app bidding for all supported networks
- Implement floor prices based on 2+ weeks of data
- A/B test ad frequency and placements
- Add app open ads and native ads if your app supports them
- Segment configuration by geo tier
Scaled (100K+ DAU)
Priority: Squeeze every percentage point.
- Run 7+ demand sources in bidding
- Implement per-geo floor price optimization
- A/B test everything: formats, frequency, reward values, placement positions
- Analyze by device tier and OS version
- Consider format-level A/B tests (interstitial vs rewarded interstitial at the same trigger point)
- Invest in on-device optimization to automate per-user ad timing and format selection
Seasonal Playbook
Ad eCPMs follow predictable annual cycles driven by advertiser spending patterns.
Q4 (October – December)
eCPMs peak. Holiday advertiser spending drives prices to the highest levels of the year, especially in November (Black Friday) and December.
What to do:
- Don't make major config changes — let the revenue flow
- Ensure fill rate is maximized — every impression is worth more now
- If you've been testing new placements, now is the time to roll out winners
- This is NOT the time to reduce ad frequency
Q1 (January – March)
eCPMs drop. Advertisers pull back after holiday spending. January is typically the lowest eCPM month of the year.
What to do:
- Don't panic — this is normal
- Lower floor prices to maintain fill rate
- Focus on growing DAU and session engagement (the denominator matters more when the numerator dips)
- Good time to run A/B tests since there's less revenue at risk
Q2 (April – June)
eCPMs recover. Steady growth as advertisers ramp spending for summer.
What to do:
- Gradually restore Q4 floor prices
- Test new demand sources and configurations
- Prepare new placements for Q3/Q4
Q3 (July – September)
eCPMs moderate. Stable but not peak. Late Q3 starts building toward Q4.
What to do:
- Finalize your configuration for Q4 — you want a stable, optimized setup before the money starts flowing
- Add any new networks now so they have time to ramp before Q4
- Lock in your placement strategy
Quick Wins Checklist
Actions sorted by effort and impact. Start at the top.
This Week (Low Effort, High Impact)
- Check demand source count — if fewer than 5, add more
- Enable in-app bidding for any networks still in waterfall-only mode
- Pre-load all ad formats at app launch or immediately after showing
- Check fill rate by geo — if below 90% anywhere, lower floors or add demand
- Verify all ad placements are actually firing (no silent failures)
This Month (Medium Effort, High Impact)
- Add rewarded ads if you don't have them (highest eCPM format)
- Implement geo-segmented floor prices
- Add app open ads for return visits
- A/B test interstitial frequency (every 2nd level vs every 3rd)
- A/B test rewarded ad reward value
- Review show rate — ensure pre-loaded ads aren't expiring before display
This Quarter (Higher Effort, Compounding Impact)
- Audit full user flow for missed placement opportunities
- Implement per-geo network configuration
- Add native ads if your app has a feed/list UI
- Test rewarded interstitials as an upgrade from standard interstitials
- Build retention monitoring alongside ARPDAU tracking
- Evaluate mediation platform neutrality — is your mediator favoring its own demand?
Further Reading
- Mobile Ad Monetization Guide — the complete strategy overview
- Ad Format Selection Guide — which ad format to use where
- Mediation Strategy Guide — waterfall vs bidding deep-dive
- Ad Monetization Glossary — every term defined
- Android Integration Guide — step-by-step implementation
Ready to put this playbook into action?
Integrate AppSpike in under an hour and start optimizing your ad revenue with real data.
Get Early AccessThis playbook is maintained by the AppSpike team. Have questions? Get in touch.