GuideMonetization
How to audit ads.txt without accidentally cutting off ad demand
An ads.txt file is short, but the wrong seller ID can block a revenue path. Verify authorization, file delivery, redirects and partner instructions before editing.

On this page
An ads.txt audit begins with a deceptively simple question: which companies are allowed to sell ads on your site? If the answer in your ads.txt file differs from your actual contracts, demand can be routed incorrectly or not accepted at all. This is not a technical file to copy from another publisher.
The Google AdSense guide describes ads.txt as an IAB Tech Lab initiative to make authorized digital sellers visible to ad buyers. Google says the file is recommended rather than mandatory, yet incorrect identifiers can affect auctions and earnings. The decision to add or remove a line belongs to the publisher and the ad partner that supplied the authorization.
Inventory the sellers before touching the file
List the networks, exchanges, ad managers and resellers actually authorized under your current arrangements. Ask each partner for its latest exact ads.txt entry, including the system domain, seller account ID, DIRECT or RESELLER relationship, and any optional certification authority ID. Do not infer an entry from a company's marketing name or another site's file.
Check which root domains serve advertising. A file at https://example.com/ads.txt is not the same as an arbitrary CMS attachment or a text block on a page. If you monetize multiple domains, confirm each one's requirements. Keep a dated copy of the existing file before changes.
Check the syntax and the path
A basic seller record consists of comma-separated fields. For illustration only, Google documents this AdSense pattern: google.com, pub-0000000000000000, DIRECT, f08c47fec0942fa0. The zero-filled account value is a placeholder, not an account you should publish. Copy the real line from your own AdSense account or seller.
Fetch the root URL in a private browser window and check the actual response. It should return the expected plain text, without requiring a login or presenting a challenge page. Inspect the final URL after redirects, the HTTP status and whether a CDN or firewall serves different content to bots. When troubleshooting, compare the version deployed at the origin with the public response.
Understand what DIRECT and RESELLER mean
DIRECT indicates that the publisher controls the seller account in the named advertising system. RESELLER indicates authorization through a different entity's account. The field describes that particular relationship; it is not a quality rating for a network. Follow the AdSense FAQ and the partner's instructions rather than changing a relationship label to make it look more favorable.
A common error is deleting unfamiliar entries just because they do not match the platform shown in the site dashboard. Some networks sell through multiple exchanges. Equally, leaving obsolete sellers indefinitely weakens the file's purpose. Resolve every disputed line against a current business relationship.
Roll out and monitor safely
Compare the file line by line with approved partner records, deploy it in a controlled change and save the before and after versions. Open the public file again. Then inspect warnings in your advertising dashboard and any partner diagnostics. Google notes that its status can take several days to update and, on low-request sites, potentially much longer. An immediate warning after upload is not automatically proof the line is wrong.
AdSense provides an option to request a status recheck from its Sites area. It also explains that its crawler must be able to fetch the file. See the crawler guidance before concluding that a valid-looking file is readable by buying systems.
When an agency manages the ad stack, ask for the full chain of approval rather than accepting “the network handles it.” Identify the account that actually signs the authorization and the person responsible for revoking it when a contract ends. A spreadsheet with four columns, system domain, seller ID, relationship and confirming partner, often prevents more errors than an elaborate dashboard.
If the ads.txt URL returns a redirect, confirm the destination serves the same intended contents to both normal requests and authorized advertising crawlers. Compare the HTTPS and host variants your provider treats as canonical. Hosting panels sometimes create a file in a private directory while the public root continues serving an old copy. A CDN may also cache the previous version, making an edit appear ineffective. Diagnose the public response, not merely the file visible inside the server manager.
Do not assume that removing an entry immediately raises revenue or that a partner's “missing ads.txt” alert proves deliberate fraud. It can reflect propagation delays, a misconfigured crawler path, an incorrect account identifier or a genuine authorization mismatch. Work from observable symptoms: capture the exact warning, timestamp, URL and response, then compare against the authorized record. If you cannot verify a seller, stop short of guessing and request clarification in writing.
Make ads.txt part of revenue operations
Review it when a seller contract begins, changes or ends, and after domain, CDN or host migrations. Maintain an internal register of who requested each entry and when it was confirmed. If your site uses no programmatic advertising, publishing an invented list creates confusion rather than income.
For a broader view of revenue options, see the publisher revenue-model guide. If you are considering a direct sponsor instead of exchange demand, our sponsorship-pricing guide addresses a different sales process. Ads.txt helps buyers verify sellers; it does not generate an audience or make weak inventory valuable.
Primary sources
- Google AdSense guidesupport.google.com
- AdSense FAQsupport.google.com
- crawler guidancesupport.google.com


