Maximize Your Earnings
Proven strategies to increase your ad revenue while maintaining excellent user experience.
The Revenue Formula
Four Key Factors
Revenue = (Impressions × Fill Rate × Viewability × CPM) × 80%
Where:
- Impressions = Number of ad requests
- Fill Rate = % of requests that returned an ad
- Viewability = % of ads that were actually seen
- CPM = Revenue per 1000 impressions
- 80% = Your revenue share
Example:
10,000 impressions
× 85% fill rate (8,500 filled)
× 95% viewability (8,075 viewable)
× $12 CPM
= $96.90 gross revenue
× 80% = $77.52 your earnings
Strategy 1: Increase Impressions
Smart Ad Placement
Show ads at natural break points in your game/app:
| Game Type | Best Ad Placements | Frequency |
|---|---|---|
| Puzzle Games | After completing a level, on game over | Every 2-3 levels |
| Arcade Games | On game over, after high score | Every session end |
| RPG/Strategy | Between missions, before boss fights | Every 5-10 minutes |
| Casual Games | Daily rewards, extra lives, power-ups | User-initiated |
Optimal Frequency
User-Initiated Ads
Give users control by offering optional rewarded ads:
- 💎 Extra Currency: "Watch ad for 100 coins"
- ❤️ Extra Lives: "Watch ad to continue"
- ⚡ Power-ups: "Watch ad for boost"
- 🎁 Daily Bonuses: "Double your reward"
- 🔓 Unlock Content: "Watch ad to unlock"
// Offer rewarded ad for extra lives
function showContinueScreen() {
showDialog({
title: "Game Over!",
message: "Watch an ad to continue?",
buttons: [
{
text: "Watch Ad (+1 Life)",
onClick: () => {
RewardedAd.showAd({
rewardPreview: '+1 Life',
onReward: () => {
addLife();
resumeGame();
}
});
}
},
{
text: "End Game",
onClick: () => showGameOverScreen()
}
]
});
}
Strategy 2: Improve Fill Rate
What is Fill Rate?
Fill rate is the percentage of ad requests that successfully return an ad:
Fill Rate = (Impressions / Requests) × 100%
Example:
1000 requests → 850 filled = 85% fill rate
1000 requests → 950 filled = 95% fill rate ✅ Better!
How to Improve Fill Rate
1. Enable Auto-Preload
// Enable auto-preload for higher fill rate
RewardedAd.init({
appId: "YOUR_APP_ID",
apiKey: "YOUR_API_KEY",
userId: "user_123",
autoPreload: true, // ✅ Always enable
preloadCount: 2 // ✅ Keep 2 ads ready
});
2. Check Availability Before Showing
// Always check before showing
function showRewardedAd() {
if (RewardedAd.isAdAvailable()) {
RewardedAd.showAd();
} else {
console.log('No ad available - will preload');
// Offer alternative or wait for preload
}
}
3. Handle No-Fill Gracefully
RewardedAd.init({
// ...config
onNoFill: function() {
// Offer alternative reward method
showAlternativeOptions([
'Complete a quest',
'Invite friends',
'Make purchase'
]);
}
});
Target Fill Rates by Industry
| Platform | Good Fill Rate | Excellent Fill Rate |
|---|---|---|
| Mobile Games | 80-85% | 90%+ |
| Web Games | 75-80% | 85%+ |
| Desktop Games | 70-75% | 80%+ |
Strategy 3: Maximize Viewability
What is Viewability?
Viewability = ads that were actually seen by users (50%+ visible for 2+ seconds). Higher viewability = higher CPMs!
BZZE Ads Advantage
How to Maintain High Viewability
1. Keep Full-Screen Player (Default)
Don't customize the ad player to be smaller or embedded. The full-screen overlay ensures maximum viewability.
2. Pause Game During Ads
RewardedAd.init({
// ...config
onAdShown: function() {
pauseGame(); // ✅ Stop gameplay
muteGameAudio(); // ✅ Mute sounds
},
onClose: function() {
resumeGame(); // ✅ Resume after ad
unmuteGameAudio();
}
});
3. Minimize Distractions
- ✅ Pause background animations
- ✅ Stop music/sound effects
- ✅ Hide game UI elements
- ✅ Disable notifications during ads
Viewability Impact on Revenue
| Viewability Rate | CPM Impact | Revenue Example |
|---|---|---|
| 50-60% | -40% CPM | $6 instead of $10 |
| 70-80% | Standard CPM | $10 baseline |
| 85-95% | +20% CPM | $12 instead of $10 |
| 95-100% ✅ | +30-40% CPM | $13-14 instead of $10 |
Strategy 4: Increase CPM
What Affects CPM?
CPM (Cost Per Mille) is how much advertisers pay per 1000 impressions. Many factors affect CPM:
1. Geographic Location
| Region/Country | Typical CPM Range | Quality |
|---|---|---|
| 🇺🇸 United States | $10-$25 | Premium (Tier 1) |
| 🇬🇧 United Kingdom | $8-$20 | Premium (Tier 1) |
| 🇨🇦 Canada | $8-$18 | Premium (Tier 1) |
| 🇦🇺 Australia | $7-$16 | Premium (Tier 1) |
| 🇩🇪 Germany, France, etc. | $5-$12 | High (Tier 2) |
| 🇮🇳 India, Asia | $1-$5 | Standard (Tier 3) |
| Others | $0.50-$3 | Low (Tier 4) |
2. Completion Rate
Higher completion rate = higher CPM. Advertisers pay more for ads that are watched fully.
50% completion rate = Lower CPM ($6-8)
70% completion rate = Standard CPM ($10)
90% completion rate = Higher CPM ($12-14) ✅
95%+ completion rate = Premium CPM ($15-20) ✅✅
3. Time of Year
- 📈 Q4 (Oct-Dec): Highest CPMs (+30-50%) due to holiday shopping
- 📊 Q1 (Jan-Mar): Lower CPMs (-20-30%) after holiday season
- 📊 Q2-Q3: Standard CPMs
- 🎯 Black Friday/Cyber Monday: Peak CPMs (+50-100%)
4. Ad Quality
Quality metrics that increase CPM:
- ✅ High viewability (95%+)
- ✅ High completion rate (90%+)
- ✅ Low error rate (<5%)
- ✅ Engaged audience
- ✅ Premium content/games
Strategy 5: Optimize User Retention
Why Retention Matters
More engaged users = more impressions = more revenue:
Game A: 1000 users, 20% retention, 2 ads/day
= 1000 × 0.20 × 2 × 30 days = 12,000 impressions/month
Game B: 1000 users, 60% retention, 2 ads/day
= 1000 × 0.60 × 2 × 30 days = 36,000 impressions/month
= 3× more revenue! 🚀
Balance Ads with UX
❌ Don't Do This:
- ❌ Force ads every 30 seconds
- ❌ Show ads mid-gameplay
- ❌ Make ads mandatory for basic features
- ❌ Show 5+ ads per session
✅ Do This Instead:
- ✅ Show ads at natural breakpoints
- ✅ Make most ads optional (rewarded)
- ✅ Limit to 1-3 ads per session
- ✅ Respect frequency caps (60s cooldown)
- ✅ Provide value for watching ads
Real-World Optimization Case Studies
Case Study 1: Puzzle Game
BEFORE Optimization:
- Impressions: 50,000/month
- Fill Rate: 75%
- Viewability: 80%
- CPM: $8
Revenue: (50,000 × 0.75 × 0.80 × $8) / 1000 = $240
Your Share (80%): $192/month
AFTER Optimization:
- Impressions: 75,000/month (+50% - better placement)
- Fill Rate: 90% (+15% - auto-preload)
- Viewability: 98% (+18% - full-screen)
- CPM: $11 (+$3 - higher viewability)
Revenue: (75,000 × 0.90 × 0.98 × $11) / 1000 = $728
Your Share (80%): $582/month
Result: +203% revenue increase! 🚀
Case Study 2: Arcade Game
Changes Made:
1. Added "Continue" ad after game over
2. Enabled auto-preload (preloadCount: 2)
3. Added "Daily Bonus x2" rewarded ad
4. Improved completion rate (better rewards)
5. Targeted Q4 holiday season
Results:
- Impressions: +40%
- Fill Rate: 78% → 88%
- Completion Rate: 75% → 92%
- Average CPM: $9 → $13
- Overall Revenue: +156%
Quick Wins Checklist
- ☑️ Enable auto-preload in SDK config
- ☑️ Set preloadCount to 2
- ☑️ Implement onAdShown to pause game
- ☑️ Add user-initiated rewarded ads
- ☑️ Check current fill rate in dashboard
- ☑️ Analyze ad placement timing
- ☑️ Test different reward amounts
- ☑️ Monitor completion rates
- ☑️ Review viewability metrics
- ☑️ A/B test ad frequency
- ☑️ Optimize for high-CPM regions
- ☑️ Improve user retention
- ☑️ Plan for Q4 holiday season
- ☑️ Analyze revenue by game/app
- ☑️ Set revenue goals and track progress
Revenue Calculator
Estimate your potential earnings:
function calculateRevenue(params) {
const {
dailyActiveUsers,
adsPerUserPerDay,
fillRate, // 0.0 - 1.0
viewability, // 0.0 - 1.0
cpm, // dollars
daysPerMonth = 30
} = params;
const monthlyImpressions = dailyActiveUsers * adsPerUserPerDay * daysPerMonth;
const filledImpressions = monthlyImpressions * fillRate;
const viewableImpressions = filledImpressions * viewability;
const grossRevenue = (viewableImpressions / 1000) * cpm;
const yourShare = grossRevenue * 0.80;
return {
impressions: monthlyImpressions,
grossRevenue: grossRevenue.toFixed(2),
yourEarnings: yourShare.toFixed(2),
annualEarnings: (yourShare * 12).toFixed(2)
};
}
// Example:
const result = calculateRevenue({
dailyActiveUsers: 1000,
adsPerUserPerDay: 2,
fillRate: 0.85,
viewability: 0.95,
cpm: 12
});
console.log(result);
// Output: {
// impressions: 60000,
// grossRevenue: "581.40",
// yourEarnings: "465.12",
// annualEarnings: "5581.44"
// }
Monitoring & Analytics
Key Metrics to Track
Monitor these in your Publisher Dashboard:
| Metric | Target | Action If Low |
|---|---|---|
| Fill Rate | 85%+ | Enable auto-preload, check availability |
| Viewability | 95%+ | Use full-screen player, pause game |
| Completion Rate | 90%+ | Better rewards, shorter ads |
| CPM | $10+ | Improve viewability, target Tier 1 regions |
| Daily Revenue | Growing trend | Increase impressions, improve metrics |
Common Mistakes to Avoid
1. Too Many Ads
❌ Showing 10+ ads per session drives users away. Stick to 1-3 ads per session.
2. Ignoring User Experience
❌ Forcing ads at bad times frustrates users. Show ads at natural breakpoints.
3. Not Using Auto-Preload
❌ Manual preload = lower fill rates. Always enable auto-preload.
4. Showing Ads Too Frequently
❌ Ignoring the 60-second cooldown reduces CPM. Respect frequency caps.
5. Poor Ad Placement
❌ Random ad timing = low completion rates. Strategic placement = higher revenue.