Ads.txt describes a publisher’s authorized-seller declarations, sellers.json describes an advertising system’s seller declarations, and an OpenRTB SupplyChain object describes parties declared in a transaction’s selling path. They are related evidence, not three interchangeable versions of the same file.
Start with the question you need to answer
| Evidence | Question | Typical place to investigate |
|---|---|---|
| ads.txt | Which seller accounts does this publisher declare? | The publisher website’s public file |
| sellers.json | What does this advertising system declare about an account? | The advertising system’s seller file |
| schain | Which selling-path nodes were declared for this transaction? | The relevant OpenRTB request evidence |
The IAB ads.txt resource and sellers.json resource explain the standards’ roles. Do not substitute a screenshot of a dashboard for the public declaration or actual request you intended to inspect.
A fictional seller-ID investigation
Suppose your notes contain the advertising-system domain exchange.example.com and seller ID seller-123. These are teaching values and must not be published as real authorizations.
- Inspect the publisher’s ads.txt and record the exact system domain, seller ID and relationship value.
- Look for that exact account in the appropriate sellers.json source. Do not silently substitute a similarly named account.
- If you are investigating an auction path, obtain the actual SupplyChain JSON from the relevant request. A generic example is not transaction evidence.
- Compare declared identifiers and record mismatches separately from fields that are missing or confidential.
- Ask the relevant provider to explain unresolved commercial or identity questions. A syntax validator cannot supply that proof.
Use each checker for its own scope
Use the sellers.json checker for an exact seller lookup, the schain validator for supplied JSON structure, and the ads.txt validator for pasted seller-record syntax. Preserve each result’s source and scope when combining notes.
A structurally valid object can still contain an identifier you have not independently verified. A missing public name can also have a different meaning from malformed JSON: Google’s seller-information guide explains confidential declarations in its file.
What the complete flag does not establish for you
The SupplyChain specification defines the object and its completeness declaration. Treat the supplied flag as a declaration to investigate, not your independent certification that no parties were omitted.
Must every ordinary publisher host sellers.json?
Do not create a file simply because its name appears in a checker. Determine which entity operates the advertising system and what your actual role requires under the standard and provider setup.
Does matching every visible ID prove safe traffic?
No. Identity declarations and transaction-path structure do not establish visitor quality, consent, content rights or an auction’s outcome.
Official references
References checked: 26 October 2026. Examples identified as fictional are teaching inputs, not performance benchmarks.