app-ads.txt for AdMob: Where It Goes, What It Says and Why It Fails
AdMob wants an app-ads.txt file on the developer website in your store listing. Here is what goes in it, where exactly it must live, what to do if you have no website, and how to fix the usual errors.
Short answer: app-ads.txt is a plain text file that lists who is allowed to sell ads in your app. For AdMob it contains one line with your publisher ID, copied from AdMob, and it must be reachable at https://yourdomain/app-ads.txt, where yourdomain is the developer website entered in your Google Play or App Store listing. AdMob can take up to 24 hours to crawl it.
This guide explains each part of that sentence, because each part is where it usually goes wrong. If you only want the file, our free app-ads.txt generator and checker builds it from your publisher ID and tells you the exact URL it must answer on.
What app-ads.txt is and why AdMob asks for it
app-ads.txt is an IAB Tech Lab standard. Advertisers buying an impression in your game can check the store listing, find your developer website, read app-ads.txt there and confirm that the ad network selling the impression is authorised by you. It makes it harder for someone to sell fake inventory in your app’s name. AdMob shows the status of each app on its app-ads.txt page and recommends the file for every app.
The line AdMob gives you
In AdMob, open Apps → View all apps → app-ads.txt (or the "How to set up app-ads.txt" link on that page). AdMob shows a ready-made line with your own publisher ID. It has this shape:
- google.com, pub-0000000000000000, DIRECT, f08c47fec0942fa0
- google.com: the ad system domain.
- pub-…: your AdMob publisher ID (AdMob → Settings → Account information). It is the number that also appears in every one of your ad unit IDs, between "ca-app-pub-" and the "/" or "~".
- DIRECT: you hold the account yourself.
- f08c47fec0942fa0: Google’s certification authority ID. Copy it as AdMob shows it.
If you also use mediation (AppLovin, Unity Ads, ironSource and others), each network gives you its own lines. Put all of them in the same file, one per line.
Where the file must live
This is the part that causes most "not found" errors. AdMob does not look on any site you choose; it reads the developer website from your store listing (Play Console → Store presence → Store settings → Website, or the Marketing/Support URL on the App Store) and looks for the file at the root of that host.
- Root only: https://yourstudio.com/app-ads.txt works; https://yourstudio.com/games/app-ads.txt does not.
- www and m are ignored: Google’s help page says the specification excludes "www." and "m.", so a listing website of www.yourstudio.com is checked at yourstudio.com.
- One subdomain level up: for help.yourstudio.com the crawler checks that host and then yourstudio.com.
- Redirects are allowed: the server may redirect the crawler to a copy on www or a CDN.
- It must be plain text, not an HTML page. Some site builders return a styled 404 page or a homepage with status 200 for any unknown path, which the crawler cannot use.
- robots.txt must not block it.
Change the website in your store listing and AdMob may need up to 24 hours to notice that too. Change the file and use "Check for updates" on the app-ads.txt page in AdMob to ask for a sooner crawl.
No website? Your options
You need a domain whose root you control. A page on a social network or an app store profile is not enough, because you cannot put a file at its root. The usual choices:
- A cheap domain on any static host (Cloudflare Pages, Netlify, GitHub Pages with a custom domain). Upload app-ads.txt to the root and set that domain as the website in your listing.
- Firebase Hosting, which Google’s own help page suggests for developers who cannot place a file at the root of their site.
- A project page such as yourname.github.io: GitHub serves it at the root of that host, so it works as long as the store listing uses exactly that host.
The same domain is a natural home for your privacy policy, which Google Play also needs.
How to check it
- Open https://yourdomain/app-ads.txt in a private browser window. You should see your line and nothing else: no page layout, no login.
- Check that the domain is exactly the website in your store listing, minus www.
- Compare the pub- number with the one in AdMob, digit by digit.
- Or paste the domain into our app-ads.txt checker: it fetches the file from the places AdMob would look and flags a missing file, HTML instead of text, and a missing or wrong AdMob line.
Why it fails: the common errors
Google’s troubleshooting page lists the causes below. In practice the first three cover most cases.
- File not found: wrong path, wrong host, or the site serves an HTML page instead.
- Developer website missing from the store listing, or an invalid URL there.
- File hosted on a subdomain the crawler does not check (more than one level down).
- File not formatted correctly: a typo in the publisher ID, a missing comma, or "pub-" missing.
- The crawler is reading the file from a different link than the one you edited.
- robots.txt blocks the crawler.
- No status at all: AdMob shows a status only for apps that had ad requests in the last seven days.
After the file: link the app in AdMob
app-ads.txt is checked against the store listing, so AdMob must know which listing is yours. Once the app is live, open AdMob → Apps → App settings → Add app store details and link it. Linking also starts AdMob’s app review; Google says reviews typically take 2–3 days and that apps may see limited ad serving during the review. The full switch from test ads to your own IDs is in our guide to moving a Unity game from AdMob test ads to real ads.
Choosing networks to put in the file? Our overview of ad networks for hypercasual games covers mediation and bidding. Everything else for release day is on the Publish toolkit page.
Sources: Google AdMob Help, "Set up an app-ads.txt file for your app" (support.google.com/admob/answer/9363762) and "Troubleshoot app-ads.txt issues" (support.google.com/admob/answer/9776740); "Get your app ready for review" (support.google.com/admob/answer/10564477); IAB Tech Lab app-ads.txt publisher advisory. Last verified 27 October 2026.