Basics
app-ads.txt vs ads.txt: what differs and what does not
By Stoqlab Research · Updated · 4 min read
app-ads.txt and ads.txt are the same idea with the same syntax. The IAB Tech Lab defines app-ads.txt as an extension of ads.txt, and says the only differences are how the file is found and the handling of subdomains. In practice that one difference causes most of the confusion.
Side by side
| ads.txt | app-ads.txt | |
|---|---|---|
| Covers | Inventory on a website | Inventory in apps distributed through app stores (mobile and CTV) |
| Lives at | /ads.txt on the site that shows the ads | /app-ads.txt on the developer website named in the store listing |
| How verifiers find it | From the page's domain in the bid request | From the store URL in the bid request → store listing → developer website |
| Seller lines | Identical: domain, account ID, DIRECT or RESELLER, optional certification ID | |
SUBDOMAIN | Supported | Unused, ignored |
| Subdomain lookup | The file of the domain being sold | One subdomain level is tried first, then the parent domain; www. and m. are dropped |
| Other variables | CONTACT, OWNERDOMAIN, MANAGERDOMAIN, INVENTORYPARTNERDOMAIN in both | |
The separate file name is deliberate: the specification keeps app and web authorisations apart so that changing one cannot break the other.
When you need both files
If your company sells inventory on its website and in its apps, and the website is also the developer website in your
store listings, you publish both files on the same domain: /ads.txt for the site, /app-ads.txt for the
apps. Copying all lines into both is common and harmless as long as each file is complete for what it covers. What does
not work is putting app sellers only in ads.txt: app verifiers never read it.
Mistakes that come from mixing them up
- The file is on the marketing site, but the listing points elsewhere. Verifiers follow the listing. If the App Store or Google Play listing names a different domain (an old one, a parent company, a link page), the file must be there.
- The developer website cannot host a root file. A social profile, a GitHub page or a link-in-bio service does not let you publish
/app-ads.txtat the root. Use a domain you control. - The file is only on www. For
https://www.example.comin the listing, verifiers requesthttps://example.com/app-ads.txt. Serve it on the bare domain, or redirect from it. - An
INVENTORYPARTNERDOMAINthat points to an app-ads.txt. The variable is followed to the partner's ads.txt only, one hop.
The app-ads.txt checker fetches a domain the way app verifiers do and shows which host and file it ended up reading. More on the format in What is app-ads.txt.