Programmatic advertising can involve publishers, ad servers, supply-side platforms (SSPs), exchanges, resellers, and other technology providers. Advertisers need reliable ways to understand who is authorised to sell inventory and how sellers are represented in the transaction. The IAB Tech Lab’s ads.txt, app-ads.txt, and sellers.json initiatives help provide transparency about these relationships.
These records are useful signals, not a complete guarantee of inventory quality or transaction legitimacy. They need to be maintained accurately, interpreted in context, and considered alongside supply-chain information, platform reporting, contracts, and traffic-quality controls.
What Is Ads.txt?
Ads.txt stands for Authorised Digital Sellers. It is a text file that a website publisher places on its domain to identify companies authorised to sell its digital advertising inventory. Buyers and advertising systems can use the file to help check whether a selling account is declared as authorised for that publisher.
For a website, the file is commonly published at the root of the domain, for example, https://example.com/ads.txt. The actual records depend on the publisher’s advertising partners and selling relationships. A publisher should obtain the correct entries from each relevant partner rather than copying another site’s file or adding sellers without verification.
What Is App-Ads.txt?
App-ads.txt extends the authorised-seller concept to mobile applications and other supported app environments. App publishers use it to declare authorised sellers of their app advertising inventory. The file is associated with the app’s developer website as specified through the relevant app-store or platform setup.
App publishers should confirm the correct developer website and follow the current technical requirements for each app store and advertising partner. A file placed on an unrelated domain or linked to the wrong app information may not provide the expected verification signal.
What Is Sellers.json?
Sellers.json is a file used by participating advertising systems to disclose information about sellers represented in their supply. It can help buyers identify the business associated with a seller account and understand whether that entity is represented as a direct seller or an intermediary, according to the applicable records and definitions.
Unlike ads.txt and app-ads.txt, which are published by the inventory owner on its domain or associated app developer website, sellers.json is generally published by the advertising system that maintains the seller records. Buyers should check the relevant provider’s official documentation to find and interpret its file.
Ads.txt vs. App-Ads.txt vs. Sellers.json
| Record | Typical publisher or owner | Main purpose | Where to check |
|---|---|---|---|
| ads.txt | Website publisher | Declares authorised sellers of website advertising inventory | The publisher’s domain, commonly /ads.txt |
| app-ads.txt | App publisher or developer | Declares authorised sellers of app advertising inventory | The developer website associated with the app, following platform requirements |
| sellers.json | Participating advertising system or intermediary | Provides information about seller accounts represented by that system | The provider’s documented sellers.json location |
| SupplyChain object | Included in supported programmatic transaction data | Describes participating entities in a particular transaction path | Available bid-request or transaction reporting data |
The records complement one another. An authorised-seller file can show which accounts a publisher declares, while sellers.json can help identify the business represented by an account. A SupplyChain object can provide transaction-level information about participating entities where supported. None of these alone proves that an impression is viewable, free of invalid traffic, or commercially valuable.
Understanding Ads.txt Record Fields
An ads.txt entry commonly contains a seller’s advertising system domain, the publisher or seller account ID, a relationship type, and an optional certification authority ID. Each field has a defined purpose, and the values should come from the relevant advertising partner’s official instructions.
- Advertising system domain: Identifies the system managing the seller relationship.
- Publisher or seller account ID: Identifies the account associated with the publisher’s inventory on that system.
- Relationship type: Commonly indicates DIRECT or RESELLER, depending on the actual business arrangement.
- Certification authority ID: An optional identifier associated with a recognised certification authority where applicable.
Use the exact syntax and values provided by the partner. Avoid inventing account IDs, changing field order, or assuming that a partner should be marked DIRECT simply because the publisher has a commercial relationship with it. The relationship should reflect the actual account and selling arrangement.
DIRECT vs. RESELLER: What Is the Difference?
In ads.txt and app-ads.txt, DIRECT generally indicates that the publisher controls the relevant seller account with the advertising system. RESELLER generally indicates that the publisher has authorised another entity to resell its inventory through that account or relationship. The correct declaration depends on the actual arrangement and the applicable technical definitions.
These labels should not be treated as a simple quality ranking. A legitimate reseller can provide a valid route to inventory, while a DIRECT record does not guarantee that every transaction is high quality. Buyers should validate records alongside seller identity, transaction data, and other quality signals.
How Website Publishers Can Check Ads.txt
- Open the root-level ads.txt URL for your website in a browser.
- Confirm that the file loads successfully and is not blocked by an unintended redirect, access rule, or server error.
- Compare each entry with the current instructions and account information supplied by your advertising partners.
- Check for missing, duplicated, outdated, or incorrectly formatted entries.
- Confirm that DIRECT or RESELLER reflects the real seller relationship.
- Remove entries only after verifying that the related selling relationship has ended and that removal will not disrupt a legitimate setup.
- Recheck the public file after updates and allow partner systems time to recrawl it.
For example, a publisher using several authorised monetisation partners may have entries for each relevant seller account. The exact records differ by partner and account. Do not paste example IDs from online articles into a live file; use your own verified partner records.
How App Publishers Can Check App-Ads.txt
- Identify the official developer website associated with the app listing.
- Confirm that the website and app information match the current platform requirements.
- Publish app-ads.txt at the required location on the developer domain.
- Request the correct seller entries from each authorised monetisation partner.
- Check formatting, account IDs, relationship types, and availability over HTTPS where required.
- Use partner diagnostics or app-store advertising tools, where available, to check whether the file is discovered and processed.
- Revisit the file whenever the app’s monetisation partners or seller accounts change.
How Buyers Can Check Sellers.json
- Identify the advertising system or intermediary shown in the relevant transaction or seller record.
- Find the official sellers.json location through that provider’s documentation.
- Search for the seller account ID used in the transaction, where the file and disclosure permit.
- Compare the disclosed seller name and account information with the publisher, reseller, or partner information available to you.
- Investigate missing, inconsistent, or unexpected records with the provider instead of assuming misconduct from one discrepancy.
- Record the result alongside other supply-chain checks and the transaction details.
Some records may use confidentiality-related fields or omit certain details under the applicable specification and provider setup. A missing public name does not, by itself, establish that a seller is fraudulent. Follow up with the provider and assess the broader evidence.
Common Ads.txt and Sellers.json Problems
The ads.txt file returns an error
Check the URL, server response, DNS, redirects, access controls, caching, and hosting configuration. Make sure the file is published at the intended location and can be retrieved by systems that need to inspect it. If a content delivery network or security plugin is involved, check that it is not unintentionally blocking the file.
A seller entry is missing
Contact the relevant advertising partner to confirm the account ID and required record. A partner may have changed its system domain, account structure, or onboarding instructions. Add or update records only after verifying the information.
The relationship type appears incorrect
Ask the partner to confirm the underlying seller-account relationship. Do not change DIRECT to RESELLER, or the reverse, based on guesswork. The declaration should match the actual arrangement and the relevant specification.
Seller information does not match
Check for account migrations, legal-name changes, outdated records, or differences between a trading name and registered entity. Confirm the account with the provider and document the explanation. If the inconsistency remains material, escalate it before treating the route as trusted.
Updates are not reflected in platform diagnostics
Allow time for caching and recrawling, then check the public file again and consult the provider’s diagnostic tools. Confirm that the platform is checking the correct domain or app developer website. If the issue persists, share the exact URL and relevant account information with partner support.
How These Records Support Supply Path Optimization
Supply path optimization (SPO) evaluates the routes advertisers use to access publisher inventory. Ads.txt, app-ads.txt, sellers.json, and transaction-level supply-chain information can help teams understand authorised selling relationships and investigate unknown or unexpected entities.
These checks should be part of a broader process that considers fees, inventory quality, reach, viewability, invalid traffic, performance, and reporting. A path should not be removed solely because it includes a reseller; first determine whether the relationship is authorised, what value it provides, and whether the transaction data supports keeping it.
For a broader process, read our guide to supply path optimization.
Publisher Maintenance Checklist
- Keep a current inventory of authorised advertising partners and account IDs.
- Store partner instructions and the reason each seller record exists.
- Review ads.txt or app-ads.txt when onboarding or removing a partner.
- Check the public file after updates and monitor partner diagnostics.
- Remove outdated records only after confirming that the relationship has ended.
- Protect the file from accidental overwrites by plugins, deployments, or manual edits.
- Keep accurate contact and ownership information for advertising partners.
- Review privacy, security, and traffic-quality controls separately from seller authorisation.
Advertiser Verification Checklist
- Identify the seller account and supply route for the impressions being evaluated.
- Check the publisher’s relevant ads.txt or app-ads.txt records where applicable.
- Consult the appropriate sellers.json file and transaction-level supply-chain data when available.
- Compare seller identity and relationship information across records.
- Investigate discrepancies with the relevant provider and document the response.
- Review fees, quality, placement reporting, invalid traffic, and campaign performance.
- Recheck important routes periodically and after material partner changes.
Frequently Asked Questions
Does ads.txt guarantee that an ad impression is legitimate?
No. Ads.txt helps identify declared authorised sellers for a website’s inventory. It does not independently guarantee that a specific impression is valid, viewable, brand-safe, or correctly measured.
Do all websites need app-ads.txt?
App-ads.txt is intended for supported app advertising inventory. A website publisher without an app does not normally need an app-ads.txt file merely because it has ads.txt. App publishers should follow the requirements of their platforms and advertising partners.
Who publishes sellers.json?
Participating advertising systems publish sellers.json records for seller accounts they represent, following the relevant specification and disclosure rules. Publishers should consult the provider’s official documentation for its file and account information.
Is DIRECT always better than RESELLER?
No. These values describe the seller relationship, not a universal quality score. Buyers should verify that the declared relationship is accurate and evaluate the route using transparency, quality, cost, and performance evidence.
How often should ads.txt be updated?
Review it whenever authorised seller relationships, account IDs, or partner instructions change, and periodically as part of routine monetisation maintenance. There is no single review interval that fits every publisher.
Conclusion
Ads.txt, app-ads.txt, and sellers.json help make programmatic advertising supply relationships easier to inspect. When maintained and interpreted correctly, they can help publishers declare authorised sellers and help buyers investigate who is represented in a transaction.
Use the records as part of a broader verification process. Keep files accurate, confirm account details with partners, investigate discrepancies carefully, and combine supply-chain checks with commercial transparency, traffic-quality controls, and performance measurement. This approach supports more accountable and better-informed advertising decisions.