Anyone can claim to sell ads for nytimes.com. A scammer can spin up a fake site, label its junk inventory as "nytimes.com," and pocket the premium. ads.txt is how the New York Times publicly says: no, only these specific companies are actually allowed to sell us.
ads.txt (Authorized Digital Sellers) is a plain text file a publisher hosts at the root of its domain, at /ads.txt. It lists exactly which SSPs and exchanges may sell that publisher’s inventory, and under which account. Its whole job is to kill that spoofing.
The line format
Every data line has the same shape: <SSP domain>, <publisher account ID>, <DIRECT|RESELLER>, [certification authority ID]. The fourth field is optional.
google.com, pub-1234567890123456, DIRECT, f08c47fec0942fa0
pubmatic.com, 156209, RESELLER- SSP domain is the canonical domain of the system the publisher sells through, for example
pubmatic.com. - Publisher account ID is the publisher’s account inside that SSP. It must reappear as a
seller_idin the SSP’s sellers.json (the reciprocity check in the next lesson). - DIRECT or RESELLER states the relationship. DIRECT means the publisher has a direct contract with that SSP; RESELLER means the publisher authorized a third party to resell it.
- Certification authority ID is the SSP’s ID in the TAG trust registry, an extra integrity anchor when present.
Key idea
A DIRECT line is a first-party relationship and the shortest possible path. A RESELLER line means an intermediary sits in the chain. A file dominated by RESELLER lines is a longer, less transparent supply chain, exactly what the Bidcliq Academy quality score penalizes.
Quick check
You see the line `pubmatic.com, 156209, RESELLER`. In plain English, what is it telling a buyer?
The variables
| Variable | Meaning |
|---|---|
| OWNERDOMAIN | The entity that owns the site and its inventory. Added in v1.1 to assert true ownership. |
| MANAGERDOMAIN | The entity that manages monetization (for example an outsourced ad-ops partner). Can be scoped to a region. |
| SUBDOMAIN | Declares a subdomain that maintains its own ads.txt file. |
| CONTACT | A contact address for questions about the file. |
app-ads.txt
app-ads.txt is the same idea for mobile apps and CTV. Apps have no web root to crawl, so the app store listing declares the developer’s website, and the crawler fetches app-ads.txt from that domain’s root. Same line format, different inventory type.
Note
Malformed lines (wrong field count, an unrecognized type) are ignored by buyers. In a Bidcliq Academy audit they are surfaced rather than silently dropped, so a syntax error is visible instead of quietly costing the publisher authorization.