Browse the help center

Publish your ads.txt and app-ads.txt

Get the ads.txt (or app-ads.txt) lines for your site from your network, publish them at the root of your domain and confirm them with the nightly check or Re-check now — where the lines come from, what each check result means and how the live file is fetched and compared.

How-to publisher network manager Account → Publishers → site → Basic info → Supply chain

What it is and why

Your ads.txt has to authorise the network that sells your inventory, or buyers bid less or not at all. The lines come from your network, and the site’s Supply chain block that shows them (with Re-check now) needs the Site Supply Chain permission, which no stock role has — ask your network manager for the lines and the check. The consent half of going live is on Pass consent and privacy signals to the ad server.

Example. Buyers crawling https://example.de/ads.txt find northwind-ads.example, 4831207, DIRECT — the network’s seller domain, the site’s seller ID and the relationship — and keep bidding. The same pair is what they find in the network’s sellers.json.

Typical scenarios

You haveDoWhere
A new site going livePublish the lines from the site’s Supply chain section at https://<root domain>/ads.txt, then press Re-check now — or ask your network manager to, if the block is not on your roleAccount → Publishers → the site (the Site Supply Chain permission); your web server
An appPublish app-ads.txt on the developer website listed on the store pageThe developer website
A file you already publish for other sellersKeep those lines and add the network’s blockhttps://<root domain>/ads.txt

Step by step

  1. Ask your network manager for your ads.txt lines (or app-ads.txt for apps) and publish them at the root of your domain (see ads.txt and app-ads.txt). The network manager copies or downloads them from the Supply chain section of the site’s Basic info.

    Site Supply chain section with the ads.txt lines grouped by source, Copy and Download, and the last check with one missing line

  2. After publishing the file, press Re-check now on the site and confirm All lines present — or ask your network manager to, if the Supply chain block is not on your role.

ads.txt and app-ads.txt

Your ads.txt (or app-ads.txt for an app) tells buyers who may sell your inventory. The lines come from your network:

  • its own line — the network’s seller domain, your seller ID and DIRECT (RESELLER when the network lists your site as an intermediary’s), the same pair buyers find in the network’s sellers.json (see Supply chain and sellers.json);
  • the lines of the ad systems it sells through — lines the network adds for every site, lines added to your site alone (for example a header-bidding partner’s), and the lines of each demand partner whose tag runs on your site (an exchange, another network’s ad tag, a DSP seat). Each is that system’s domain, the account there and, usually, RESELLER. An ordinary advertiser that only buys has no line: ads.txt lists sellers.

The network manager finds the exact lines in the Supply chain section of the site’s Basic info (Account → Publishers → the site), grouped by why each line is needed, ready to copy or download as one file. Worked examples: Supply chain, sellers.json and ads.txt: setup by scenario. Publish them at https://<your domain>/ads.txt — for an app, app-ads.txt on the developer website listed in its store page, which is the Developer website of an app site — and keep any lines you already have for other sellers.

The platform checks the live file every night — on a network where at least one role holds the Site Supply Chain permission (enabled or read-only), which is what shows the result — and the section shows the result:

ResultWhat it means
All lines presentEvery required line is in the file.
Missing lines: NThe file exists but lacks the lines listed under Missing from the live file — or has no line at all from the ad system of a header-bidding partner on your site.
File not foundNo file at the root domain of the site URL — or the address answers an error, a web page instead of a text file, or a redirect chain the IAB rules do not accept. The card shows the reason.
Could not checkThe site did not answer over HTTPS or HTTP, timed out, or its host — or a redirect it answered with — is not a public address. The card shows the reason.
No domain to checkThe site has no URL to check.

Re-check now (Site Supply Chain enabled) checks again within a few seconds — use it after publishing changes. A file is compared on its domain, account ID and relationship; letter case is ignored except in the account ID, and the certification ID and extra fields are not compared.

If your network resells your inventory through header bidding, these are the lines buyers check; a missing or outdated line makes buyers bid less or not at all. See Header bidding: what a publisher installs.

Caveats and exceptions

How the file is fetched. The check reads the root domain of the site URL (news.sportsdaily.co.uk is checked at sportsdaily.co.uk), HTTPS first and HTTP only when HTTPS cannot be reached. It follows redirects within that root domain plus one hop outside it, as the IAB ads.txt 1.1 rules say, and reads the first 1 MB of the file. Sites sharing one domain are fetched once per night and judged each against its own lines. A partner added later is not flagged as missing until the next check — press Re-check now. The requests carry the user agent Mozilla/5.0 (compatible; ads.txt check); bot protection that refuses it answers with an error, which the section shows as File not found with the status code.

Who does what between publisher, network manager and administrator is on Privacy signals and ads.txt on your pages.

Not working?

  1. File not found although the file is there. Where: https://<root domain>/ads.txt in a browser — a file on a subdomain is not read; your CDN or bot rules, if the status code shown is an error.
  2. Missing lines: N right after publishing. Where: the result is from last night’s check — press Re-check now (Site Supply Chain enabled), or ask your network manager to.
  3. The check result is not shown at all. Where: the roles — no role on the network holds the Site Supply Chain permission, so the nightly check does not run; ask the administrator to grant it, enabled or read-only.

The full symptom table, consent and ads.txt together, is on Privacy signals and ads.txt on your pages.

Reference

The check’s fixed values (schedule, root domain, redirects, 1 MB, user agent) and the REST calls that read the lines and queue a re-check are on Options and fields. The network manager’s side — seller IDs, demand partners’ lines, the causes of each missing line — is on Supply chain, sellers.json and ads.txt: setup by scenario.

Related pages

Please disable Adblock
Are you using adblock? Disable it and reload the page to proceed to the destination page.

A registration has already been submitted from this page. Please try again in 10 minutes.