app-ads.txt - Implementation Guide

Introduction

App-ads.txt extends ads.txt functionality to include inventory from mobile apps and over-the-top (OTT) video. The new app-ads.txt specification relies on the publisher URL, available on app store HTML pages, as the centrally located, crawler-friendly, trusted source.

Ads.txt is an open standard and technical specification defining how a publisher can publicly declare their list of “Authorized Digital Sellers,” in an “ads.txt” on their site. It is a simple, flexible, and secure way for content owners and distributors to declare who is authorized to sell their inventory, improving transparency for programmatic buyers.

How app-ads.txt Works

The specification identifies four entities that play a vital role in enabling authorized digital seller validation on in-app inventory:

• App stores
• App publishers
• Sell-side platforms
• Authorized seller verifiers

App stores enable mobile authorized seller specifications. They connect the app with its publisher’s URL that hosts seller information. Specification requires the app stores to publish the app publisher’s URL, bundle_id, and store_id as HTML <meta> tags within the <head> tag at the beginning of the HTML doc.

App publishers complete the following steps to enable seller authorization on their app inventory:

1. Register the URL that hosts app-ads.txt file on the app store
2. Publish an app-ads.txt file with authorized seller information.

The file format for mobile authorized seller information will be identical to that of web ads.txt. Each record will have an ad tech domain, publisher account ID, relationship\account type and optional TAG ID.

Please note that app inventory seller information must be published in a separate file entitled “app- ads.txt.” Therefore, the web seller information will be available in “ads.txt” but independent of app seller information.

Sell-side platforms are required to include a store URL parameter on all bid requests. Only requests with valid store URL parameters are eligible for authorization.

Authorized seller verifiers must follow the below steps to verify authorization:

• Identify the app store URL in the bid request
• Crawl the app store URL page for the publisher’s URL, bundle_id and store_id
• Translate the publisher URL to an app-ads.txt path
• Crawl and interpret the app-ads.txt file for enforcement

Mobile app-ads.txt specification ignores sub-domain directives, unlike web ads.txt file. Under web ads.txt specification, verifiers are expected to crawl the root domain and parse sub-domain directives to track sub-domains to specific authorized sellers.

In-app environment verifiers must start at second level domains and then fall back to root domains only when there is a missing file. This special provision is made to handle app-specific authorized seller information.

How to Implement app-ads.txt

App developers should follow these steps to adopt app-ads.txt for their apps.

1. Create the app-ads.txt file. (The filename must be app-ads.txt.)
2. Add entries too capture authorized seller information in the following file format:

FIELD NO.  FIELD  DESCRIPTION  EXAMPLE   STATUS 
Domain name of the advertising system  The domain of the system  gammassp.com  Mandatory 
Publisher Account ID  1508400942  1508400942  Mandatory 
Type of Account Relationship  Can be either DIRECT or RESELLER relationship  DIRECT  Mandatory 
Certification Authority ID  ID that identifies the advertising system within a certification authority (mapped to entity in field #1)  31ac53fec2772a83  Optional 

Example: ‘gammassp.com, 1508400942, DIRECT, 31ac53fec2772a83’

4. Post the “/app-ads.txt” file on your root domain or subdomain as needed.
5. Provide the app-ads.txt page path in the developer URL attribute of the app store page.

Only apps with eligible app-ads.txt path in the app store are eligible to participate in the authorized seller scheme.


FAQ

Introduction 

Last year saw massive growth in the adoption of the IAB Tech Lab’s ads.txt standard. Designed to decrease the amount of premium desktop ad inventory that was either spoofed or otherwise heavily arbitraged, ads.txt was successfully embraced by buyers and suppliers, alike. 

Today, the industry faces a similar challenge with in-app ad inventory; in-app inventory has an even higher risk for spoofing than desktop inventory due to the lack of visibility into how code is executed within an app. On March 13th, 2019, the IAB Tech Lab released the app-ads.txt standard to battle this rapidly growing threat to the integrity of the ecosystem. 

What is app-ads.txt? 

Authorized Sellers for Apps (app-ads.txt) is the IAB Tech Lab’s extension to the Authorized Digital Sellers (ads.txt) standard, originally designed for protecting web ad inventory from domain spoofing, arbitrage, and to provide buyers transparency into authorized ad selling. App-ads.txt extends the ads.txt functionality to meet the requirements for applications distributed through mobile app 

stores, connected television app stores, or other application distribution channels. The specification establishes global standard for validating authorized app inventory sellers. 

How is it different from ads.txt? 

The main difference between app-ads.txt and ads.txt is how the data crawlers find the file. With ads.txt files, the standard file location is the URL for the website offering up ad inventory for sale (e.g. cnn.com/ads.txt). However, given that apps are downloaded onto devices, there is no obvious location for the app-ads.txt file. The solution adopted by the IAB Tech Lab is for app developers to post their appads.txt file on their company website (e.g. AppDeveloper.com/app-ads.txt). Since app store URLs are an anchor reference for every app, an additional step is required. Crawlers first scrape the app-store page to retrieve the publisher domain URL, and then go to the publisher domain to access the app-ads.txt file. 

What do I need to provide to my app developers? 

The IAB Tech Lab standard for app-ads.txt entries is the same for ads.txt, consisting of four components:

  1. Exchange URL: gammassp.com 
  2. AccountID: This is the Gamma Account ID for your account(s) which will monetize any ad inventory from the app. 
  3. Seller Type: Either DIRECT (single hop to DSP: app -> Gamma -> DSP) or RESELLER (two hops to DSP: app -> publisher -> Gamma -> DSP) 

• Note: unless the app in question is owned and operated by the Gamma account holder(e.g. Turner Broadcasting would list DIRECT if selling CNN app inventory), RESELLER should be used. 

4. Gamma TAG ID: 31ac53fec2772a83

  1. Each part must be included on one line, with each part separated by a comma and a space. All you need to do is substitute the fictional Account ID below with your own Account ID. 
  2. Direct Example: gammassp.com, 1508400942, DIRECT, 5d62403b186f2ace 
  3. Reseller Example: gammassp.com, 1508400942, RESELLER, 5d62403b186f2ace 

What is Gamma’s policy on app-ads.txt? 

Gamma will allow monetization only of authorized or undeclared inventory. 

• Authorized: In the case an app has published an app-ads.txt file, you must have the appropriately 
configured entry included on the file to monetize.
• Undeclared: For apps with no app-ads.txt file posted, monetization will continue. 

My App Developer has multiple apps, and wants to post app- ads.txt files for each, but only has a single developer URL. How is this managed? 

Developers that want to authorize different sellers for each app must rely on sub-domains.
App dedicated sub-domains should be made available in developer URL section of app store page. As an example, gameloft can set up different sellers for Ice Age Adventures and Brothers in Arms® 3 by updating their app store publisher pages to have subdomain structure. The Ice Age Adventures app can have ‘iceageadventures.gameloft.com’ and Brothers in Arms® 3 app can have ‘brothersinarms3.gameloft.com’. 

Verifier will go to iceageadventures.gameloft.com/app-ads.txt to retrieve authorized seller information for Ice Age Adventures inventory and will go to brothersinarms3.gameloft.com/app- ads.txt to do the same for Brothers in Arms® 3 inventory 

Many of the apps I monetize don’t see the value in adding app-ads.txt or don’t understand
it. Gamma is in the early stages of planning education and evangelism activities targeting app developers to help them in the following ways: 

  • Educate app developers why it’s to their advantage to participate in app-ads.txt 
  • Provide resources to help them set up and manage their app-ads.txt file 
  • Give app developers tips to avoid the scams and schemes with ads.txt 

Still have questions? Please reach out to your Gamma Account Manager.