The Mobile Ad Optimization Problem

Timing is everything.

Ryan Knightly
Jul 23, 2017 · 5 min read

Ads have become an essential aspect of the free app model, and timing is everything when it comes to generating ad revenue while not subtracting from the user experience.

Diagram of ad types offered by

This is especially important for interstitial ads, which are the full screen pop-up ads as shown to the left. Interstitials can be a significant annoyance to the user if not implemented and timed correctly. An ill-timed interstitial can be so harmful to the user experience that it can lead to the user deleting the app, cutting off the possibility of generating further ad revenue from that user.

This is also the case for video ads, as they can be equally or more annoying to the user as interstitials. Truthfully though, you do not need to worry so much about the timing of banner ads, because for the most part they are static, and ad services like AdMob allow automatic refresh-rate optimization for banners.

When it comes to an ad that you have to explicitly pop-up however, it is absolutely critical to pop it up at the best time possible. Now of course the question is: What is the optimal time?

Optimal Pop-Up Time

You will find, as I have, that users are most receptive to ads at the moment when they are feeling some sort of gratification from the app experience.

In terms of a game, this can be a time when the user has just completed a level or unlocked a new item.

During these times, the user is in a good mood because of their accomplishment. This means that when the ad pops up, they will be more forgiving and will not resolve to delete the app when they see the pop-up.

Any annoyance they would feel about the advertisement will be offset by the gratification of beating the level or unlocking the item.

By timing ads in this way, not only will they not delete the game, but they will be more receptive to the ads and more likely to click on them. After all, an annoyed person is much less likely to be interested in ads for new products or apps than a person who is in a good mood.

Moderation

It is also crucial to not display pop-up ads on a frequent basis, because this can result in the user feeling overwhelmed by the ads. Instead, you can display the ad every couple times that the trigger action occurs.

For example, if you display ads when the user levels up, you can decide to only display the ads every-other level. Or, you could choose not to display ads for the earlier, easier levels, and to wait for later when their level completion is more spaced out, spacing out the time between the pop-up ads.

Ad services like AdMob also allow for frequency capping, allowing you to display only 1 ad per 10 minutes to any particular user.

Either way, the key is in avoiding an overflow of ads that can take away from the user experience.

Wait Before Displaying Ads

Opening a new game and being greeted with an influx of full-screen pop-up ads is an awful user experience, and entirely fair grounds to delete an app.

Because of this, it is often best to not show ads for the first few games or first few levels, allowing the user to enjoy the game and get a good impression of the app, making them more likely to keep the app and generate more revenue.

This also helps because the first few levels will often be easier and quicker to complete than later levels, meaning displaying ads after each of the earlier levels can result in a rather high display frequency. This is an especially big problem when the user has first downloaded the app, because they are just trying it out and will be more likely to delete the app due to a bad incident with ads.

Specific Examples

Cropped screenshot from “Get In!”

I found this to be particularly important in my game called “Get In!” as seen to the left. In this case, the game is challenging to the degree that users will occasionally get upset with the game due to their inability to get to the next level.

Of course, I did not want to display an ad while someone is freaking out and losing repeatedly, because the ad would annoy them further and possibly lose them as a user.

In order to moderate the frequency of pop-up ads, I only display them on levels 3 and up. This is because the earlier levels can be quicker to complete, while the later levels take longer to complete, which inherently spaces out the pop-up ads.

Apps Besides Games

You may of course have an app that isn’t a game, making it less clear when a user will be most receptive to a pop-up ad. In this case, you will have to ultimately decide on an app-by app basis, but the main idea is still the same.

Present the ad after the user has accomplished or finished something.

For example, I worked on an app called InvestorPrep, which is not a game, but instead a finance education app with different lessons that the users take and complete. In this case, I decided to show the pop-up ads after an article has been completed, which is a time when the user is rather satisfied and won’t be bothered by an ad.

Crucially however, I do not show an ad after every lesson that is completed. Instead, I do it after every 6 or 7, giving fair time between pop-up ads so that the user doesn’t feel overwhelmed with advertisements.

Ultimately, timing and moderation are the keys to success when it comes to displaying mobile ads.

The Floating Point

Programming and more

Ryan Knightly

Written by

A dedicated software developer and student.

The Floating Point

Programming and more

Welcome to a place where words matter. On Medium, smart voices and original ideas take center stage - with no ads in sight. Watch
Follow all the topics you care about, and we’ll deliver the best stories for you to your homepage and inbox. Explore
Get unlimited access to the best stories on Medium — and support writers while you’re at it. Just $5/month. Upgrade