Do I need to use test ads?

Yes. It is against AdMob policy to click on your own live ads. During development and testing, use only test ads. If you do need to render live ads before launch, avoid clicking on them. If you click on live ads, your AdMob account may be suspended. For more information, review the AdMob policies and learn more about invalid activity.

Why does my Android app crash when I use ProGuard?

To safely use ProGuard with Google Mobile Ads, add the following to your ProGuard config:

-keep public class com.google.android.gms.ads.** {
   public *;

-keep public class com.google.ads.** {
   public *;

This prevents all public methods on public classes in the Google Mobile Ads SDK from being obfuscated.

If you use AdMob Mediation with other ad networks, you should keep public methods from public classes for each SDK and adapter library from being obfuscated as well.

I think I've implemented everything correctly, so why am I not seeing ads?

While maintaining the highest possible fill rate is one of our top priorities, we may not always have an ad available for every ad request. This can be especially common during development, when ad requests are typically made infrequently from a small number of users and devices. When apps are newly registered on AdMob, it may also take some time and several requests before impressions are consistently delivered. Developers generally see more consistent results once they have released their app and ad requests arrive more frequently from a more diverse user base.

Try making your ad requests in test mode to verify your implementation. As test mode operates through the same channels as live ads, successfully returning a test ad should verify your code.

Why has my fill rate or revenue changed?

The AdMob network is a dynamic marketplace where inventory supply and demand are constantly balanced across a large, diverse group of advertisers and publishers. Large campaigns moving through the network, fluctuations in demand for specific inventory subsets, new publishers, and new devices may all significantly impact fill rate and earnings.

If you've noticed a substantial change in performance, we would encourage you to review any changes you've made to your app code that might affect our ability to serve ads and check that your account's filter settings are as permissive as possible. Restrictive filtering can significantly reduce the volume of available ads, limiting your app's fill rate and revenue.

How do I control my app's ad refresh rate?

AdMob offers the ability to control the refresh rate from within your account. Simply sign in to apps.admob.com and find your ad unit under the Monetize tab. Click the ad unit to edit settings, including your app's ad refresh rate.

How do I control what types of ads are shown in my apps?

AdMob provides publishers with significant control over the ads appearing in their apps. Simply sign in to apps.admob.com, click the Monetize tab, and select Allow & Block Ads. Keep in mind that the filters and categories you enable are account-level settings.

Can I restrict my app to only show image ads?

AdMob offers advertisers a variety of different ad formats to help meet their goals and optimize your monetization. Restricting ad display to a specific format is not supported.

Where can I find more help content specific to the AdMob network?

Send feedback about...

AdMob by Google
AdMob by Google