AdOps Core
SUPPLY PATH

Why is my inventory flagged as an unauthorized seller (ads.txt)?

An 'unauthorized seller' warning means a buyer could not confirm your account is allowed to sell a domain's inventory, usually because the exchange's line is missing from the publisher's ads.txt file or the seller ID does not match sellers.json. DSPs then suppress or discount bids on that inventory.

By AdOps Core. Updated .

Check each authorization recordConceptual workflow
  1. Inventory identity
  2. Authorized account
  3. Seller identity
  4. Declared path

Use this sequence to organize the investigation. Confirm the details in the affected platform and campaign.

ads.txt, sellers.json and the SupplyChain object work together to prove a request came through an authorized path. ads.txt lists which exchanges and account IDs are allowed to sell a domain; sellers.json lets buyers look up who a seller ID belongs to; and the SupplyChain object records the path a request actually travelled.

The most common causes of an unauthorized-seller flag are a missing or mistyped ads.txt line for the exchange, a publisher account ID that does not match, a DIRECT vs RESELLER relationship error, or a SupplyChain seller ID that is not present in the exchange's sellers.json. Any of these breaks the chain of trust and can stop spend even when targeting looks open.

To fix it, add the exact line the exchange specifies to your ads.txt, confirm the account ID matches your sellers.json entry, and make sure the SupplyChain node uses the same authorized seller ID. Then re-test with a sampled bid request to confirm the buyer now treats the path as authorized.

Compare identifiers within each selling system

Seller IDs are scoped to an advertising system. Do not expect one universal ID to match across every exchange in a multi-hop path.

  1. Confirm the domain or app inventory being evaluated.
  2. Compare the advertising system domain and account ID with the partner's supplied entry.
  3. Check whether DIRECT or RESELLER reflects the actual account relationship.
  4. Look up the relevant seller in that system's sellers.json and inspect the corresponding SupplyChain node.

Read an illustrative ads.txt entry

The relationship field describes control of the account listed in the entry. It does not mean every impression travels directly to the final buyer.

Verify publication and buyer recognition

Check that the file is publicly reachable at the expected location and contains the correct entry. Then allow for the buyer's crawl and cache schedule and request a fresh diagnostic result.

A corrected file does not immediately establish that every downstream buyer has refreshed its authorization data. Keep publication evidence and the subsequent buyer result together.

Test your reasoning: Compare the right account

Original simulated exercise. This is not a real client case.

A buyer flags one seller path as unauthorized.

Evidence available

  • The exchange expects publisher account 64210.
  • The published entry contains 62410.
  • The exchange domain matches.

What would you verify before changing the file?

Read the answer and next check

Confirm the account value and relationship with the partner. The transposed digits are a specific mismatch; they do not justify replacing unrelated entries.

Next check: Check the corrected public entry, then a fresh buyer diagnostic after its crawl or cache refresh.

Research and further reading

Standard

These specifications describe seller identification and the declared transaction path. A valid authorization record does not establish that an impression is viewable, effective, or free of invalid traffic.

Read more on IAB Tech Lab sellers.json and SupplyChain
Research

ANA's 2023 research highlights transparency, data access, and supply-chain governance. It provides historical context for investigating buying paths. Its findings should not be treated as a current benchmark for every publisher or campaign.

Read more on ANA's December 2023 supply-chain study summary

Go deeper

FAQ

What is ads.txt?

ads.txt is a public file listing the exchanges and account IDs authorized to sell a domain's inventory. Buyers use it to avoid unauthorized or spoofed supply.

Does an ads.txt error stop a campaign?

It can. Many DSPs suppress or discount bids on inventory they cannot authorize, so a missing or wrong ads.txt line can cause a deal to underspend even though it appears active.

Continue learning

← All guides