> The 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.

Source: https://appsupplyindex.com/fix/inconsistent-direct · Updated: 2026-10-07 · License: CC BY 4.0 (App Supply Index)

---
[Learn](https://appsupplyindex.com/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 answer:** The 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.

**533 of 883**
ad-monetized top US apps in this index have this finding (60%)

## 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](https://appsupplyindex.com/learn/ownerdomain-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.

- [Word Search Explorer®](https://appsupplyindex.com/app/ios-1602508478) · PlaySimple Games Pte Ltd
- [Authenticator ℠ App](https://appsupplyindex.com/app/ios-6754900760) · BEGAMOB GLOBAL LIMITED
- [iCardiac: Heart Rate & Health](https://appsupplyindex.com/app/ios-6468660073) · BEGAMOB GLOBAL LIMITED
- [Universal Remote TV Control ·](https://appsupplyindex.com/app/ios-1581765635) · BEGAMOB GLOBAL LIMITED
- [FaceVital: Health Monitor](https://appsupplyindex.com/app/ios-6773569672) · BEGAMOB GLOBAL LIMITED
- [Glucera: Blood Sugar Tracker](https://appsupplyindex.com/app/ios-6796661353) · BEGAMOB GLOBAL LIMITED
- [My Sticker Room - Decor Game](https://appsupplyindex.com/app/ios-6743738094) · SayGames LTD
- [Sand Blocks: Drop Puzzle](https://appsupplyindex.com/app/ios-6757140488) · Rollic Games Oyun Yazilim ve Pazarlama Anonim Sirketi
- [Color Block Jam](https://appsupplyindex.com/app/ios-6504332779) · Rollic Games Oyun Yazilim ve Pazarlama Anonim Sirketi
- [Car Sort: Color Puzzle](https://appsupplyindex.com/app/ios-6758138698) · Rollic Games Oyun Yazilim ve Pazarlama Anonim Sirketi
- [Woodoku Blast: Block Puzzle](https://appsupplyindex.com/app/ios-6608975929) · Tripledot Studios Limited
- [Wizz App - chat now](https://appsupplyindex.com/app/ios-1452906710) · VLB

[All apps →](https://appsupplyindex.com/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

- [What is app-ads.txt?](https://appsupplyindex.com/learn/what-is-app-ads-txt)
- [DIRECT vs RESELLER](https://appsupplyindex.com/learn/direct-vs-reseller)
- [How the index checks files](https://appsupplyindex.com/methodology)

Based on the [IAB Tech Lab
ads.txt/app-ads.txt](https://iabtechlab.com/ads-txt/) and [sellers.json](https://iabtechlab.com/sellers-json/)
specifications. Numbers are automated observations of public files on the date above.
