The Definitive Guide to Mobile Ad Monetization
Everything you need to know about earning revenue from ads in your mobile app — from choosing your first ad format to running a multi-network mediation stack at scale.
Who This Guide Is For
- Indie developers launching a free-to-play game or utility app and choosing a monetization strategy for the first time
- Studio leads looking to increase ad revenue on existing titles without hurting retention
- Publishers evaluating mediation platforms, ad networks, and optimization strategies
Whether you have 1,000 DAU or 1 million, this guide covers the principles and tactics that drive ad revenue.
How Mobile Ad Revenue Works
Mobile ad revenue comes from advertisers paying to show their ads to your users. The basic chain:
You earn a share of what the advertiser pays. The amount depends on:
- Who your users are — users in the US, UK, and Western Europe generate higher eCPMs than users in Southeast Asia or Africa
- What format you show — rewarded video ads pay more than banners
- How engaged the user is — a user deep in a session is worth more than one who just opened the app
- How many networks are competing — more demand sources bidding on your inventory drives prices up
- When and where you show the ad — timing and placement affect both revenue and user experience
The entire mobile ad economy runs on a metric called eCPM (effective cost per mille) — the revenue you earn per 1,000 impressions. Everything in this guide ultimately comes back to increasing your eCPM while maintaining fill rate and protecting user experience.
Ad Formats Explained
Banner Ads
Small rectangular ads displayed at the top or bottom of the screen. They persist during app usage.
Best for: Utility apps, news readers, and apps with long session times where a persistent ad doesn't disrupt the experience.
| Pros | Cons |
|---|---|
| Always visible = high impression volume | Lowest eCPM of any format |
| Non-intrusive | Easy to ignore (banner blindness) |
| Simple to implement | Takes up screen real estate permanently |
Interstitial Ads
Full-screen ads shown at natural transition points — between levels, after completing an action, or when switching screens.
Best for: Games (between levels), content apps (between articles), and any app with clear transition points.
| Pros | Cons |
|---|---|
| High eCPMs | Disruptive if poorly timed |
| High viewability | Can hurt retention if overused |
| Supports both static and video | Users may close before viewing |
Critical rule: Never show interstitials mid-action. Wait for a natural break point.
Rewarded Ads (Rewarded Video)
Full-screen video ads that users choose to watch in exchange for an in-app reward — extra lives, virtual currency, premium content, or gameplay advantages.
Best for: Games and any app with a virtual economy or optional perks.
| Pros | Cons |
|---|---|
| Highest eCPMs (user chose to watch) | Requires a reward economy |
| Positive user sentiment (opt-in) | Users may watch only for rewards, not engage with advertiser |
| High completion rates | Need to balance reward value carefully |
Best practice: Use rewards for optional bonuses (extra lives, cosmetics, currency). Never gate core functionality behind a rewarded ad — app stores may reject this.
Native Ads
Ads that match the visual design and layout of surrounding app content. They look like part of your app rather than an ad.
Best for: Content feeds, social apps, and any UI with a scrollable list.
| Pros | Cons |
|---|---|
| High engagement (blends in) | Complex to implement |
| Doesn't feel like advertising | Requires custom layout per placement |
| Good eCPMs | Needs careful design to avoid deceiving users |
App Open Ads
Full-screen ads displayed when the user opens or returns to your app. They appear between the splash screen and your main content.
Best for: Apps with frequent open/close cycles (utilities, tools, casual games).
| Pros | Cons |
|---|---|
| Captures high-intent moment | Can feel intrusive on every app open |
| Doesn't interrupt in-app flow | Users haven't engaged yet — may bounce |
| Good eCPMs | Should be frequency-capped |
Rewarded Interstitial Ads
A hybrid: full-screen ads shown at transition points (like interstitials) but with an opt-in reward attached. The user doesn't choose to watch — the ad appears naturally — but they earn a bonus for viewing it.
Best for: Games that want interstitial-level frequency with rewarded-level eCPMs.
| Pros | Cons |
|---|---|
| Higher eCPMs than standard interstitials | Newer format — less demand in some geos |
| Reward creates positive sentiment | Reward needs to feel meaningful |
| Can appear at natural breaks | May confuse users if reward structure is unclear |
Which Format Should You Start With?
If you're just starting out:
- Rewarded ads — highest eCPM, best user sentiment, easiest to justify
- Interstitials — high revenue, show between levels or screens
- Banners — add once you have the other two, fills the gaps
Most successful apps use 2–3 formats together. The format mix depends on your app type, session length, and user expectations.
Key Metrics You Need to Track
Revenue Metrics
| Metric | What It Measures | Why It Matters |
|---|---|---|
| eCPM | Revenue per 1,000 impressions | Tells you how much each impression is worth |
| ARPDAU | Revenue per daily active user | Your north star for daily monetization performance |
| ARPU | Revenue per user over a period | Combines ad + IAP revenue for total picture |
| Revenue per session | Revenue generated per app session | Helps optimize session-level ad strategy |
Performance Metrics
| Metric | What It Measures | Why It Matters |
|---|---|---|
| Fill rate | % of ad requests that return an ad | Low fill = missed revenue opportunities |
| Show rate | % of loaded ads actually shown | Low show rate = wasted bandwidth and expired bids |
| Impression count | Total ads shown | Volume indicator — multiply by eCPM for revenue |
| CTR | % of impressions that get clicked | Indicates creative quality and placement relevance |
User Experience Metrics
| Metric | What It Measures | Why It Matters |
|---|---|---|
| Retention (D1, D7, D30) | % of users who come back | If ads hurt retention, you lose long-term revenue |
| Session length | Time spent per visit | Longer sessions = more ad opportunities |
| Session count | Visits per day | More sessions = more impressions |
| Opt-in rate (rewarded) | % of users who choose to watch | Low opt-in means your reward isn't compelling enough |
The relationship that matters most: ARPDAU = eCPM × impressions per user / 1,000. You can increase ARPDAU by raising eCPM (better networks, more competition) or by increasing impressions per user (more placements, longer sessions) — but the second lever has a limit before it hurts retention.
Choosing Your Ad Networks
The Major Players
| Network | Strengths | Best For |
|---|---|---|
| Google AdMob | Massive reach, Google ecosystem | Broad audience, all app types |
| AppLovin | Strong in gaming, high eCPMs | Games, especially casual/hyper-casual |
| Meta Audience Network | Precise targeting, high CPMs in tier-1 | Apps with social/demographic appeal |
| Unity Ads | Native Unity integration, gaming focus | Unity-built games |
| Mintegral | Strong in APAC, playable ads | Games targeting Asian markets |
| Liftoff Monetize | Video-focused, high-quality creatives | Games, performance-focused campaigns |
| InMobi | Emerging market strength | Apps with India/SEA audience |
| Chartboost | Gaming direct deals | Gaming vertical |
| DT Exchange | Programmatic, header bidding | Programmatic-first publishers |
| Amazon APS | Amazon demand, e-commerce CPMs | Apps with shopping-adjacent audience |
How Many Networks Should You Use?
- 1 network: Leaving money on the table. No competition = lower eCPMs.
- 2–3 networks: Good starting point. Meaningful competition for your inventory.
- 5+ networks: Optimal for most apps. More bidders = higher eCPMs.
- 10+ networks: Diminishing returns unless you have significant global traffic across many geos.
The key isn't the number — it's the competition. Every additional network that bids on your inventory pushes prices up. A mediation layer makes managing multiple networks practical.
Mediation: Why One Network Isn't Enough
If you're using a single ad network, you're accepting whatever price that network offers for every impression. There's no competition, no alternative, and no way to know if you're getting the best price.
Mediation solves this by managing multiple ad networks through a single integration point. Instead of you building and maintaining separate SDK integrations for each network, a mediation layer handles:
- Network selection — which network serves each impression
- Auction management — running waterfall or bidding auctions
- Adapter maintenance — keeping network SDKs compatible and updated
- Unified reporting — cross-network revenue data in one dashboard
Mediation vs No Mediation
| Single Network | Mediation | |
|---|---|---|
| eCPM | Whatever they offer | Highest bidder wins |
| Fill rate | One network's fill | Multiple fallbacks |
| Maintenance | One SDK | One SDK + adapters |
| Revenue lift | Baseline | Up to 300% |
What to Look for in a Mediation Platform
- Network neutrality — Does the platform operate its own ad network? If so, it has a conflict of interest. Platforms that are fully neutral make routing decisions purely in your interest.
- Demand source count — How many networks can compete for your inventory?
- Bidding support — Does it support in-app bidding, or just waterfall?
- On-device optimization — Does it go beyond mediation to optimize ad timing, format, and frequency?
- Analytics — Does it provide unified cross-network reporting with LTV and IAP data?
- Setup complexity — How long does integration take? How much ongoing maintenance is required?
Waterfall vs In-App Bidding
These are the two primary methods a mediation layer uses to select which network serves an impression.
Waterfall
A sequential approach: networks are ordered by expected eCPM (based on historical data), and the system calls them one at a time from top to bottom.
Problems:
- Static ordering can't keep up with real-time market changes
- Networks lower in the waterfall never get to compete even if they'd bid higher
- Requires manual tuning of floor prices and ordering
- Latency compounds with each sequential call
In-App Bidding (Header Bidding)
All networks bid simultaneously in a real-time auction. The highest bidder wins.
Advantages:
- True price discovery — the highest bidder always wins
- No manual waterfall tuning
- Lower latency (parallel calls)
- Fair competition across all demand sources
The Reality: Hybrid
Most modern mediation platforms use a hybrid approach — in-app bidding for networks that support it, with a waterfall for those that don't. The trend is clearly toward full bidding as more networks add support.
On-Device Optimization
Mediation decides which network serves each impression. On-device optimization goes a layer deeper — it decides when to show an ad, which format to show, and how often.
Traditional mediation treats every user and session the same. On-device optimization adapts to real signals:
What On-Device Optimization Controls
| Decision | Without Optimization | With Optimization |
|---|---|---|
| When to show an ad | Fixed trigger points | Optimal timing based on session depth and engagement |
| Which format to show | Publisher-configured per placement | Best-performing format for this user and context |
| How often to show ads | Fixed frequency cap | Adaptive frequency based on user tolerance |
| When to pre-load | On ad request | Predictive, based on session patterns and connection quality |
Why It Matters
Two users can have completely different optimal ad experiences:
- User A plays 3-minute sessions, casual engagement → fewer ads, lower frequency, maximize the ones you show
- User B plays 30-minute sessions, deep engagement → more ad opportunities, higher total revenue per session
Without on-device optimization, both users get the same ad configuration. With it, each user's experience is tuned to maximize revenue without pushing them away.
Ad Placement Strategy
Where and when you show ads matters as much as which networks you use.
Placement Principles
- Show ads at natural break points. Between levels, after completing a task, when transitioning between screens. Never interrupt the user mid-action.
- Match format to context. Banners for persistent background revenue. Interstitials between levels. Rewarded ads in stores or before bonus content.
- Respect the first session. New users haven't committed to your app yet. Consider delaying ads until the second session or after the user has engaged meaningfully.
- Don't stack placements. Showing an interstitial immediately followed by a banner and then a rewarded prompt feels aggressive. Space your placements.
- Pre-load ahead of time. Load ads before you need them so there's no delay when the placement triggers. The user should never see a loading spinner where an ad should be.
Placement Map Example (Casual Game)
| Screen / Moment | Format | Frequency | Notes |
|---|---|---|---|
| App launch (return visits) | App open | Every 3rd return | Skip on first-ever launch |
| Main menu | Banner (bottom) | Always on | Low disruption baseline revenue |
| Level complete | Interstitial | Every 3rd level | Never on first level |
| Store / "Get coins" | Rewarded | On demand | User initiates |
| Game over / retry | Rewarded interstitial | Every 2nd game over | Reward: extra life |
| Between content sections | Native | In feed | Matches content layout |
Balancing Revenue and User Experience
The fundamental tension in ad monetization: more ads = more revenue in the short term, but too many ads = users leave, and you lose revenue long-term.
The Warning Signs
- D1 retention drops after adding a new ad placement → you went too far
- Session length decreases → ads are interrupting flow
- App store reviews mention ads → perception problem even if metrics are fine
- Opt-in rate for rewarded drops below 20% → reward isn't worth the interruption
Rules of Thumb
- Interstitials: No more than 1 per 2–3 minutes of active use. Never back-to-back.
- Rewarded ads: Unlimited availability (user-initiated), but don't nag. Show the option, don't force it.
- Banners: One at a time. Don't stack. Consider hiding during critical interactions.
- App open: Frequency-cap to every 3rd or 4th foreground. Never on first launch.
- Monitor retention alongside revenue. If ARPDAU goes up but D7 retention drops, you're borrowing from the future.
The Optimization Loop
- Add a placement
- Measure: ARPDAU, retention, session length
- If retention holds → keep it, test more
- If retention drops → reduce frequency or remove
- Repeat
The goal is finding the maximum ad load that users will tolerate without changing their behavior. On-device optimization automates this by adapting frequency and timing per user.
Revenue Optimization Tactics
Once your basic setup is working, here's how to squeeze more from it:
1. Add More Demand Sources
Every additional network bidding on your inventory pushes eCPMs up. If you're using 2 networks, adding a third will almost certainly increase revenue. Diminishing returns start around 5–7 for most apps.
2. Optimize Floor Prices
Floor prices set the minimum eCPM you'll accept. Too high = low fill rate. Too low = you're selling premium inventory cheap.
Start with no floors and gather data. Then set floors based on the 25th percentile of observed eCPMs per geo — this catches the bottom while keeping fill high.
3. A/B Test Placements
Don't guess which placement works best. Test:
- Showing an interstitial every 2nd level vs every 3rd level
- Rewarded ad in the store vs on the game-over screen
- Banner at top vs bottom
- App open on every return vs every 3rd return
4. Segment by Geo
US/UK users generate 5–10x the eCPM of users in lower-tier markets. Consider:
- Different ad frequency by geo (more aggressive in low-eCPM markets where each impression earns less)
- Different format mix by geo (rewarded works everywhere, interstitials perform better in high-eCPM markets)
- Geo-specific floor prices
5. Optimize Session Length
Longer sessions = more impressions = more revenue. This isn't about showing more ads — it's about making your app better so users stay longer. Every minute of additional session time is additional ad inventory.
6. Use Rewarded Ads as a Retention Tool
Rewarded ads aren't just revenue — they're a retention mechanic. Users who watch a rewarded ad for an extra life are more likely to stay in the session. The ad itself becomes part of the game loop.
7. Pre-Load Everything
An ad that isn't ready when the placement triggers is a missed impression. Load interstitials and rewarded ads as early as possible — ideally at app launch or immediately after showing the previous one.
Common Mistakes
1. Using a Single Ad Network
You're accepting whatever price one buyer offers. Add mediation and competition. Revenue typically increases 50–300% by adding multiple demand sources.
2. Showing Ads Too Early
Don't show a full-screen interstitial 10 seconds into a new user's first session. Let them experience your app first. Consider a grace period before ads appear.
3. Ignoring Fill Rate
A 70% fill rate means 30% of your ad opportunities generate zero revenue. Adding more demand sources or lowering floor prices can recapture those impressions.
4. Setting It and Forgetting It
Ad monetization isn't a one-time setup. eCPMs shift seasonally (Q4 is highest, Q1 is lowest), new networks emerge, and your user base evolves. Review performance monthly at minimum.
5. Not Measuring User Impact
If you don't track retention alongside ARPDAU, you won't know when ads are costing you users. Always measure both.
6. Manual Waterfall Management
If you're manually ordering networks and tuning floor prices, you're spending engineering time on something mediation platforms automate. Switch to in-app bidding or an optimization layer. See our manual mediation comparison for more detail.
7. Ignoring Rewarded Ads
Many developers skip rewarded ads because they seem complex. They're the highest-eCPM format with the best user sentiment. If your app has any form of virtual economy or optional perk, you should have rewarded ads.
8. Not Pre-Loading
Loading ads on demand adds latency and misses impressions. Pre-load ads after initialization and reload immediately after each show.
Getting Started
If You're Starting from Zero
- Pick 2–3 ad formats — start with rewarded + interstitials. Add banners if you have long sessions.
- Integrate a mediation platform — don't start with a single network. You'll have to re-integrate later anyway.
- Add 3+ demand sources — AdMob, AppLovin, and one more relevant to your app category.
- Set up basic placements — rewarded in your store, interstitials between levels, banners on the home screen.
- Measure for 2 weeks — track eCPM, fill rate, ARPDAU, and retention.
- Iterate — add more networks, test placement frequency, optimize floor prices.
If You're Already Running Ads
- How many demand sources are competing? If fewer than 3, add more. This is the single highest-leverage change.
- Are you using in-app bidding? If you're on a pure waterfall, you're leaving money on the table.
- Is your mediation platform neutral? If it operates its own ad network, it may be prioritizing its own demand over higher-paying alternatives.
- Are you pre-loading ads? If users ever see a loading delay before an ad, you're losing impressions.
- When did you last review your setup? If it's been more than a month, eCPM floors, network performance, and placement effectiveness have all shifted.
Integration Guide
Ready to integrate? Start with our Android integration guide for a step-by-step walkthrough covering all ad formats.
Ready to maximize your ad revenue?
Integrate AppSpike in under an hour and start earning more from every impression.
Get Early AccessThis guide is maintained by the AppSpike team. Have questions? Get in touch.