app-ads.txt tells buyers which sellers are authorised to sell your
inventory. When it is wrong, nothing breaks loudly — buyers quietly stop bidding on
your traffic, and you have no error to go and read.
The developer website does not match the store listing
This is the most common fault and the hardest to spot, because the file itself is
perfect. Crawlers find the file by reading the developer website field on your
store listing, then requesting /app-ads.txt from that domain. If the
listing points at an old domain, a landing page, or nothing, the crawler never arrives.
Check the listing field first, every time, before you debug the file.
It is served as the wrong content type
The file must come back as text/plain. A host that serves it as
text/html — which happens when a routing rule or a single-page app catches
the path — will not be parsed, even though the browser shows you the right text.
curl -sI https://yourdomain.com/app-ads.txt | grep -i content-type
It is not reachable the way the crawler asks for it
- Both
httpandhttpsshould answer. A redirect is fine. wwwand the apex should both resolve to the file.robots.txtmust not disallow it.- It lives at the root. Not in a subfolder, not behind a path.
Formatting faults that invalidate lines
- A missing final newline before an appended line. The new entry merges with the previous one and both become invalid. This is the single easiest way to break a working file while adding to it.
- A byte order mark at the start, courtesy of an editor saving as UTF-8 with BOM. It corrupts the first record.
- Smart quotes and en dashes, courtesy of pasting through a word processor.
- Wrong field count. Each line is three or four comma-separated fields. Anything else is skipped.
Duplicates are harmless, but tell you something
Networks hand you blocks to paste, and the blocks overlap. A file with twelve thousand lines and three thousand unique entries is common and crawlers ignore the repeats. It is not an error — but it is a sign the file has been pasted into rather than maintained, and that is usually where the other faults live too.
text/plain, and never
append without checking the file ends in a newline.
This is what we do day to day — app monetization at Factorial Studio.