app-ads.txt helps buyers verify which advertising systems are authorized to sell or resell an app’s inventory. The file is simple text, but implementation failures often happen before a crawler reaches it: the store listing points to the wrong website, the domain redirects unexpectedly or the seller relationship is mislabeled.

The reliable way to manage app-ads.txt is to treat it as a discovery chain with named owners, routine validation and a change process tied to demand-partner onboarding.

KEY TAKEAWAYS
  • Start with the developer website listed in each app store.
  • Serve app-ads.txt from the discoverable developer domain over HTTPS.
  • Classify DIRECT and RESELLER relationships accurately.
  • Reconcile the file with partner documentation and seller records on a schedule.
01

Understand the discovery chain

The app store listing provides a developer website. A crawler uses that website to derive the developer domain and then requests the app-ads.txt file from the standardized location. If the store field is missing, points to a social profile or lands on a domain the developer does not control, a perfect file elsewhere may never be found.

Document the chain for every store and app: store listing, developer website URL, final canonical domain, app-ads.txt URL and responsible owner. Test it as an external crawler would, without relying on internal knowledge.

02

Build each record from the commercial relationship

A record identifies an advertising system, the publisher or seller account within that system, the relationship type and, where applicable, the certification authority ID. Use the exact values supplied by the partner and verify that the account belongs to the entity authorized to sell the inventory.

DIRECT means the app publisher directly controls the account identified in the record. RESELLER means another entity controls that account and is authorized to resell the inventory. The labels describe account control, not whether the commercial contact feels direct.

03

Avoid the most common implementation failures

Common failures include publishing the file on a marketing subdomain that is not discoverable from the store listing, copying a web ads.txt file without validating app relationships, retaining seller IDs after a partner is removed and using DIRECT for every line. Redirect chains, access rules and content-management changes can also make a previously valid file unavailable.

  • Keep the store developer website current for every regional listing.
  • Return the file successfully over HTTPS without authentication or bot challenges.
  • Use one validated record per authorized relationship.
  • Remove stale records when contracts, accounts or intermediaries change.
  • Keep comments and internal documentation separate from the authoritative record list.
04

Validate beyond the file itself

A syntactically correct record can still point to an unexpected seller. Review the corresponding seller disclosures and the supply-chain information available in bid requests. The business domain, seller type and role should make sense for the relationship the publisher believes it has.

Escalate mismatches rather than adding more records defensively. A longer file is not automatically a better file; unnecessary paths can make inventory harder for buyers to understand.

05

Make maintenance part of partner operations

Add app-ads.txt review to demand onboarding and offboarding. Assign an owner across monetization, engineering and store operations. Run a scheduled check of discoverability, HTTP status, record syntax and partner status, then retain an audit trail of changes.

This turns authorized-seller hygiene into a repeatable control. It also shortens troubleshooting when a buyer reports that inventory is missing, unauthorized or routed through an unexpected intermediary.

FAQ

Questions teams ask

Where should app-ads.txt be hosted?

It should be available at the standardized app-ads.txt path on the developer domain that crawlers derive from the app-store developer website.

What is the difference between DIRECT and RESELLER?

DIRECT indicates that the app publisher controls the account in the advertising system. RESELLER indicates that another authorized entity controls that account.

How often should app-ads.txt be reviewed?

Review it whenever a demand relationship or seller account changes and run a scheduled validation to catch store, domain, hosting and stale-record issues.

PRIMARY SOURCES