Raising app ad revenue without losing your users

Showing more ads is the quick fix and usually the wrong one. Nine changes that raise revenue per user and keep people coming back.

The quickest way to earn more from ads this week is to show more of them. It works for about a month. Then retention drops, and you're showing more ads to fewer people. Everything below is about earning more from each user while keeping them.

Put rewarded ads where people need help

A "watch a video for 50 coins" button on the home screen gets ignored. The same offer when someone has run out of lives, is one move short or is waiting on a timer gets used. Rewarded ads earn the most per view of any format (see the format comparison), so it's worth finding the moments when a reward actually helps.

Cap your interstitials

Set a minimum gap between interstitials and skip them entirely in a user's first session. Then test a few different gaps. The best one is whichever earns the most per user after a week or a month. Day-one revenue is the wrong number here, because it can't show you the people you drove away.

Move to bidding

If you still have a waterfall that you rank by hand, move your main networks to bidding. Instead of being called in a fixed order based on average prices, each network bids on each impression (Google's mediation guide explains the difference). You also stop spending afternoons adjusting price floors.

Add networks one at a time

More bidders means more competition, but every SDK adds size and upkeep. Add one, wait for real data, and keep it only if it wins a meaningful share of your impressions.

Look at your weakest countries

Break revenue down by country and look for low fill. Some networks are much stronger in particular regions than others, and a market where most requests go unfilled is revenue you're missing.

Match the format to the screen

A banner on a gameplay screen nobody looks at earns almost nothing. A native card in a feed, a rewarded offer at the right moment or an interstitial at a real break will all do better than a banner on every screen.

Ask for iOS tracking permission properly

On iOS, Apple requires apps to ask permission through the App Tracking Transparency prompt before tracking users across other companies' apps and websites (Apple's privacy guidance). Users who decline are harder for advertisers to target, so their impressions sell for less. You can't make anyone agree, but you can show a short, honest explanation before the system prompt, at a sensible moment rather than on first launch. Also check that SKAdNetwork is configured, since advertisers use it to measure their campaigns.

Plan around the calendar

Ad prices tend to peak in Q4 and fall in January as advertiser budgets reset (Publisher Collective describes the pattern). Ship your big updates before Q4, and don't panic when prices drop in January. More in our seasonality guide.

Work on retention

A user who stays sixty days sees thirty times as many ads as one who leaves after two. Better onboarding, fewer crashes and faster load times won't show up in your ad dashboard, but they're some of the biggest ad revenue changes you can make.

Whatever you change, change one thing at a time and split-test it. MAX has A/B testing built in. Elsewhere, Firebase or a simple user split will do. Give each test at least two weeks and compare revenue per user and retention side by side.

Keep reading

Growing revenue

How to raise your website's RPM

Two sites with the same traffic can earn very different amounts. Eight things that change your revenue per 1,000 pageviews, from your network to your ads.txt file.

Growing revenue

Why ad revenue jumps in Q4 and drops in January

Ad prices follow advertiser budgets. How the yearly cycle works, and how to plan launches and expectations around it.

Ad networks

Getting approved for AdSense: why sites get rejected

Most AdSense rejections come down to a handful of fixable problems. What Google actually checks, the mistakes behind the usual rejection messages, and what to fix before you apply again.