Basics
DIRECT vs RESELLER in app-ads.txt
By Stoqlab team · Updated · 5 min read
Field #3 of every app-ads.txt line says who controls the account in field #2. DIRECT means the publisher, the
owner of the app, controls the account on that ad system, usually through its own contract. RESELLER means the
publisher authorised another company to control the account and resell the inventory through it. Both values come from
ads.txt 1.1, which app-ads.txt inherits unchanged.
Which one to write
| Situation | Relationship |
|---|---|
| You signed up with the network and it pays you | DIRECT |
| You hold an account with the network that runs your mediation platform, and it pays you | DIRECT |
| A partner's account sells your inventory on that network (a reseller, an ad network, a mediation partner's exchange seat) | RESELLER |
| An agency or monetization manager holds the accounts on your behalf | RESELLER for their accounts; consider MANAGERDOMAIN |
The test is who holds the account and receives the money from the network, not how close the partner feels. When a network's onboarding hands you a block of RESELLER lines for its partners, those accounts are theirs, not yours, and RESELLER is right.
How buyers check it
The relationship is compared with the account's seller_type in the network's
sellers.json. DIRECT should match a PUBLISHER entry,
ideally one whose domain is yours or your OWNERDOMAIN. RESELLER should match an INTERMEDIARY.
BOTH accepts either and proves neither.
Buyers running supply path optimisation prefer DIRECT paths because every reseller takes a fee. That is a reason to get DIRECT right, not to label resold accounts DIRECT: the contradiction is visible to anyone who opens the network's file.
Fixing a mismatch
A DIRECT line on an account sellers.json lists as INTERMEDIARY is usually a reseller's line pasted in with the wrong label. Change it to RESELLER; if the account really is yours, ask the network to list it as PUBLISHER instead.
The reverse, a RESELLER line on a PUBLISHER account, is most often your own account declared as RESELLER out of habit. Declare it DIRECT. If the account belongs to a partner, the network's listing is the thing to question.
The app-ads.txt checker flags both per line, and each network's page in the network directory shows how often publishers get its lines wrong. The other line-level problems are in the errors guide.
Spelling
The field is case-insensitive, so direct works. Anything else (DIRCT, Reseller, with a stray
character, DIRECT RESELLER) makes the whole line invalid, and parsers skip it.