IAB supply chain validation (app-ads.txt + sellers.json)
The Interactive Advertising Bureau (IAB) created app-ads.txt.
It proves to advertisers that app publishers own the app that originates an ad request.
You host this text file on the website that appears alongside your app on the Google Play Store and/or Apple App Store.
This file includes a reference to all ad sources that you authorize to sell your app inventory.
You make this file publicly available and crawlable by exchanges, supply-side platforms (SSPs), other buyers, and third-party vendors.
When an app sends out an ad request, an advertiser checks the app store page for the developer website, finds the corresponding app-ads.txt file at that site, and verifies that the publisher ID in the ad request matches the ID in the app-ads.txt file.
This prevents a malicious actor from faking ad requests from an app, because the publisher ID in their ad request will not match the publisher ID in the app-ads.txt file.
Many advertisers do not bid on apps that do not have a valid app-ads.txt file.
To maximize the number of bidders who bid on your app inventory, to maximize your revenue, and to safeguard your app against certain types of fraud, AppLovin strongly recommends that you maintain an app-ads.txt file and that you include AppLovin as an authorized ad source in that file.
How to implement an app-ads.txt file
-
Add your developer website to the app store.
You must link your developer website in your store listings (in Google Play and/or the App Store) so that AppLovin and other ad platforms can establish your app’s ownership.
- For Google Play, add your developer website URL in the Developer contact section of your app listing:
- Sign in to your Play Console.
- Select your app.
- In the menu on the left, select Store presence > Store listing.
- Scroll to Developer contact.
- Add your developer website URL.
- For the Apple App Store, place your
app-ads.txtfile at the same domain that you use for App Privacy.
- For Google Play, add your developer website URL in the Developer contact section of your app listing:
-
Create your
app-ads.txtfile.Add the
app-ads.txtfile to the root directory of your developer website. In this file, list all authorized sellers of your app inventory. To do this, ask each of the ad networks that you connected to your app for the relevant lines you should add to yourapp-ads.txtfile. Here is an exampleapp-ads.txtfile:app-ads.txt # Network Name, Publisher/Account ID, Relationship Typeapplovin.com, 9eaf9ad6dc92d5fcn6f47c30168fb8fq, DIRECTmintegral.com, 19435, DIRECT, 0aeed123c80d6423google.com, pub-3940498599942544, DIRECT, f08c47fec0986fa0You must format your
app-ads.txtfile according to the specifications of the IAB Tech Lab. This allows those who use your file to verify it. Review the Authorized Sellers for Apps specification provided by the IAB Tech Lab.You must use
utf-8character encoding in yourapp-ads.txtfile. Your web server must serve this file asContent-type: text/plain. -
Add AppLovin to your
app-ads.txtfile.You can find the relevant AppLovin lines to add to your
app-ads.txtfile at the Account > General > App-ads.txt Info page in the AppLovin Dashboard. -
Register the root domain of your developer website URL (for example:
mywebsite.com) in the Domain field at Account > General > Basic Info in the AppLovin Dashboard.The IAB specification allows you to use only one
domainin thesellers.jsonfile that AppLovin manages. If your MAX account is used by multiple studios or game developers then choose one of the following two options:-
Use the same developer website URL in the store listings for all the apps that you manage with your AppLovin account.
-
If you cannot use the same developer website for all of the apps that you manage with the MAX account, then each of the developer websites must establish an HTTP redirect that diverts requests for the
app-ads.txtfile at these developer websites to theapp-ads.txtfile that you host on the Domain that you enter into your MAX Account. As per the IAB Spec, “Only a single HTTP redirect to a destination outside the original root domain is allowed to facilitate one-hop delegation of authority to a third party’s web server domain. If the third party location returns a redirect, then the advertising system should treat the response as an error.”For example, the MAX Account “Animal Kingdom” manages the apps from the following studios:
- Studio Bears
- Studio Tigers
- Studio Monkeys
The owner of the MAX Account should host an
app-ads.txtfile onanimalkingdom.comand useanimalkingdom.comas the Domain in the MAX UI (which is then published to AppLovin’sseller.jsonfile). The studios set the developer websites for their apps in the store to be their sites—www.studiobears.comorwww.studiotigers.comorwww.studiomonkeys.com. These studios must redirect requests for theapp-ads.txtfile at the domain of the developer websites indicated in the app store (www.studiobears.com/app-ads.txtorwww.studiotigers.com/app-ads.txtorwww.studiomonkeys.com/app-ads.txt) toanimalkingdom.com/app-ads.txt.
-
Best practices
-
Double-check that you accurately copied-and-pasted each network line entry into your
app-ads.txtfile. -
Contact all your integrated ad partners (networks, exchanges, buyers, and so forth) to request their
app-ads.txtentry for your file. Check with them regularly for updates. -
Be careful of unknown companies contacting you directly to request that you add them to your
app-ads.txtfile. AppLovin strongly advises that you list only companies that you and your direct SSP partners work with. -
Use the helpful ads.txt Validator website to verify that your
app-ads.txtentries are correct and up-to-date. -
Check your
app-ads.txtintegration by using the Mediation Debugger. Here is an example of how the Mediation Debugger appears when you integrateapp-ads.txt: