Ads.txt is a public list on your domain naming who may sell your inventory. Sellers.json is the matching disclosure from each intermediary. Together they let buyers verify a chain, and an unmaintained ads.txt quietly costs demand.

The problem they were built for

Programmatic buying separates the buyer from the site by several intermediaries. A buyer sees inventory described as belonging to a domain and has no direct way to confirm the seller is entitled to sell it.

That gap was exploited by misrepresenting inventory as coming from well-known sites, which took real money out of the market and made buyers cautious about everything.

The response was a verification chain. A publisher publishes a public list of who may sell their inventory. Intermediaries publish who they are and who they represent. A buyer can then check a claim against both.

Ads.txt, and what it actually is

A plain text file at a fixed location on your domain, publicly readable, listing each authorised seller with an identifier and a relationship type.

The relationship distinction matters. A direct entry says the named party is authorised by you and controls the account. A reseller entry says they are authorised to resell inventory they obtained from somebody else.

Buyers treat those differently, and some buyers restrict themselves to direct relationships, which means how your entries are typed affects what demand you can access.

Getting the relationship wrong is a common error and it is not cosmetic.

Sellers.json, from the other side

The matching file published by intermediaries rather than by you, declaring the sellers they work with and whether each is a publisher or an intermediary.

A buyer can follow a chain from the inventory back through the intermediaries to a publisher, and check each hop against both files.

Which means your partners' disclosure affects you. An intermediary that declares its relationships poorly, or declines to declare them, makes your inventory harder to verify even when your own file is correct.

That is worth asking about when evaluating a partner, and almost nobody does.

How ads.txt goes wrong

It is copied from another site

The entries name accounts belonging to somebody else, which authorises nobody to sell your inventory and authorises sellers you have no relationship with.

It is never updated

Partners are added and removed over time. A file listing a network you left two years ago and missing the one you joined last month is inaccurate in both directions.

The missing entry is the expensive one, since inventory sold through an undeclared partner may simply not be bought.

It has a syntax error

A malformed line, a stray character, or the wrong number of fields can invalidate entries. Nothing announces this and revenue simply drops.

It is unreachable

Blocked by a rule, returning the wrong response, or not served at the exact expected path. Crawlers need it at a specific location and will not look elsewhere.

Subdomains are forgotten

Inventory served from a subdomain has its own considerations, and publishers running content on one frequently overlook it.

Checking yours

  1. Load it in a browser at the standard path and confirm it returns as plain text.
  2. Read every line and confirm you recognise the party named.
  3. Confirm each current partner is present, using the entries they supply rather than ones you assembled.
  4. Remove partners you no longer work with.
  5. Run it through a validator, which catches syntax problems you will not see.
  6. Diarise a review whenever a partner changes.

Always take entries from the partner directly. Their required identifiers change, and an out-of-date entry copied from a forum post is a line that does nothing.

What it does not do

Worth being clear, since expectations run ahead of the mechanism.

It does not raise your rates by itself. It removes a reason for buyers to avoid your inventory, which is a different thing.

It does not prevent misrepresentation. It makes misrepresentation detectable by buyers who check.

And it does not substitute for the rest: a correct file on a site with quality problems does not fix the quality problems.

The honest framing is that it is table stakes. Having it right earns nothing on its own, and having it wrong costs demand quietly, which is the worst kind of loss because nothing reports it.

How the demand side of that relationship is structured is covered in direct-sold vs programmatic, compared honestly.


Frequently asked questions

What is ads.txt?

A public plain text file at a fixed path on your domain listing each party authorised to sell your inventory, with an identifier and a relationship type.

Why does the relationship type matter?

Direct means the party is authorised by you and controls the account; reseller means they obtained the inventory elsewhere. Some buyers restrict themselves to direct.

What is sellers.json?

The matching disclosure published by intermediaries, declaring who they work with, so a buyer can follow a chain back to a publisher and verify each hop.

What is the most expensive error?

A missing entry for a current partner. Inventory sold through an undeclared party may simply not be bought, and nothing reports the loss.

Where should entries come from?

The partner directly. Their required identifiers change, and an entry copied from a forum post or another site's file does nothing.

Does a correct file raise rates?

No. It removes a reason for buyers to avoid your inventory. Having it right earns nothing on its own; having it wrong costs demand quietly.

West Coast Media Solutions Inc. provides web design, web development, hosting, digital marketing, and business consulting to organisations across Canada, drawing on more than twenty-five years in the field.

Never validated your ads.txt?

We check it against what each partner actually requires, which is usually where a missing line is costing demand.

Start a Conversation