Ads.txt management in Ad Manager
Authorized Digital Sellers, or ads.txt, is an IAB initiative to improve transparency in programmatic advertising. Publishers can create their own ads.txt files to identify who is authorized to sell their inventory. The files are publicly available and crawlable by buyers, third-party vendors, and exchanges.
Use Ad Manager to create an ads.txt file for your network. To get you started, we generate content for the file based on seller information for your network, provide validation of file syntax, and enable you to view which sellers are authorized to sell your inventory.
Create an ads.txt file in Ad Manager
- Sign in to Google Ad Manager.
- Click Admin Ads.txt management.
To view this page, your Ad Manager network must have at least one linked Ad Exchange account and your user must be assigned to a role with the "Ads.txt management" permission enabled.
- Click Create an ads.txt file.
- In the dialog window, review the automatically generated text that Google provides. Each row represents a separate seller account that can be authorized to sell your inventory. To omit a seller and remove its authorization, delete the row containing its information from the dialog window. Learn how to validate ads.txt syntax
Our ads.txt generator can only supply information for Google seller accounts. If you work with other SSPs/exchanges, you're responsible for adding information from seller accounts on those exchanges to ensure that queries on those domains are authorized.
By default, automatically generated rows may include a value of '
DIRECT' in field #3, indicating that there's a direct relationship with the seller account. If you don't own and operate the domain, update this value to '
You are responsible for ensuring your ads.txt file is correct and up to date. We provide syntax validation, but cannot prevent you from uploading a file that is incorrectly formatted or contains unlinked accounts.
- Copy the text and paste it into your own ads.txt file, or download it as a new text (.txt) file.
- Send the file to your webmaster and have them upload it to your root domain (for example,
Here, "root domain" is defined as one level down from the public suffix list, which is how it's defined in the IAB ads.txt specification. For example, "
google.co.uk" would be considered a root domain as "
co.uk" is on the public suffix list, but "
maps.google.co.uk" would not be considered a root domain.
If you have more than one root domain, an ads.txt file must be uploaded to each root domain individually. Review Admin Ads.txt management to confirm that an ads.txt file has been uploaded to each of your domains.
Validate the syntax of your ads.txt file
Review the syntax of the fields in the dialog window, and correct any errors/warnings before saving your ads.txt file. Hover over an error/warning icon to view a pop-up description. View a complete example of ads.txt syntax
Errors in ads.txt files
If a row has incorrect formatting that will stop parts of the ads.txt file from working as expected, a red error icon appears next to it.
|Each row in this file must include either 3 or 4 fields.||All non-comment lines in the file must contain exactly 3 or 4 comma-separated fields.|
|The Google publisher ID must be a 16-digit number with a '
Only include the pub- prefix and the 16-digit numeric code in your declaration. Delete the product-specific prefix (for example,
To find the publisher ID of your primary Ad Exchange account and other linked accounts:
Sign in to Google Ad Manager, then click Admin Global settings.
|Traffic type must be either
||All rows declaring authorized sellers should have either '
Warnings in ads.txt files
If a row contains other issues that won't necessarily stop the ads.txt file from working, a yellow warning icon appears next to it.
|Duplicate line.||This row is an exact duplicate of another row in the file. Delete one of the duplicate rows.|
|Provide contact information for the owner of this file.||Add a row to the file that contains only contact information. For example:
||We can only verify publisher IDs belonging to seller accounts that are linked to your Ad Manager network. If you include a publisher ID belonging to a seller that's not linked to your network, we'll be unable to verify if the ID is correct.|
|The TAG ID for Google publisher accounts is
||If you use field #4 to include a certification authority ID, this is the only valid value for
Review the authorization status of your domains
Check back regularly on the "Ads.txt" page in Ad Manager to ensure that all of your seller accounts are authorized in an ads.txt file posted to your root domain. View your domains and accounts, their authorization status, and the impact on your queries (ad unit requests).
Click the filter icon to limit the view by domain name, domain status, or seller account status. Click a row to expand information for a given domain and view the authorization status of its individual accounts.
- No ads.txt file found: No ads.txt was found when the domain was last crawled. Learn more
- No seller accounts authorized: None of your linked seller accounts is in the ads.txt file posted on this domain.
Only linked Ad Exchange seller accounts are supported at this time. Please sign in to your AdSense account for ads.txt notifications related to domains monetized through AdSense.
- Some seller accounts authorized: Only some of your linked seller accounts are in the ads.txt file posted on this domain.
- All seller accounts authorized: All of your linked seller accounts are in the ads.txt file posted on this domain.
To update ads.txt information for a given domain, click the Fix link for that row to open a dialog window to edit the ads.txt file. This opens the version of the file most recently crawled by Google. Validate your syntax, download the new information and save it to your ads.txt file, and share the file with your webmaster to upload to your root domain.
Our system automatically checks for new and updated ads.txt files. If you update or remove a file, it may take up to 24 hours for our system to register your changes. If the crawler receives a soft 404 error, server error, DNS resolution error, or a request timeout, the file may not be re-crawled for the next 24 hours. These are usually temporary errors, and in most cases the file should be available upon the next re-crawl.
A soft 404 occurs when your server returns a real page for a URL that doesn't actually exist on your site. This usually happens when your server handles faulty or non-existent URLs as "OK," and redirects the user to a valid page like the home page or a "custom" 404 page.
What if Ad Manager does not detect the ads.txt file posted on my domain?
A domain may have an ads.txt file posted but may still show in the DFP Ads.txt management tool with a status of "no ads.txt found". This may happen due to an incorrect ads.txt implementation or other crawl-related reasons. Learn more about how to ensure your ads.txt files can be crawled.
What if buyers see blank or empty URLs in bid requests?
Here are some reasons why the URL in a bid request may be blank or empty:
- One of your root domains may be missing an ads.txt file. Google uses the ads.txt file on a domain to verify that a publisher is authorized to monetize the domains sent to buyers in a bid request. If the ads.txt file for a domain is missing, bid requests may include a blank or empty URL.
You should upload an ads.txt file to each domain individually. Review Admin Ads.txt management to confirm that an ads.txt file has been uploaded to each of your domains.
- There could be an implementation error if an ads.txt file has been posted on a domain but it isn’t detected in DFP. Learn more about ads.txt management in DFP and ensuring your ads.txt files can be crawled
- There may be a problem with the way the ‘page_url’ override attribute of the Google Publisher Tag or passbacks are implemented. This may result in an invalid overridden URL value being passed in ad requests to DFP and a blank or empty URL in bid requests received by buyers.
What if I see a domain that I don't recognize?
Here are some reasons why the "Ads.txt" page might list a domain name that you don't recognize:
- Your ad code is nested within multiple iframes or you're using an ad server, yield manager, or other Supply-Side Platform (SSP) that embeds your ad code in iframes. If your ad code is nested within an iframe, we are not able to determine the correct site information for an ad request. This can happen when your page includes an iframe that points at another URL on your site containing the tag to be shown.
Sites that serve the contents of your site from their own domain. For example, Google cached search results, Google Accelerated Mobile Pages (AMP) Cache, and Google Translate may retrieve your content, then serve it from a Google domain, without iframes.
Web pages forwarded in email clients.
Duplication (in other words, copy and pasting) of content from one publisher to another.
Suggested actions for unrecognized domains:
- If your ad code is nested within multiple iframes, you may need to pass the URL of the page that users are browsing.
- If you're using an ad server, yield manager, or other Supply-Side Platform (SSP) and you see unrecognized domains, contact the SSP's account management team and ask them the best way to ensure that the correct site information is passed in your ad requests.