Ads.txt management in DFP

DFP can help you create an ads.txt file for your inventory

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 DFP 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.

DFP: Ads.txt Management in DoubleClick for Publishers (5:40)

Create an ads.txt file in DFP

  1. Sign in to DoubleClick for Publishers.
  2. Click Admin and then Ads.txt management.

    To view this page, your DFP 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.

  3. Click Create an ads.txt file.
  4. 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 'RESELLER'.

    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.

  5. Copy the text and paste it into your own ads.txt file, or download it as a new text (.txt) file.
  6. Send the file to your webmaster and have them upload it to your root domain (for example,
  7. 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, "" would be considered a root domain as "" is on the public suffix list, but "" would not be considered a root domain.

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.

Message Explanation/Solution
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 'pub-' prefix.

Only include the pub- prefix and the 16-digit numeric code in your declaration. Delete the product-specific prefix (for example, ca- or ca-video-).

To find the publisher ID of your primary Ad Exchange account and other linked accounts:

Sign in to DoubleClick for Publishers., then click Admin and then Global settings.

Traffic type must be either DIRECT or RESELLER. All rows declaring authorized sellers should have either 'DIRECT' or 'RESELLER' in field #3.

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.

Message Explanation/Solution
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:
The seller account you entered is not linked with this DFP network. We can only verify publisher IDs belonging to seller accounts that are linked to your DFP 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 f08c47fec0942fa0. If you use field #4 to include a certification authority ID, this is the only valid value for seller accounts.

Review the authorization status of your domains

Check back regularly on the "Ads.txt" page in DFP 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 posted: You haven't posted an ads.txt file for this domain yet.
  • 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 DFP does not detect the ads.txt file posted on my domain?

Here are reasons why a domain may have a status of "no ads.txt posted", even though an ads.txt file exists:

  • It may take up to 24 hours for our system to register changes you make to the file.
  • If an ads.txt file is not on your root domain, or isn't reachable from your root domain by a redirect, the crawler won't be able to find the file. For example, if you post the file to the subdomain but don't set up a redirect from the root domain, the crawler won't find the file on the subdomain.
  • If the robots.txt file of the domain disallows crawling of the ads.txt file, or disallows crawling by Google, Google won't crawl the ads.txt file. Learn about robots.txt files
  • If the crawler receives a "404 NOT FOUND" response when attempting to crawl an ads.txt file, any previously crawled entries are removed from our system until the next crawl session that returns a valid ads.txt file.

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.
Was this article helpful?
How can we improve it?