Manage: app-ads.txt Files
An app-ads.txt file authorises the companies allowed to sell the advertising in your mobile apps and CTV inventory. It uses the same record format as ads.txt, and it is a separate file on purpose: the specification gives it a different name so that your app and website configurations are managed separately and cannot conflict with each other.
app-ads.txt files are included on the Publisher and Ad Network plans.
Add an app-ads.txt file
Go to Manage and use Add Domain. Choose /app-ads.txt from the dropdown beside the domain name, and enter the domain your app store listing points at.
If you already manage the ads.txt file for the same domain, add that domain a second time for app-ads.txt. One domain name can hold both files, and the pair only counts once against your plan's domain allowance. Each file then has its own records, its own verification, its own delivery settings and its own version history, so a change to one never touches the other.
To partition your authorised sellers between individual apps, the specification's answer is a separate developer domain or subdomain per app, so add one app-ads.txt file here for each developer domain you use.
Where your app-ads.txt file has to be published
This is the one that catches people out, because nothing about it looks broken. Your app-ads.txt file is not found by crawling your app. It is found from the developer URL on your app store listing, and that URL is canonicalized to a domain name before /app-ads.txt is requested.
So if your listing points at https://www.example.com/support, verifiers read https://example.com/app-ads.txt. A file published at www.example.com/app-ads.txt returns 200, validates perfectly, and is read by nobody at all.
Paste your file's URL into our validator and it will tell you the exact URL a verifier will request. There is more detail in Where should my app-ads.txt file be published?
Copy your ads.txt records across
Most app-ads.txt files start out as a copy of the website ads.txt. Open your app-ads.txt file, go to the Import tab, and use Copy from ads.txt. The same button appears on an ads.txt file as Copy from app-ads.txt, so it works in both directions.
Two kinds of record are deliberately left behind, and we tell you when that happens:
- SUBDOMAIN records, because the variable has no meaning in an app-ads.txt file.
- Records that come from a collaborate group, because a copy would stop matching the group the next time the group changed. Add this domain to the same group instead, under Collaborators.
If you want the two files to stay identical from now on, put both of them in the same collaborate group rather than copying again: a group updates every domain it is applied to, so there is nothing left to keep in step by hand.
Two differences from an ads.txt file
- The SUBDOMAIN variable is unused in an app-ads.txt file and is ignored, so a SUBDOMAIN line there has no effect whatsoever. Our validator warns you if it finds one.
- An INVENTORYPARTNERDOMAIN reference is followed to your partner's ads.txt file, not to their app-ads.txt file, so ask your partner for the records in that file.
Verifying and publishing
Everything else works exactly as it does for an ads.txt file. Verify the domain, then choose how the file gets published:
- Connect Hosting, a redirect from your own
/app-ads.txtto us, which the standard explicitly allows. - Connect FTP, which uploads the file to your server for you.
- Or download the file and upload it yourself.
The WordPress plugin serves an app-ads.txt file too, from version 1.2.0 of the plugin onwards: it keeps a separate app-ads.txt path of its own, so your two files never overwrite each other. If your installation is running an earlier version, connecting it to an app-ads.txt file is refused and the tab asks you to update the plugin first.
No authorised sellers yet?
Do not publish an empty file. An app-ads.txt file with no records tells crawlers that nobody may sell your inventory, which is worse for you than having no file at all, and a completely empty file was deprecated in March 2020. If you genuinely authorise nobody yet, the specification asks for a single placeholder record, and the editor offers to add it for you whenever your file has no records.
If you need a hand setting this up, please contact support.
Usage Documentation
- Apply one group as DIRECT or RESELLER per domain
- Collaborate
- Collaborate: Collaborator Certification
- Collaborate: Group
- Collaborate: Group: Settings
- Getting Started Guide for Ad Networks
- Getting Started Guide for Publishers
- Manage
- Manage: app-ads.txt Files
- Manage: Domain
- Manage: Domain: Settings
- Manage: Domain: Settings: Connect FTP
- Manage: Domain: Settings: Connect Hosting
- Manage: Domain: Settings: Connect WordPress
- Manage: Domain: Verify Domain
- Security: reporting a vulnerability
- Setting up your ads.txt redirect, by platform