Learn · Relationships
DIRECT vs RESELLER in app-ads.txt
Updated Oct 7, 2026 · data from 12 App Store genres · top free + top grossing charts · US · iOS + Android
Why the label matters
Buyers use it in supply-path optimization: all else being equal, they prefer paths that go straight to the publisher over paths through intermediaries. The label is a claim about who operates the account, and buyers can check it against the ad system's sellers.json, where the same account is described as PUBLISHER, INTERMEDIARY or BOTH.
How the two files should line up
| app-ads.txt says | sellers.json usually says | Consistent? |
|---|---|---|
| DIRECT | PUBLISHER, with the publisher's domain | Yes |
| DIRECT | INTERMEDIARY | No: the ad system describes a reseller's account |
| RESELLER | INTERMEDIARY | Yes |
The most common mistake
A monetization partner sends a block of lines for its own seats, and some are marked DIRECT. Pasted into many publishers' files, the same account ends up marked DIRECT by dozens of unrelated companies. Only one company can control an account, so this pattern is inconsistent with the specification.
In this index we found 3,513 accounts marked DIRECT in the files of three or more unrelated companies. In the typical top US app, 22% of DIRECT lines conflict with public data, with the highest share in Games (53%).
A quick self-check
- For each DIRECT line, can you log in to that account, and does the ad system pay your company?
- Does the ad system's sellers.json list the account as PUBLISHER with your domain (or your OWNERDOMAIN)?
- If either answer is no, ask the partner who supplied the line whether RESELLER is correct.
Related
- Why is my DIRECT line flagged as inconsistent?
- OWNERDOMAIN and MANAGERDOMAIN
- How the index checks files
Based on the IAB Tech Lab ads.txt/app-ads.txt and sellers.json specifications. Numbers are automated observations of public files on the date above.