Last year I pulled the format-level data on a mid-size puzzle game app — 240,000 daily active users — and found something the team hadn't caught: their blended eCPM had climbed from $8.40 to $11.20 over six months, but day-7 retention had dropped from 22% to 16%. The interstitial waterfall was doing exactly what it was tuned to do. Nobody had told it that a dead app three weeks later is worth zero eCPM. That's the trap almost every app publisher falls into once they start optimizing format mix without a retention floor attached to it.
Banner, Interstitial, Rewarded, And Offerwall: Matching Format To App Category
Every format has a ceiling and a floor, and where your app sits between them depends more on category than on network choice. In hyper-casual and mid-core games, rewarded video routinely posts eCPMs of $18-35 in Tier 1 geos because the user is trading fifteen seconds of attention for something they actually want — extra lives, in-game currency, a continue. Interstitials in the same game typically land at $10-18, still strong, because they hit during natural pauses between levels. Banners in a game are almost an afterthought; I've seen them average $0.80-1.50 RPM and mostly serve as background revenue while the player is mid-session.
Utility apps — flashlight, calculator, weather, file managers — behave completely differently. Sessions run 20-40 seconds, there's no natural reward loop, and users open the app to complete one task and leave. Rewarded video barely gets served because there's nothing to reward the user with. Native ads blended into a results screen or a banner anchored to the bottom of the main screen do the heavy lifting here, typically $1-3 RPM, and a single interstitial shown after the task completes (not before) can add another 20-40% without spiking uninstalls. If you're setting up monetization on a utility app for the first time, get the ad stack configured properly from day one rather than bolting formats on reactively.
Content and news apps sit in between. Native ad units inside a feed or article list consistently outperform standalone banners because they inherit the surrounding content's engagement — expect $2-5 RPM in Tier 1 markets versus $1-2 for a static banner in the same slot. Interstitials work at chapter or article-set transitions but should never interrupt mid-read. Offerwalls, meanwhile, are almost exclusively a games mechanic — they depend on a virtual currency or unlockable the user wants, which utility and content apps rarely have. Forcing an offerwall into a weather app is a wasted engineering effort; I've watched teams build the integration and get single-digit-dollar monthly revenue from it.
- Hyper-casual and mid-core games: rewarded video first, interstitial at level breaks, banner as filler only
- Utility apps: native or bottom banner as the base layer, one interstitial post-task max
- Content and news apps: in-feed native, banner in fixed slots, interstitial only between content sets
- Offerwalls: reserve for games with virtual currency; skip entirely on utility and most content apps
- Never let format choice outrun your app's actual session length and task structure
In-App Bidding vs Waterfall Mediation: What's Actually Happening Under The Hood
A waterfall works exactly like it sounds: your mediation SDK calls network A first, and if A doesn't return a fill above its configured price floor, it calls network B, then C, then D, in a fixed priority order you set manually based on historical average eCPM. The problem is that historical average is a lagging number. Network A might have paid $12 average last month but have nothing to bid on this particular impression, while network D — sitting at priority four — would have paid $19 for this exact user right now. The waterfall never finds out, because it stopped calling once A cleared its floor.
In-app bidding flips the order. Every connected network receives the impression opportunity simultaneously and returns a real price in the same auction, the way header bidding works on the web. The highest bid wins, full stop, regardless of which network it came from or how you ranked it last quarter. This is the same shift the industry made on desktop years ago, and the mechanics translate almost exactly — I've written about the underlying difference between bidding and waterfall setups in more depth if you want the full technical breakdown, including how server-side vs client-side bidding changes latency.
In practice almost nobody runs pure bidding or pure waterfall anymore — the standard setup is hybrid: a handful of bidding partners competing in real time, backstopped by a waterfall of networks that don't support bidding yet, all unified into a single auction call. Accounts that make this switch typically see blended eCPM lift of 15-30% in the first 60 days, mostly because low-priority networks in the old waterfall were sitting on demand that never got a fair shot. The latency cost is real but small — a well-configured bidding auction adds roughly 150-300ms versus a single waterfall call, which is not something users notice.
Why LTV Beats Day-1 eCPM As The Metric That Actually Predicts Revenue
Day-1 eCPM is the number every dashboard puts front and center, and it's the number that gets people fired for the wrong reasons. It tells you what a fresh, still-engaged user is worth on their first day — before you know if they'll open the app again. LTV, calculated as average revenue per user integrated across their entire retained lifespan (ARPDAU multiplied by average retained days, roughly), tells you what that user is actually worth to the business. I've reviewed two apps in the same category where App A posted a $14 day-1 eCPM and a $0.85 90-day LTV, and App B posted a $9 day-1 eCPM with a $1.40 90-day LTV. App B was the better business by a wide margin.
Part of what makes day-1 eCPM misleading is that it's also easy to inflate with impressions that technically counted but were never actually seen — an interstitial that fires during a scene transition and gets skipped in half a second, or a banner sitting behind a modal. The same viewability standards that apply to display advertising on the web apply here; if you haven't looked at how viewability is measured and why it matters for reported revenue, it's worth understanding before you trust a network's self-reported eCPM at face value, because a non-viewable impression that still logs a fill will flatter your day-1 number without producing any real advertiser value long-term.
The fix isn't complicated, just underused: track a rolling 30/60/90-day LTV cohort alongside day-1 eCPM, segmented by acquisition source. A user acquired through paid UA at $2.10 CPI needs to clear that number in LTV within a reasonable payback window, and if your interstitial-heavy format mix is generating great day-1 numbers but a payback period north of 120 days, you're funding growth with a format decision that's quietly bleeding you. Most mediation dashboards now expose cohort LTV natively — if yours doesn't, build it from your analytics SDK's retention export and your ad network's per-user revenue export, joined on install ID.
Frequency Capping That Protects Retention Without Leaving Revenue On The Table
Most publishers cap interstitials per day — three per day, five per day — and call it done. That's the wrong unit. A user who opens your app twice a day for three minutes each time has a completely different tolerance than one who opens it once for forty minutes. Cap by session instead: no more than one interstitial per three minutes of active session time, with a hard minimum cool-down of 60-90 seconds between any two fullscreen ads regardless of session length. This alone tends to cut interstitial-driven session abandonment by a noticeable margin without meaningfully reducing impression volume, because most of the abandonment was happening on ads shown too close together, not on total daily count.
New users need a lighter touch than your retained base, and almost nobody segments for this. In the first three sessions, I recommend suppressing interstitials entirely unless the user has completed a clear, meaningful action — finished a level, saved a document, completed onboarding. Rewarded video is safe to offer immediately since it's opt-in by design. Once a user crosses into session four or five and your retention data shows they're likely to stick around, you can step frequency up to your standard cap. This staged approach costs you a small amount of day-1 revenue and typically pays it back within a week through meaningfully better day-7 and day-14 retention.
- Cap by session time, not just daily count: one interstitial per ~3 minutes of active use
- Enforce a 60-90 second minimum cool-down between any two fullscreen ads
- Suppress interstitials for the first 2-3 sessions unless tied to a completed action
- Let rewarded video run from session one since it's user-initiated
- Raise caps gradually for users who clear your typical churn window, not uniformly for everyone
How App Tracking Transparency Reshaped iOS eCPM (And What To Do About It)
When Apple rolled out App Tracking Transparency, most publishers watched their iOS blended eCPM drop somewhere between 20% and 35% within the first two quarters. The mechanism is straightforward: opt-in rates for tracking typically land between 15% and 30% depending on category (games skew higher, finance and health apps skew lower), and the roughly 70-85% of users who decline can no longer be targeted with behavioral or cross-app data. Networks that relied heavily on that targeting lost pricing power on non-tracked inventory almost overnight, because a non-tracked impression looks the same to an advertiser as anonymous, low-intent traffic.
The recovery since then has come from two directions. SKAdNetwork's later versions added coarse conversion values and richer postback windows, which gave performance advertisers enough signal to keep bidding at something closer to pre-ATT levels on non-tracked traffic. And contextual targeting — bidding based on the app's category, content, and session context rather than the user's identity — has matured enough to backfill a meaningful chunk of the gap. Blended iOS eCPM on well-optimized accounts I work with today typically sits 8-15% below pre-ATT levels rather than the 20-35% initial hit, which tells you the market adjusted faster than most publishers expected.
On the publisher side, the highest-leverage move is prompt timing and framing, not fighting the permission itself. A pre-permission soft prompt — a plain-language screen explaining what tracking enables before the system dialog appears — routinely lifts opt-in rates by 5-10 percentage points over showing the system prompt cold on app launch. Timing matters too: asking after the user has completed a positive first action (finished a level, saved their first item) outperforms asking during onboarding before they've gotten any value. Neither trick will get you back to 2020-era targeting, but stacked together they meaningfully narrow the gap.
Policy Landmines In Google Play And App Store Ad Rules That Get Accounts Suspended
Both platforms have tightened ad policy enforcement substantially, and the violations that get accounts suspended are rarely exotic — they're the basic mistakes made at scale. Google Play explicitly prohibits showing an interstitial before the user has seen any of your app's actual content, which rules out the old trick of firing an ad on cold launch before the home screen renders. Apple's App Store review guidelines require that ads never obscure system UI elements like the status bar or the back gesture area, and an ad that traps a user without an obvious close button is one of the fastest ways to get a rejection or a post-launch takedown.
Rewarded ads carry their own landmine: if you promise a reward for watching, you have to deliver it every time the video completes, even if the network's own callback is delayed or fails — users report this as broken functionality, and it's treated as a policy violation, not a bug. Offerwalls and any monetization involving virtual currency incentives need clear in-app disclosure of what data is shared with the offerwall partner. And if any part of your audience is a children's app under Google's Families policy or subject to COPPA, most rewarded and offerwall formats plus any tracking-based ad serving are off the table entirely — contextual-only serving is the safe path.
Before you add a new ad format or a new network to an existing app, it's worth confirming your account and app are actually eligible for what you're about to enable rather than finding out after a suspension notice. Running your setup through an eligibility check before scaling a new format catches a surprising number of these issues — mismatched app content ratings, missing privacy disclosures, ad density above policy thresholds — while they're still cheap to fix. A one-day delay before launch is nothing compared to a two-week account review after a suspension, which is what most publishers are actually risking when they skip this step.
- Never fire an interstitial before the user has seen real app content
- Keep ads clear of the status bar, back gesture area, and any system UI
- Always deliver the promised reward when a rewarded video completes, no exceptions
- Disclose data sharing clearly for offerwalls and incentivized formats
- Treat children's apps as contextual-ad-only; most tracking-based formats aren't compliant
Structuring A/B Tests On Ad Placement Without Wrecking Your User Base
Testing a new interstitial placement or a more aggressive frequency cap directly against 100% of your user base is how you find out something was a bad idea after it's already cost you a week of retention. Stage it instead: 5% of new installs for the first few days, expand to 20% once the guardrail metrics hold, then to 50% for a real statistical read, and only then decide on full rollout. This costs you a bit of speed but protects you from a placement change tanking week-over-week revenue across your whole install base while you're still trying to figure out why.
eCPM is not the metric that tells you whether a test worked — it's the metric that tells you whether the test made money today. Run every ad placement test for a minimum of 14-21 days and track day-1, day-7, and day-30 retention, average session length, and uninstall rate as guardrails alongside revenue. A variant that lifts eCPM 12% but drops day-7 retention by two points is not a win; the retention hit compounds every future session that user would have generated ad revenue in. If a guardrail metric moves more than roughly 3-5% in the wrong direction, kill the test regardless of how the revenue number looks that week.
Mobile testing has a sample-size trap that web testing mostly doesn't: daily active users fluctuate heavily with your own UA spend, seasonality, and app store featuring, so a test that looks conclusive after four days might just be catching a UA campaign that shifted your audience mix. Run tests only during periods of stable install volume, and if you're mid-campaign on a new UA channel, wait until that cohort stabilizes before reading results. For most apps with under 50,000 daily active users, you need at least 1,000-2,000 users per variant sustained over the full test window before the eCPM difference is anything more than noise.
Seasonal And Geographic eCPM Swings Worth Planning Your Roadmap Around
eCPM in mobile is not flat across the year, and treating a March number as your baseline for the rest of the year will make every October and November look like a false win. Q4 eCPM typically runs 40-60% above the year's baseline in Tier 1 markets as retail and holiday advertisers flood demand, peaking hard in the two weeks around Black Friday and Cyber Monday. January and February are usually the softest months, with blended eCPM dropping 15-25% below baseline as that same advertiser demand pulls back. Education apps see their own bump around back-to-school in August and September that has nothing to do with the broader holiday cycle.
Geography matters more than almost any single optimization you can make to format or mediation. US, UK, Canada, and Australia traffic (Tier 1) typically commands $8-20 eCPM depending on format and category, Western Europe runs $3-8, and most of LATAM and Southeast Asia sits at $0.50-2 for the same exact ad unit and format. This isn't a reflection of your app's quality — it's the underlying advertiser demand in each market. If your user acquisition strategy is geo-agnostic, you may be spending the same CPI to acquire a $15 eCPM user and a $1 eCPM user, which changes your payback math enormously by market.
- Budget for a 15-25% eCPM dip in January-February versus your Q4 baseline
- Expect 40-60% eCPM lift in Tier 1 markets around Black Friday through year-end
- Segment UA spend by geography once you know the eCPM tier you're acquiring into
- Education and productivity apps should plan content and feature launches around August-September demand
Stop treating format mix as an eCPM optimization problem and start treating it as a retention-and-LTV problem with an eCPM constraint. Pull your day-7 and day-30 retention numbers next to your blended eCPM this week, segment by format and by iOS versus Android, and fix whatever format is quietly financing a two-week payback window at the cost of your best users.
Frequently Asked Questions
Written by Ismael Inacio
Founder, Ismael Ads
15+ years helping publishers across LATAM, North America and Europe grow ad revenue through Google AdSense, Ad Manager, AdX and header bidding. Every article here comes from work inside real publisher accounts, not secondhand research.