Ad Monetization Checklist
Everything you need to have in place before launching ads in your mobile app — and the steps to optimize after launch. Use this as a launch readiness checklist and ongoing reference.
Pre-Launch
Account Setup
- Create accounts with 3+ ad networks (start with AdMob, AppLovin, and one relevant to your primary geo/vertical)
- Register your app in each ad network dashboard
- Create ad unit IDs for each format you plan to use (rewarded, interstitial, banner, etc.)
- Set up a mediation platform account
- Configure your mediation dashboard with all ad network credentials
- Enable in-app bidding for all networks that support it
SDK Integration
- Integrate the mediation SDK into your project
- Add adapter dependencies for each ad network
- Initialize the SDK in your Application/AppDelegate class
- Verify SDK initialization succeeds in logs
- Test on both Android and iOS (if cross-platform)
Ad Placements
- Map every natural break point in your app flow
- Choose 2–3 ad formats to start with (recommended: rewarded + interstitial)
- Implement each ad placement with proper load/show lifecycle
- Pre-load ads at app launch or immediately after showing one
- Handle lifecycle callbacks: onResume, onPause, onDestroy
- Handle no-fill gracefully — the user should never see a blank space or error
- Handle ad load failures with retry logic (exponential backoff, not instant retry loops)
Rewarded Ads (if applicable)
- Design the reward: what does the user get, and how much?
- Reward value is meaningful (worth 5–10 minutes of normal gameplay/usage)
- Reward value doesn’t break your virtual economy
- Reward is granted immediately on ad completion — no delay
- “Watch ad” button clearly shows what the user will receive
- Core app functionality works without watching any ads
- Server-side verification is set up if rewards have real value
User Experience
- No ads shown during the user’s first session (or at least first 2–3 minutes)
- Interstitials only appear at natural break points, never mid-action
- Interstitial frequency is capped (no more than 1 per 2–3 minutes)
- App open ads are frequency-capped (every 3rd–4th return, not every foreground)
- App open ads skip if the user was away for less than 30 seconds
- Banner placements don’t overlap with interactive UI elements
- Ads don’t trigger during time-sensitive moments (timers, transactions, active gameplay)
- Close/skip buttons are accessible and not obscured
Testing
- Enable test mode during development — never serve live ads from test devices
- Verify each ad format loads and displays correctly
- Test ad lifecycle (load → show → dismiss → reload)
- Test no-fill scenarios — app handles gracefully
- Test on low-end devices — ads don’t cause crashes or excessive memory usage
- Test on slow connections — ads handle timeouts properly
- Test orientation changes — ads don’t break layout
- Remove test mode before submitting to app stores
Compliance
- Ads comply with app store guidelines (Apple App Store, Google Play)
- GDPR consent flow implemented for EU users (required by most ad networks)
- ATT (App Tracking Transparency) prompt implemented for iOS 14.5+
- COPPA compliance if your app targets children
- Privacy policy updated to mention ad networks and data collection
- Ad network data processing agreements reviewed and signed where required
Analytics
- Ad revenue tracking is configured in your mediation dashboard
- Key metrics are visible: eCPM, fill rate, impressions, ARPDAU
- Revenue data is broken down by network, format, geo, and placement
- Retention tracking is set up (D1, D7, D30) — you need this to measure ad impact on user behavior
- Firebase Analytics or equivalent is configured for event tracking
- Ad events are logged (ad_loaded, ad_shown, ad_clicked, ad_failed, reward_earned)
Launch Day
- Disable test mode
- Verify live ads are serving (check mediation dashboard for impressions within first hour)
- Monitor crash reports — ad SDKs can introduce stability issues
- Check fill rate across all geos — ensure no major gaps
- Verify revenue is being reported in the mediation dashboard
- Monitor app store reviews for ad-related complaints
- Set no floor prices initially — gather baseline data
First Week Post-Launch
- Review daily: eCPM, fill rate, impressions, ARPDAU
- Compare D1 retention pre-ads vs post-ads — any significant drop?
- Check session length pre-ads vs post-ads — are users leaving earlier?
- Identify the lowest-fill geos and investigate (missing demand? floors too high?)
- Verify all ad networks are receiving traffic and filling
- Check for any SDK errors or ad load failures in crash reporting
- Confirm rewarded ad completion rates are 80%+ (if applicable)
First Month Post-Launch
Optimize Revenue
- Set floor prices based on 2+ weeks of eCPM data (25th percentile by geo)
- Add 1–2 more demand sources if fill rate is below 95% in any major geo
- A/B test interstitial frequency (every 2nd vs 3rd break point)
- A/B test rewarded ad reward value if opt-in rate is below 20%
- Review which networks are winning most impressions — is one dominating unfairly?
- Implement geo-segmented configuration if you have traffic in 3+ geo tiers
Optimize User Experience
- Review session length trends — any decline correlating with ad changes?
- Read app store reviews mentioning ads — what are users saying?
- Check uninstall rate — any spike after ad implementation?
- Survey a sample of users on ad experience (optional but valuable)
- Adjust frequency caps if any metrics show user fatigue
Expand
- Add a new ad format if you started with only 1–2 (banners for baseline, app open for return visits)
- Test a new placement at a previously unused break point
- Consider native ads if your app has a feed/list UI
- Consider rewarded interstitials as an upgrade from standard interstitials
Ongoing (Monthly Review)
- Review eCPM trends by network — any significant drops to investigate?
- Review fill rate by geo — any new gaps?
- Check for new networks worth adding
- Update floor prices for seasonal shifts (raise in Q4, lower in Q1)
- Update ad network SDKs and adapters to latest versions
- Review mediation platform neutrality — is the mediator’s own network winning a disproportionate share?
- Re-evaluate ad frequency based on current retention data
- Test one new optimization per month (new placement, format, or configuration change)
Quick Reference: What Good Looks Like
| Metric | Target | Action If Below |
|---|---|---|
| Fill rate | > 95% | Add demand sources, lower floors |
| eCPM | Trending up or stable | Add bidding networks, optimize floors |
| ARPDAU | Growing with DAU | Check format mix, add placements |
| D1 retention | Within 2% of pre-ad baseline | Reduce frequency, delay first ad |
| D7 retention | Within 3% of pre-ad baseline | Audit placement timing |
| Show rate | > 80% | Reduce pre-load-to-show gap |
| Rewarded opt-in rate | > 20% | Increase reward value, improve button placement |
| Interstitial frequency | 1 per 2–3 min max | Cap frequency, audit triggers |
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
- Revenue Optimization Playbook — tactical moves to increase revenue
- Ad Monetization Glossary — every term defined
- Android Integration Guide — step-by-step implementation
Ready to launch ads the right way?
Integrate AppSpike in under an hour and start monetizing with confidence.
Get Early Access