Ad Fraud

Ads.txt: How to Create, Update, & Implement Ads.txt

Ad industry is losing as much as $44 billion to ad fraud every year and the numbers are rising as you are reading this.

The complex demand and supply chain surely increase the profits, however, it (for most parts) fails to steer clear of sharp practice in adtech. These sharp practices include but are not limited to:

  • Impersonating established sites and fabricating inventory A.K.A. domain spoofing
  • Faking mouse movements and social network logins
  • Showing fake heat map of visitors on a webpage

Domain Spoofing has caused much harm to the businesses involved in the advertising spectrum. This is when IAB Tech Lab took an initiative of introducing ads.txt. It is a text file allowing publishers to host on their web server and declare authorized sellers of their digital ads space.

What is Ads.txt?

Authorized Digital Seller (abbreviated as Ads.txt) is a list of all partners (including the publisher himself) authorized to sell digital inventory. This list is saved as a text file and uploaded to the root domain with details of all the authorized sellers.

IAB aspires to improve digital advertising standards by creating a more transparent ecosystem. This is why, in May 2017, IAB released this feature to sort out the supply chain and make it harder for fraudsters to claim inventory that doesn’t belong to them. 

With the help of Ads.txt, buyers can verify the seller(s) assigned to trade inventory. Ads.txt file goes directly into the root domain. And without proper access, nobody can alter the backend settings of a website making it safe to trust.

ads.txt working model
Source: IAB tech lab

Also, it doesn’t require any specific technical skills to create and implement ads.txt. And if you use WordPress, then the process is as easy as installing a plugin (which we will discuss below in details).

Benefits of Ads.txt

When the ad industry was losing billions due to the ad frauds, ads.txt by IAB provided the most required safety. The reports suggest it can also help track the flow of money in the supply chain. Here are the benefits of using ads.txt:

Easy to Create

Ads.txt file is easy to create (details of which are discussed below). Furthermore, it takes only a few minutes to upload the file to your website. Simply place the file in your HTML root domain and you have secured your ad inventory.

Easy to Update

Ads.txt file can easily be edited and updated with proper access to the root domain. For that, create a new .txt extension file with updated details. Remove the old .txt file and upload the new one in the place of that. Make sure the files are quickly crawled by the bots.

Private and Secure

Only the owner of the website can upload the ads.txt file on the website which makes it secure from external corruption. There’s no way a fraudster can edit the file unless having the correct credentials to access the website.

Avoid the Crawling Issues with Ads.txt

Ads.txt file is placed in the root domain of the website to ensure it is easily crawled by search engines (such as Google). Avoid these issues with your ads.txt file to overcome crawling errors:

  • Make sure ads.txt file is always available, even at the time of re-crawling.
  • Place it in the root domain for bots to read it quickly; example: www.domain.com/ads.txt.
  • Your server / CDN should never return an invalid response to Google Crawler.
  • Ads.txt file should be accessible by both HTTP and HTTPS.
  • Robot.txt of the website should allow crawling your website.

Use the services of Google Webmaster to check your ads.txt file is properly crawled. Robot.txt file has details of files and pages available to be crawled by Google and Bing bots.

How to Create and Upload Ads.txt

As discussed, ads.txt is a simple text file that can be created using a text editor. Enter the details of sellers and save it. Here are the required details:

FieldsStatusDescription
Domain NameRequiredName or domain of the seller/reseller authorized to sell publisher’s inventory. This is to establish the ownership of the domain for the advertiser’s knowledge.

Example: google.com
Publisher ID/Seller IDRequiredA unique identification number of the seller or the reseller. You can ask for seller ID from your respective sellers and ad networks. Also, Google Adsense can help you get your publisher ID.

Example: pub-0000000000000000
Type of RelationshipRequiredDirect seller: communicates directly with the publishers to sell a part of inventory such as AdSense.
Reseller: vendors authorized by another company (like ad exchange or SSP) to sell space on the domain; for example AppNexus.

Example: DIRECT
Certification Authority IDOptionalA unique identification code of the advertising system which is certified by TAG (Trustworthy Accountability Group). Also known as TAG ID.

Example: f08c47fec0942fa0

Once you have these details in place, simply put them one after another in a text file, separated by a comma (,).

<Field #1>, <Field #2>, <Field #3>, <Field #4>

OR

google.com, pub-0000000000000000, DIRECT, f08c47fec0942fa0

Save the file with ‘txt’ file extension. Lastly, upload it to a website – just like a new page.

Here’s how it should look:

ads.txt example

Ads.txt and WordPress

Things get easier when using WordPress. Right? Every customization in WordPress starts with the installation of a plugin. There are various free plugins available offering easy management for ads.txt.

Here’s how ads.txt works for WordPress users:

  • Install ads.txt plugin on your WordPress managed website.
  • On the left panel, click on Settings > Ads.txt to customize the settings.
  • Place your Ads.txt details and Save the settings.

As most publishers are using WordPress to manage their websites, you will find a number of plugins to create and implement Ads.txt. Choose the one that you find easy to use and reliable for you.

If you don’t want to use a plugin:

  • From the left navigation panel of WordPress Dashboard, click Media.
  • Click on the Add New button.
  • Upload the ads.txt file. Make sure you name it ‘ads.txt’.
  • Wait for search engine bots to crawl it.

Note: Avoid uploading more than one ads.txt file. In case, you wish to update, create a new file, delete the old one from the database and upload the new one.

Ads.txt and Google AdSense

It is not mandatory to use ads.txt for AdSense publishers. However, AdSense highly recommends it.

We strongly recommend that you use an ads.txt file. It can help buyers identify counterfeit inventory and help you receive more advertiser spend that might have otherwise gone toward that counterfeit inventory.

Google AdSense

For publishers not using ads.txt on their AdSense, they can see an error message. Also, publishers who have uploaded ads.txt with any error, AdSense will show an issue.

In both the cases, it is advisable to resolve the error as soon as possible to avoid major damage to your earnings.

Dealing With Ads.txt Issue in AdSense

To avoid this error, simply edit your ads.txt file and include AdSense to the list of sellers. Then re-upload the updated text file to your website.

It can take a few days for your changes to be reflected in AdSense. If your site is new with fewer pageviews, then it can take up to a month.

Ads.txt and Google Ad Manager

Just like with AdSense, Google recommends publishers to use ads.txt for their networks on Ad Manager. Here is how web publishers can add ads.txt for their GAM networks:

  • Create ads.txt in Google Ad Manager: Sign in to ad manager and go to Admin > Ads.txt management. Make sure you have at least one AdX relationship and have user access to make changes to ads.txt. 
  • Now click the Web ads.txt > Create an ads.txt file.
  • Ad Manager will generate ads.txt details. You can remove the networks that you don’t wish to work with in future.
  • Publish ads.txt to root domain: Copy the ads.txt generated by GAM and paste it to your own ads.txt file. OR download the ads.txt file and upload it to your root directory.
  • Wait till search engines crawls your ads.txt file. You can check status on your GAM’s admin panel.

Ads.txt for Publishers Working With Multiple Networks/SSPs

If you are anything like a normal publisher, trying and testing new ad networks and platforms are part of your routine. This is required, because as a publisher you wouldn’t want to lose the opportunity to explore new technologies in the ad industry.

However, managing ads.txt everytime you add a new partner can be cumbersome. No matter if you use AdSense or Ad Manager, as a publisher you will have to edit ads.txt file and reupload for new buyers. Not to forget that constant updation can lead to manual errors.

If this sounds like an issue to them you can try a free ads.txt management tool.

Benefits?

  • Save time: You will save endless number of hours that you would’ve otherwise spent manually managing ads.txt files for all your websites.
  • Stay secure: Auto validation and de-duplication check ensures that your ads.txt files are compliant with the standards laid by IAB.
  • Protect revenue: Having a secure ads.txt setup means that your website is better protected against fraudsters trying to sell your inventory.

Read more.

Challenges with Ads.txt

The idea of creating a more transparent exchange environment in adtech is still a dream. Ads.txt helps by openly declaring the seller, but it is not without drawbacks.

  • Manual insertion of data: To create, update, and implement an ads.txt file, the publisher needs to make a manual effort. This takes time and increases the chances of human error.
  • Dealing with multiple demand partners: Most medium to premium publishers have multiple demand partners (including sellers and resellers). Publishers need to periodically make changes (add and remove) sellers from the list which can be tiresome.
  • No way to report invalid use: Sometimes, details added to ads.txt file can be entered wrong. In such a case, there is no way a demand partner can report this error to the publisher. Neither there is an automated process to check whether the entered details are correct.

Solution: To avoid human error while creating ads.txt file, you can take the help of a free tool like Manage Ads.txt that lets you create, manage, and update the file for multiple domains.

But fraudulent activities are rising and Ads.txt can help combat it, then why publishers are not opting for it.

Well, the answer can sound a bit strange but vendors are not comfortable with being ‘resellers’ of the inventory. Most of the time, publishers do not sell inventory directly. This is when vendors come into the picture. From the buyer’s point of view, a reseller doesn’t have complete control of inventory and less variations.

Next, ads.txt doesn’t eliminate all ad fraud, just domain spoofing up to a certain extent. 

But things are changing now, advertisers seek for inventories that support ads.txt. Even the demand-side has started updating the technology to look for only ads.txt inventory. Similarly, AdSense—claiming most of the digital publishers—asks publishers to upload ads.txt files for better monetization.

The Bottom Line

Only the use of ads.txt is not going to resolve all the issues faced by the ad industry. The entire advertising ecosystem needs to fight against the common enemy, i.e. ad fraud. More than that, there is a great requirement of transparency in the ad industry to eliminate all the questionable activities.

IAB is constantly working to update ads.txt and bring similar tech to curb fraud. We now have:

  • Ads.cert: A side-kick to ads.txt, it validates the inventory by using cryptographically signed bid requests.
  • App-ads.txt: An app version to counterfeit the app fraud similar to what ads.txt does for websites running ads.
  • OpenRTB 3.0: A framework by IAB designed to bring security and transparency that supports the implementation of ads.txt and ads.cert.
  • Sellers.json: Sellers.json is managed by SSPs / ad networks where they are asked to share a list of all inventory providers (programmatic publishers and resellers). This is to further improve transparency where buyers can clearly see the final seller of the bid.
  • Pubvendors.json: IAB introduced pubvendors.json in support of GDPR consent framework. It is intended to help publishers by sharing a list of vendors for their inventory. It includes basic details of vendors and their rights to use audience data generated by the publisher’s website.

Ads.txt is a simple and effective way to bring transparency however, it is not perfect just like any other technology. Hence, we see a slow adoption rate.

Ultimately, it becomes the responsibility of both sell- and buy-side to make most of these security features to bring back the true meaning to their business.

Frequently Asked Questions

What does ads.txt stand for?

Ads.txt stands for Authorized Digital Seller. It contains a list of all partners authorized to sell/resell a publisher’s inventory.

Is ads.txt mandatory?

Use of ads.txt is not mandatory, but is highly recommended. It also depends on your partners and advertisers. Some may specifically ask for ads.txt before getting into a partnership with you. For instancer, Google AdSense highly recommends using ads.txt file otherwise publishers might miss out on revenue.

Where do I place ads.txt?

Ads.txt resides like a page on your domain. Only one ads.txt file is needed even if you have a multisite. It needs to be hosted on the top-level domain and not in a subdirectory or subdomain.

For example, your website is example.com, then ads.txt should be accessible via example.com/ads.txt.

How does app-ads.txt work?

App-ads.txt aims to do for mobile app publishers what ads.txt did for web publishers—reduce ad fraud-related revenue loss and build trust with buyers. app-ads.txt (Authorized Sellers for Apps) is an IAB-initiative through which mobile app publishers can declare vendors they have authorized to re-sell their inventories. By referring to app-ads.txt, buyers can check whether or not the vendors offering inventory are authentic.

Where do I put ads.txt in WordPress?

For WordPress website, you can either upload ads.txt file directly to your domain or use a plugin to update it. We recommend using a plugin as it is more user-friendly and customizable.

5 Comments

    • Rashmita Behera Reply

      Hey Jeremiah,

      If you don’t want to use a plugin, then you try this:
      On your WordPress Dashboard, click Media>>Add New. Upload the ads.txt file here. Wait for bots to crawl your site.
      Visit *yoursite.com*/ads.txt to check the status.

      Thanks,
      Rashmita

  1. I am using godaddy online store
    Thats a templete which dont allow to add ada.txt file
    How it can be done

    • Rashmita Behera Reply

      Hey Girish,
      It’d be great if you contact godaddy support and raise this question.
      Also, you can try Manage Ads.txt to add Authorized seller file to your domain.

      Thanks
      Rashmita

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.