Link Search Menu Expand Document

PDF

Adopting Ads.txt

Demand Partners

Last updated on January 16, 2019


Proposed by the Interactive Advertising Bureau (IAB), ads.txt, or Authorized Digital Sellers, is an initiative which aims to improve transparency for the world of programmatic advertising by enabling content owners to specify which advertising systems and resellers are authorized to sell their inventory.

Adoption of ads.txt can help prevent domain spoofing and the sale of unauthorized inventory by providing a simple way for demand-side platforms (DSPs) to check if inventory from a particular source has been authorized for sale by the domain owner.

You can learn more by reading the following IAB topics:

NOTE

By the end of Q1 2018, OpenX blocked all reseller traffic that was not authorized on the publisher’s ads.txt file from entering the OpenX Ad Exchange. By applying strict ads.txt compliance to the exchange, buyers and DSPs can trust that all inventory flowing through OpenX is authorized by the publisher in instances where an ads.txt file is available.


Benefits

  • Increased transparency.
  • Decreased revenue for fraudsters.
  • Certainty that inventory you purchase from a given domain is being offered by authorized sellers.

Requirements

In order to ingest data from an ads.txt file, you must have a crawler that is capable of checking ads.txt files of the domains found in bid requests.


Ads.txt Format

Each line is formatted as follows:

 Domain Name of the Advertising System, OpenX Account ID, TYPE OF ACCOUNT/RELATIONSHIP, (Optional) Certification Authority ID

In this live example, the publisher has two OpenX accounts: https://docs.openx.com/ads.txt

  • The first line of the example illustrates that the publisher is using OpenX directly, with an OpenX Account ID of 123456789.
  • The second line of the example shows the publisher authorized another entity as a reseller of the ad space. That entity has an OpenX Account ID of 987654321.
NOTE

The OpenX Account ID in the ads.txt file should match the Publisher object’s id attribute in the bid request.


Interacting with Ads.txt

Below is a high level overview of the process of interacting with an ads.txt file. Please refer to the IAB ads.txt spec and IAB Partner Interaction Guide for additional information.

  1. Via a crawler, check the ads.txt file of the domains found in the bid requests you receive. The IAB provides a reference implementation of an ads.txt data crawler in their GitHub repository.

  2. Download the ads.txt file and update your own internal database based on the information within ads.txt.

  3. Update your buying algorithm accordingly.

  4. Assess the bid requests you receive. If there is no match between the Publisher object’s id attribute in the bid request and the authorized sellers listed in the ads.txt file, do not buy the inventory. Example of where to find the Publisher object’s id ("123456789") attribute in the bid request:

    "site": {
      "ext": {
        "ssl_enabled": false,
        "is_mobile_site": true
      },
      "content": {
        "qagmediarating": 1
      },
      "publisher": {
        "id": "123456789"
      },
    }
    

Interpretation of Server Responses

When the ads.txt file is present, you need only read the content, parse it, and obey the declarations. When no ads.txt file is present, the IAB recommends the following:

Status CodeResource StatusDSP Actions
HTTP 401RestrictedSeek direct contact with the content owner for authorization keys/clarification.
HTTP 404Does not existAssume no declarations exist and that all advertising systems are authorized to buy and sell ads for this particular website.