Google Play Data Safety Form and Privacy Policy
Who must complete the Data safety form, what to declare and the mistakes that cause problems later.
Read the guide →
You added AdMob, ran the app and the banner is blank. Or test ads work but real ones never appear. Or the app is live on Google Play and earnings stay at zero. AdMob rarely tells you why in plain words, but its help pages list the usual causes. This guide turns them into a 12-step check, starting with the ones that fix most new apps, so you can find the problem in the right order instead of guessing.
For a new app the cause is usually one of three things: AdMob has not finished approving the account, the app or the ad unit; the app is not set up or linked correctly; or the request fails because of a setup mistake such as the wrong ad unit ID. Google's ads not showing help page says a new app or ad unit typically takes up to 1 hour to begin showing ads, so if it has been less than an hour, wait. If it has been longer, work through the twelve checks below in order.
| Symptom | Most likely fixes |
|---|---|
| Blank banner or empty space, nothing in logs | Fixes 1, 7 |
| Test ads work, real ads never appear | Fixes 1, 3, 4, 6, 12 |
| Ads show on your phone, but earnings are zero | Fixes 3, 11, 12 |
| Ads worked, then stopped | Fixes 10, 11 |
| Request errors or no fill in logs | Fixes 8, 9 |
| App not yet on Google Play | Fixes 3, 4 |
Google says a new app or ad unit typically takes up to 1 hour to begin showing ads, and in rare cases a few days. Give it an hour before you change anything, then move on. Do not delete and recreate the ad unit; that starts the clock again.
Google says a new account review typically takes up to 24 hours and rarely up to 2 weeks, and AdMob emails you if the account is not approved. Check your inbox and spam folder for the application status email. Only one account is allowed per publisher, so close duplicates before you resubmit.
Google's app readiness page says new apps must pass a review before they can fully serve ads, that it begins automatically once the app is set up correctly and linked to a supported store, and that it usually takes a couple of days. While it runs, ad serving may be limited. A disapproved app has ad serving disabled until you fix the problem in the Policy center.
Google lists an unpublished app, or one not listed in a supported store, as a cause. Publish your app on Google Play (see how to publish an app on Google Play) and link it in AdMob using the store listing. If your app is still in closed testing, ads may be limited until the app is public, so do not judge your earnings during the test.
Google says an app that could not be verified is often a typo in the store ID, package name or app name. Open the app in AdMob, compare each value with your Play Console listing and, if wrong details were linked, clear them and link the app again.
Google says apps in a new account stay in Getting ready until the account is verified, which typically takes up to 24 hours and in rare cases up to 2 weeks. Enter your payment details, as Google recommends, and check that billing information is complete.
Follow Google's integration guide for your platform: add the AdMob app ID to the manifest, initialize the Google Mobile Ads SDK before loading ads and request ads only after initialization finishes. If your app crashes on launch after adding AdMob, a missing or wrong app ID is a common cause. Use the Ad Inspector that Google mentions to check your setup on a real device.
Google lists ad unit IDs that do not match the requested format as a cause of failed requests. A banner ID cannot load an interstitial. Copy the IDs from AdMob again, check for stray spaces and confirm you used the ID, not the app ID, in the ad request.
Google's onboarding issues page lists causes behind failed requests:
| Message or cause | What to do |
|---|---|
| Publisher data not found | Verify the ad unit code, check billing information and resolve issues in the Policy center |
| No ads meet the eCPM floor | Lower the floor on the ad unit |
| Frequency cap reached | Adjust the cap and broaden targeting if too narrow |
| Request does not meet size requirements | Check the format's size rules |
| Request inconsistent with the device platform | Use the SDK that matches the device OS |
| Native ad request not valid | Follow the native template guidance. The main image must use MediaView, not ImageView. |
| Video ad request not valid | Check video duration and ad type parameters |
Google's policy enforcement page describes levels that affect serving: ad serving at risk, restricted ad serving, disabled ad serving, account-level serving limits, and suspended or disabled accounts. Disabled serving and suspended or disabled accounts stop all ads. Restricted serving and limits reduce ads from Google sources only. Open the Policy center, read the message, fix the cause and request a review if you can. Apps for children must follow Google Play's Families policy and tag ad requests accordingly, and Google also lists GDPR compliance tools for publishers.
Google's ad serving limits page says serving may be limited while Google assesses traffic quality, or because of invalid traffic, and that a serving limit typically lasts under 30 days, though it can take longer. Invalid traffic limits affect the AdMob Network only. Avoid anything that could generate invalid activity, especially self-clicks.
Two problems appear here. First, if you published the app with Google's sample ad unit IDs, you will see ads but no revenue. Second, if you register your device as a test device, you will see test ads and they are not counted in your reports. Replace sample IDs with your own before release, and remove test device code.
Google's test ads guide explains that test ads let you check your integration without generating real clicks, and warns that clicking too many live ads without test mode may be reported as invalid activity. Google provides sample ad unit IDs that are not linked to your account, so they cannot create invalid traffic. Test requests, impressions and clicks are not recorded in your reports. You can register a test device in code or in the AdMob console; new devices usually start receiving test ads within 15 minutes, though it can take up to 24 hours. Google ads then show a Test Ad label. Remove the test device code before release. If you use mediation, enable test mode for each network, because mediation ads do not show the label.
AdMob and Google Play have to agree about your app. Declare ads in Play Console, keep your Data safety form accurate and your privacy policy public. Read the Data safety and privacy policy guide and the target audience declaration, because ads affect both. If your update adds ads or new SDKs, re-check your declarations before you release; see how to update an app on Google Play.
| Check | Done? |
|---|---|
| AdMob account approved and payment details entered | ☐ |
| App created in AdMob with the correct package name and store link | ☐ |
| App published and linked to Google Play | ☐ |
| Real ad unit IDs in the release build, test IDs removed | ☐ |
| SDK initialized before ads load | ☐ |
| Policy center is clear | ☐ |
| Data safety form and privacy policy match your ads | ☐ |
| Waited at least an hour after creating new ad units | ☐ |
If your app is still in the closed test, remember the next step is applying for production access. If you need real testers, our team supplies them.
Google says a new app or ad unit typically takes up to 1 hour to begin showing ads, and rarely a few days. A new AdMob account usually takes up to 24 hours to be approved, and in rare cases up to 2 weeks.
Test ads use sample ad unit IDs that are not linked to your account. If you ship with those IDs you will never earn revenue. Replace them with your own ad unit IDs before publishing.
Google says new apps must go through an app readiness review before they can fully serve ads. It begins automatically once the app is set up correctly in AdMob and linked to a supported store, and usually takes a couple of days, sometimes longer.
Google lists an app that is not published or not listed in a supported app store as a cause of limited serving. Publish the app and link it to the store in AdMob.
No. Google warns that clicking too many live ads without test mode may be reported as invalid activity and put your account at risk. Use test ads and test devices.
The request reached AdMob but no ad could be returned. Google's onboarding help lists reasons such as no ads meeting an eCPM floor, a frequency cap being reached or a request that does not match the ad format.