Features in Beta phase might not be available in your network. Watch the release notes for when this feature becomes generally available.
Once an ads.txt
/app-ads.txt
file is set up on your domain, the Google crawler will:
- Attempt to crawl the file every 24 hours.
- Parse the contents of the file to determine seller IDs that are authorized to monetize your inventory.
You can monitor the ads.txt/app-ads.txt status of a domain in the Ad Manager Ads.txt Management tool. In some cases, an ads.txt
/app-ads.txt
file may have been posted on a domain, but Ad Manager indicates “No ads.txt file was found.”
If the file has been posted for more than 48 hours, this usually implies that Google cannot find/crawl/parse the file, even though it may exist. If this happens, we recommend working through these troubleshooting steps with your Webmaster.
The app-ads.txt
files are publicly available and crawlable by exchanges, supply-side platforms (SSP), and other buyers and third-party vendors.
Confirm the file is not temporarily unavailable
If a previously seen ads.txt
/app-ads.txt
file is unavailable on a subsequent re-crawl, the previously seen entries will be:
- Purged if the response is a hard 404 error (page that actually doesn’t exist; HTTP 404 status).
- Retained for up to five days if the response is a soft 404 error (a real page returned for a URL that doesn't actually exist; HTTP 200 status) or a 500 server error. In this case, Ad Manager shows a “Last seen” time potentially older than the expected 24-hour refresh period.
Confirm the file is reachable from the root domain
Redirects from domain.com/ads.txt
to domain.com/ads.txt
are fairly common. Ads.txt crawling will start at the root domain, and the root domain needs to return from, or redirect to, the ads.txt file.
- An
ads.txt
file ondomain.com/ads.txt
will only be crawled ifdomain.com/ads.txt
redirects to it. - Only a single redirect outside the original root domain is followed (e.g.,
example1.com/ads.txt
→example2.com/ads.txt
). If a second redirect is included — even if it's for the same domain — the file will not be crawled.
Check that robots.txt
allows crawling
The ads.txt
/app-ads.txt
for a domain may be ignored by crawlers if the robots.txt file on a domain disallows one of the following:
- The crawling of the URL path on which an
ads.txt
/app-ads.txt
file is posted. - The User Agent of the crawler.
For example1.com:
- An
ads.txt
file is posted onexample1.com/ads.txt
. - The following lines are included in
example1.com/robots.txt
:User-agent: *
Disallow: /ads
- The
ads.txt
file will be ignored by crawlers that respect the robots.txt standard. - You can modify the
robots.txt
file as follows to allow crawling of the file (other approaches are possible):- Option 1: Modify disallowed path.
User-agent: *
Disallow: /ads/
- Option 2: Explicitly allow
ads.txt
; depends on crawler support for theAllow
robots.txt directive.User-agent: *
Allow: /ads.txt
Disallow: /ads
- Option 1: Modify disallowed path.
For example2.com:
- An ads.txt file is posted on
example2.com/ads.txt
. - The following lines are included in
example2.com/robots.txt
:User-agent: Googlebot Disallow: /
- The ads.txt file will be ignored by the Google crawler.
Ensure file is returned with an HTTP 200 OK status code
While a request for an ads.txt
/app-ads.txt
file may return the contents of the file in the response body, if the status code in the response header indicates the file was not found (e.g., status code 404):
- The response will be ignored.
- The file will be considered non-existent.
Make sure the file has an HTTP 200 OK status code.
Ensure there are no formatting errors or invalid characters in the file
Formatting errors, such as invalid whitespace characters, may be difficult to detect but can make an ads.txt/app-ads.txt file difficult to parse by a crawler, and may therefore result in a file being ignored.
Avoid copying and pasting ads.txt
/app-ads.txt
entries from a rich text editor. We recommend a plain text editor. You can also check for invalid UTF-8 characters in your ads.txt
/app-ads.txt
file using a HEX editor.
Make an ads.txt/app-ads.txt file reachable via both HTTP and HTTPS
The Google crawler attempts to crawl all ads.txt
/app-ads.txt
files on both HTTP and HTTPS. However, a 404 (or 40X) response causes previously crawled entries to be purged. Therefore, if crawling via HTTP or HTTPS returns a 404 (or 40X):
- The previously crawled entry will be purged.
- Ad Manager will show a “no ads.txt” status.
Please ensure the ads.txt
/app-ads.txt
is accessible via both HTTP and HTTPS.
Confirm your server/CDN isn’t returning an invalid response to the Google crawler
When viewed in the browser, a valid ads.txt may appear to be returned. However, if an invalid non-ads.txt response is returned when the User Agent indicates the crawler is the Googlebot:
- Google won’t detect the ads.txt file.
- Ad Manager will indicate a status of “No ads.txt found.”
To debug this scenario, ask your webmaster to run the following shell commands (replace mydomain.com
with your domain):
- To confirm that the ads.txt file can be reached, run:
curl -iL http://mydomain.com/ads.txt
The contents of the ads.txt file should be returned as seen in the browser when you navigate tomydomain.com/ads.txt
. - To confirm that the ads.txt file can be found by the Google crawler, run:
curl -iL -A "'Mozilla/5.0 (compatible; Googlebot/2.1; +http://google.com/bot.html).'"
http://mydomain.com/ads.txt
If an invalid, non-ads.txt response is returned, this indicates that your server or Content Distribution Network (CDN) is returning an invalid response when the Google crawler attempts to fetch your ads.txt file.
There may be other reasons, apart from the crawler user agent checks covered above, why your server does not return a valid response to the Google crawler. Please work with your webmaster to investigate and fix such issues by checking your server logs for unsuccessful Google crawls for mydomain.com/ads.txt
or mydomain.com/robots.txt
.
App-specific tips
These suggestions apply only to app-ads.txt
files:
- Register your app with Google Play or the App Store.
- Include a developer website in the Google Play store and/or marketing website in the App Store listing.
- Make sure the developer website listed in Google Play and/or the marketing website the App Store for this app is a valid URL. Check for typos and ensure that the app-ads.txt file is not on a subdomain.