To run Google AdWords text ads on inventory you do not directly own, the publisher must publish an Authorized Digital Sellers file at the root domain, listing every account that is permitted to resell or directly serve ads on that inventory. That file, commonly called ads.txt, is the IAB Tech Lab standard that lets buyers, including Google AdWords, confirm which seller entries are legitimate before paying for a text-ad impression. Each line links an advertising system domain, a publisher account identifier issued by that system, and a relationship type, either DIRECT or RESELLER, plus an optional certification authority ID for trust schemes. A missing file, a misplaced file, or a record with the wrong account ID or relationship signals unauthorized to demand sources, which can suppress text ad eligibility, reduce fill rate, and quietly erode revenue from pages that already attract AdWords demand.

What ads.txt Means for Google AdWords Text Ad Inventory
Before any programmatic deal involving Google AdWords demand closes on your pages, a crawler needs to read your ads.txt and confirm that the seller on the bid request is on your authorized list. The Authorized Digital Sellers specification, maintained by the IAB Tech Lab, defines exactly what each line must contain and how crawlers must resolve the file. Google operates as both a buyer of text-ad inventory and, through AdSense and AdMob, as one of the most common seller systems listed in publisher ads.txt files. Whether you monetize through a managed-account AdWords setup or through AdSense auto-ads, the file makes the seller paper trail auditable and prevents unauthorized resellers from siphoning revenue.
If you operate a site where text ads render via Google AdWords, AdSense, Google Ad Manager, Google AdMob, or any header-bidding wrapper that eventually routes demand through Google's exchange, you need ads.txt. Skipping it does not stop AdWords from showing ads on crawls that ignore the file, but it does close the door on every buyer that programmatically checks seller authorization, and that list includes most premium demand sources.
The Four Fields in Every ads.txt Record
Each line of a valid ads.txt file has three required fields and one optional field, separated by commas with no extra whitespace inside any field.
| Field | Required | Format | Purpose |
|---|---|---|---|
| Advertising system domain | Yes | Bare lowercase domain such as google.com | The canonical exchange that connects buyers to inventory, not your own website domain. |
| Publisher account ID | Yes | Platform-defined string | Seller or publisher identifier assigned to your account by that exchange. |
| Relationship | Yes | DIRECT or RESELLER only | Who controls the listed account: you (DIRECT) or another authorized entity (RESELLER). |
| Certification authority ID | No | Provided by the advertising system | An identifier within a trust authority such as TAG. Google's published example is f08c47fec0942fa0. |
Each field must be a single token. The generator trims surrounding spaces, lowercases the domain, and rejects any comma or whitespace inside a field, which matches what the IAB specification expects. The fourth field applies only when the platform has assigned a certification authority ID to your seller account. For Google seller accounts, the official example shown in Google's ads.txt guidance is f08c47fec0942fa0. Other exchanges assign different identifiers, so copy the exact value from the platform setup page rather than guessing.
Building Your ads.txt With the Generator
If you have the platform-provided values in front of you, the Ads Txt Generator handles formatting, validation, and deduplication while keeping your account numbers local to your browser.
- Open the Ads Txt Generator in your browser. Account details stay on the page and are not sent to a server while you type.
- For each authorized seller, enter the advertising system domain as a bare host such as google.com. Do not paste a URL with https://, a path, a port, or credentials; the generator lowercases and validates the host itself instead of silently carving a hostname out of a pasted URL.
- Enter the publisher account identifier exactly as it appears in the platform's setup instructions. For Google seller accounts the format uses a pub- prefix followed by digits, but copy the raw value rather than inventing or converting it.
- Choose DIRECT if you control the seller account under that identifier, or RESELLER if a separate authorized entity controls it. The generator rejects any other relationship word.
- If the platform provides a certification authority ID for that seller, enter it in the optional fourth field. Leave it blank when the platform has not assigned one and never assume Google's f08c47fec0942fa0 applies to a different exchange.
- Click Add and the row appears at the bottom of the visible list. Repeat for every advertising system authorized to sell your inventory, up to 200 records.
- Read the assembled text carefully. The generator rejects exact duplicate rows, so it will not silently let you list the same seller twice, but you can still see stale entries that no longer match your account roster and delete them before downloading.
- Copy the finished text to your clipboard or download the ads.txt file. The output is plain text ending with a single newline, ready to upload to your server.
Publishing the File at the Root Domain
A syntactically perfect ads.txt is useless if it is not published where crawlers look. The IAB spec requires the file to be served as plain text at one specific path on the root domain that owns the inventory.
For a site at example.com the expected public URL is https://example.com/ads.txt. Hosting the same content under /files/ads.txt, embedding it inside an HTML page, or gating it behind a login does not satisfy the spec; crawlers fetch only the root path. Use HTTPS whenever the site supports it so the file is delivered with the same scheme the rest of the site advertises.
If your advertising inventory actually lives on a subdomain such as ads.example.com or a regional variant like example.co.uk, publish the file at the root of the subdomain or regional domain that owns the inventory. Buyers are matched to the request domain, not to a parent brand root, so serving one file from a hundred subdomains is unnecessary. Serve one file from the exact host that appears in bid requests.
Verifying Each Record Against Your AdWords Account
Formatting assistance cannot replace account-level verification. Once the file is deployed, open https://example.com/ads.txt in a fresh browser tab and compare every visible line against the platform's current setup page for that seller. The ads.txt 1.1 specification is the reference document for the file format and crawl behavior if any line looks ambiguous.
Keep a backup of the previous file before publishing. Account networks change: a reseller you worked with may stop trading, an AdSense publisher ID may rotate after a structural migration, or a new exchange may ask to be added. As guides on publishing an ads.txt file point out, the safer pattern is to add new records rather than replace them, so buyers that already trust a verified seller do not suddenly see it disappear. Treat each deployed update the same way: back up, change one row at a time, and revisit the public URL to confirm the line is rendered verbatim.
Frequent ads.txt Mistakes That Block Text Ad Delivery
A syntactically valid file can still hurt monetization. The most common errors that prevent AdWords and other Google demand from serving text ads on authorized inventory include the following scenarios and their fixes.
- Putting the file at a non-root path such as /public/ads.txt or /static/ads.txt, which no crawler will fetch.
- Including the URL scheme, path, or trailing slash on the advertising system domain. The spec wants google.com, not https://google.com/.
- Setting DIRECT on a line where a third party actually controls the seller account. This misrepresents the relationship and is treated as unauthorized by some buyers.
- Listing a Google certification authority ID on rows that belong to a different exchange. Each TAG-listed seal belongs to a single seller account, so sharing it across rows invalidates the trust signal.
- Removing every old record when adding one new row, which can briefly make previously authorized sellers look unauthorized during the redeploy window.
- Paste errors that smuggle a comma, semicolon, or stray space inside a field. The generator rejects those before output, but a hand-edited file written directly to the server can still ship them.
Avoid each of these by treating the generator's validation report and the live file fetch as separate checkpoints: validate once, publish, then revalidate the public URL with a second browser or a manual request against your own domain.
The Ads Txt Generator does not sign in to AdSense, AdMob, or Google Ad Manager, so account-level accuracy still depends on what the advertising platform's own instructions show. Pair the generator with a copy of the IAB Tech Lab specification and your platform account pages, and your text-ad inventory will be authorized correctly for every Google exchange that reads the file.
For a deeper look, see How to Check AI Bot Robots.txt in Your Browser.