Vibeloy
Sign Up
All posts

Blog

AdMob Ads Not Showing? How to Fix 'Ad Serving Limited'

Published: Updated: 8 min read

What 'ad serving limited' means

When you see an 'ad serving limited' warning in the AdMob console for an app or account, it usually doesn't mean ads have stopped entirely; it means Google has deliberately capped your fill rate and/or the volume of ads served. Your app keeps running and sending ad requests, but some or all of those requests can come back unfilled.

Understanding the source starts with the AdMob console's Policy Center; the message there usually indicates which category the restriction falls into (policy, traffic quality, app-ads.txt, account status). Making random changes without knowing the source can drag the process out instead of resolving it.

What can cause the restriction

Account being assessed: a newly created AdMob account goes through an initial window during which Google observes traffic quality — this is the first of the three restriction categories AdMob officially defines. During this window, ad serving can be deliberately limited on AdMob Network and third-party bidding sources; the rest of your mediation waterfall, house ads, and direct-sold campaigns are unaffected. This isn't a penalty; Google automatically reviews and updates the limit as it continues monitoring your traffic.

App not ready to show ads: every newly linked app goes through an 'app readiness review' before it can fully serve ads — AdMob's second official category. During the review, serving may be limited across all ad demand for that app. The most common causes are an incomplete or still-in-draft Play Console or App Store Connect listing, or a package name/store ID entered in AdMob that doesn't match the real listing (an app that can't be verified). This review starts automatically once the app is set up correctly in AdMob and linked to a supported store.

Invalid traffic concerns: AdMob's officially defined third category. If unusual click/impression patterns are detected on your ads (an abnormally high click rate in a short window, bot-like behavior, clicking your own ads), Google can restrict ad serving on AdMob Network; third-party mediation, house ads, and direct-sold campaigns are unaffected in this case. The goal is protecting both the advertiser and the publisher.

Besides these three categories, there's also app-ads.txt: it is NOT a cause of the 'ad serving limited' mechanism, but a separate check that AdMob tracks under its own status. In the console, the Apps > app-ads.txt tab has its own status indicator, and you'll see a 'Your revenue is at risk' warning if the file can't be found or your publisher ID is missing from it. The two mechanisms operate independently, but since both can affect your fill rate, it's worth checking both — we cover this separately below.

Diagnosis order: where to start

1. Policy Center: select your app in the AdMob console and check the Policy Center. The message there usually states the restriction's category directly (policy violation, traffic quality, missing verification); skipping this step risks fixing the wrong problem in the steps that follow.

2. app-ads.txt status: check the status of the developer website linked to your app under the Apps > app-ads.txt tab in the AdMob console; you'll see a 'Your revenue is at risk' warning there if the file can't be found or your publisher ID is missing from it. Also verify manually — open https://yoursite.com/app-ads.txt in a browser — that the file sits at the root, carries the correct pub-XXX, and is reachable.

3. Traffic sources: review your in-app ad placements and where your traffic comes from. Clicking your own ads, UI that nudges users into accidental ad clicks (button placements that make mis-taps easy), or purchased/non-organic install traffic are common triggers for invalid traffic suspicion.

The logic behind this order is simple: Policy Center names the restriction's category, the app-ads.txt check rules in or out a technical/verification cause, and the traffic-source review surfaces a behavioral cause. Jumping to a fix without checking all three in order can mean 'fixing' the same problem repeatedly without success.

Fix steps and a realistic timeline

If the cause is app-ads.txt: publish the file at the root with the correct pub-XXX and correct line format (e.g. google.com, pub-XXX, DIRECT, f08c47fec0942fa0), and confirm it's reachable in a browser. AdMob generally re-crawls to verify the fixed file within about 24 hours; the warning on the Apps > app-ads.txt tab fully clearing from the console can take a few more days on top of that, and there's no guaranteed way to speed this up.

If it's an account-assessment or app-readiness review window: this is a waiting period that doesn't require active intervention. AdMob officially states the overall limit typically lasts less than 30 days; the app readiness review typically takes 2-3 days, and account verification takes up to 24 hours (rarely up to 2 weeks). The safest approach during this time is avoiding anything that could trigger a policy issue (aggressive ad placements, copy that nudges users to click) — the exact duration can still vary by account and app.

If it's invalid traffic suspicion: fix problematic placements (button positions that make mis-taps easy), remove anything that violates ad policies (encouraging clicks on your own ads), and make sure your traffic is organic. AdMob's typical overall cap is under 30 days, but there's no officially stated separate figure for this category specifically, and it can often take longer than the others because rebuilding trust takes time on Google's side; rather than expecting a specific duration, it's more realistic to focus on permanently removing the root cause.

If it's a store-listing issue: complete your app's Play Console or App Store Connect listing (move it from draft to live) and confirm the app ID you linked to AdMob matches the correct, live listing. After the fix, the app goes through the readiness review again, which typically takes 2-3 days; this is usually the fastest category to resolve, since the fix is entirely within your control.

The role app-ads.txt plays in this process

Of everything covered in this article, app-ads.txt is the one most fully within your control and the most concretely verifiable: you can test yourself whether the file exists, sits in the right place, and has the right content. The three official causes of 'ad serving limited' (account assessment, app readiness, invalid traffic) are more about process or behavior and run on AdMob's own timeline; app-ads.txt, tracked under its own separate status, comes down to whether a file is sitting in the right place — something entirely within your control.

That's why it makes sense to check app-ads.txt early in the diagnosis order: it's both quick to verify and quick to fix, entirely on your own timeline. If you don't have a website or don't want to manage the file by hand, Vibeloy's app-ads.txt tool generates the correctly formatted line from your AdMob publisher ID; automatically hosting it on your own subdomain is included in the premium plan.

Frequently asked questions

Does 'ad serving limited' mean ads have stopped completely?
Usually not. This warning most often means your fill rate and/or the volume of ads served has been deliberately capped; your app keeps sending ad requests, but some requests can come back unfilled.
Where should I look first to find the cause?
The Policy Center in the AdMob console. The message there usually states which category the restriction falls into (policy, traffic quality, app-ads.txt, account status), letting you plan your next steps based on that.
Do ads stop immediately if app-ads.txt is missing?
No, not immediately; but it can lower your fill rate because some advertisers avoid bidding on inventory that looks unauthorized. This is tracked as a SEPARATE status from 'ad serving limited' (the Apps > app-ads.txt tab). After you publish the file correctly, AdMob generally re-crawls within about 24 hours; the warning fully clearing from the console can take a few more days on top of that.
How long does it take to resolve invalid traffic suspicion?
There's no separate official figure for this category; AdMob's typical overall cap is under 30 days, but invalid traffic suspicion can often take longer than the others because rebuilding trust takes time on Google's side. Rather than expecting a specific timeframe, it's more realistic to focus on permanently removing the root cause (a problematic placement, a policy violation, non-organic traffic).
Why does ad serving look restricted on my newly created AdMob account?
New accounts go through 'Account being assessed,' and newly linked apps go through 'App not ready to show ads' review — an initial window during which Google observes traffic quality or verifies the app. Ad serving can be deliberately limited during this time. This isn't a penalty and doesn't require active intervention; AdMob officially states the app review typically takes 2-3 days, and account verification takes up to 24 hours (rarely up to 2 weeks).