App Supply Index Check my app

Learn · How to fix

Why is my app-ads.txt DIRECT line flagged as inconsistent?

Updated Oct 7, 2026 · data from 12 App Store genres · top free + top grossing charts · US · iOS + Android

Short answerThe ads.txt specification defines DIRECT as an account the publisher directly controls. A DIRECT line is inconsistent when the ad system's own sellers.json lists that account as an INTERMEDIARY, or when the same account is marked DIRECT in the files of three or more unrelated companies.
544 of 883 ad-monetized top US apps in this index have this finding (62%)

Why it matters

Buyers increasingly use the DIRECT label in supply-path optimization: they prefer paths that go straight to the publisher. When a line says DIRECT but public data describes the account as a reseller's, buyers that check sellers.json may treat the line differently, and the path may carry an extra hop the label doesn't show.

A common cause is partner-supplied blocks of lines: a monetization partner sends a list of its seats, and some are labeled DIRECT. If the account is operated by the partner rather than by your company, the specification calls for RESELLER.

How to fix it

  1. Open the app's report and check each flagged line's evidence: the reason, the number of companies, and the name and domain shown in the ad system's sellers.json.
  2. Ask the partner who supplied the line whether the account is yours (you control it and are paid by the ad system directly) or theirs.
  3. If it's theirs, change the relationship to RESELLER. If it's yours under another company domain, add OWNERDOMAIN so the link is explicit.

More on declaring your company domain: OWNERDOMAIN and MANAGERDOMAIN.

Before

pubmatic.com, 156xxx, DIRECT, 5d62403b186f2ace   # seat operated by a partner

After

pubmatic.com, 156xxx, RESELLER, 5d62403b186f2ace

Apps with this finding

Each report lists the exact lines involved.

All apps →

Questions

Is an inconsistent DIRECT line fraud?

No. The check compares public files with each other. It describes what the files say, not anyone's intent; most cases come from copied partner blocks.

Our mediation partner told us to use DIRECT. Who is right?

The specification ties DIRECT to control of the account. It also notes that DIRECT tends to mean a direct business contract, which some partners rely on. Each finding shows the underlying data so you can decide; if the partner operates the seat, RESELLER is the reading that matches the specification.

Why does sharing an account across companies matter?

A publisher's own account belongs to one company. When the same account is marked DIRECT by many unrelated companies, it can't be each of theirs.

Related

Based on the IAB Tech Lab ads.txt/app-ads.txt and sellers.json specifications. Numbers are automated observations of public files on the date above.