A store link is best: it checks the website the listing actually names, which is the one the crawler reads.

In AdMob under Settings, Account information. It's public anyway: it sits in every app-ads.txt that lists you.

Or try one:

Why AdMob says it can't find your file

AdMob doesn't look on whatever site you think of as yours. It reads the developer website from the store listing, takes that exact host, and asks for /app-ads.txt at its root. Most “not found” messages we've seen come down to one of these:

What gets checked

The format is the IAB Tech Lab's app-ads.txt spec. Each record has three or four comma-separated fields: the ad system's domain, your account id with it, DIRECT or RESELLER, and an optional certification id. The checker flags lines with the wrong number of fields, a URL where the domain should be, or a misspelt DIRECT. It also catches curly quotes or invisible characters pasted from a document, a known network's certification id that doesn't match, repeated lines, and variables the spec doesn't define.

It also reports how the file was served: missing, redirected, sent as HTML, sent as something other than text/plain, or saved with a byte order mark. It doesn't check sellers.json, because Google's is many megabytes.

Privacy

An App Store link is looked up with Apple's public lookup API from your browser. A Play listing and the app-ads.txt file are fetched by our server, because browsers can't read another site's files. It only ever asks for the public Play page and https:// plus the host plus /app-ads.txt, and keeps the answer for ten minutes so repeat checks don't hit the site again. Your publisher id is checked in your browser and never sent. We keep no log of what was checked.

Catch it before release

A broken app-ads.txt is usually the last symptom of an ad setup problem that started in the app: a sample ad unit id left in, a sibling app's ids copied into a fork, or a consent form that never shows. Our App Compliance skill for Claude Code checks those in the source before you build. It works with Flutter, React Native and Expo apps.

The store listing checker is the other free tool here.