Setting Up ads.txt and app-ads.txt

Prev Next

The ads.txt and app-ads.txt files lists the companies that are authorized to sell your ad inventory. You provide one or both of these files on your web site so that buyers of your inventory can validate their ad space purchases.

The “ads” in ads.txt and app-ads.txt stands for Authorized Digital Sellers (ADS), an initiative developed by the IAB Tech LAB to identify the authorized vendor of inventory being offered in order to improve transparency and to help prevent fraud in digital advertising. The ADS standard boosts digital advertising ecosystem transparency and trust and enables advertisers to validate ad sources, reducing fraud and enhancing inventory quality. For the official standard, see Ads.txt - Authorized Digital Sellers.

  • ads.txt is for web browser-based players that sell a publisher’s inventory for live streaming stations.

  • app-ads.txt is for app-based players that sell a publisher’s inventory via mobile apps and similar devices such as smart speakers.

The file identifies a number of key elements:

  • The adtech platform (SSP) making the bid request.

  • The publisher’s account ID with the SSP.

  • The type of relationship between the publisher and the SSP (DIRECT or RESELLER).

  • The certification authority ID for the SSP.

The file should be a plain-text file with the filename extension .txt

Understanding the File Contents

Owner Domain

The app-ads.txt/ads.txt specification includes the OWNERDOMAIN directive to improve transparency and clarify inventory ownership across the supply chain. This field should appear once per app-ads.txt/ads.txt file and must represent the business domain of the site owner (you).

The OWNERDOMAIN is part of the version 1.1 standard that was introduced in 2022. If your ads.tst/app-ads.txt files are using an older standard it is important that you update them to include OWNERDOMAIN.

Domain Matching Requirements

  • For publishers: the OWNERDOMAIN in the app-ads.txt/ads.txt file must match the domain field in your sellers.json entry. A mismatch might be flagged by DSPs and buyers as a mis-configuration or risk, potentially affecting trust and monetization.

  • For Resellers who also operate their own inventory and maintain an app-ads.txt/ads.txt file: OWNERDOMAIN may differ from the intermediary’s domain in sellers.json. This mismatch is expected, as the domain in sellers.json reflects the intermediary, not the original publisher.

Relationship type: DIRECT vs. RESELLER

Categorizing a reseller as DIRECT may mislead DSPs or buyers into treating that entity as the primary sales channel, potentially bypassing the publisher and reducing direct revenue opportunities.

  • DIRECT: The publisher works directly with the SSP (e.g., TAP Programmatic) to create/manage deals and sell inventory.

  • RESELLER: The publisher authorizes a third party (e.g., ad network or third-party sales house) to resell its inventory, either partially or in full.

Example

Here is an example ads.txt file for a fictitious publisher.

ownerdomain=example.com
tritondigital.com, 999999, DIRECT, 19b4454d0b87b58b
adswizz.com, 999999, RESELLER
xandr.com, 1577, RESELLER, f5ab79cb980f11d1
magnite.com, 9755, RESELLER, 0bfd66d529a55807
smartyads.com, 100152, RESELLER, fd2bde0ff2e62c5d
smartadserver.com, 4831, RESELLER, 060d053dcf45cbf3
  • Line 1: Use your actual owner domain, not example.com.

  • Line 2: This is the authorized advertising system record for Triton Digital. See Finding Your Authorized Advertising System Record.

  • Line 2: 999999 is a fictitious publisher ID provided by Triton Digital. Use your actual publisher ID.

  • Line 2: 19b4454d0b87b58b is the certification authority ID for Triton Digital and must be included.

  • Lines 3-7: You can include the authorized advertising system records for all advertising partners you work with. This is recommended but not mandatory. In this example, advertising partners are declared with RESELLER.

Create the ads.txt or apps-ads.txt

Use any plain text editor to create the file, such as Notepad (Windows) or TextEdit (macOS).

  1. Create a file and name it ads.txt or app-ads.txt, depending on where you want to use it.

  2. Line 1: Type ownerdomain=YOURDOMAIN.COM , where YOURDOMAIN.CO is your station or show’s actual business web domain name. For example, for the publisher “Blork Media,” which uses the blorkmedia.com domain, they would use ownerdomain=blorkmedia.com.

  3. Line 2: Get your Triton Digital authorized advertising system record. See Ads.txt and app-ads.txt in TAP Programmatic.

  4. Line 3: If you are using AdsWizz, use your actual publisher ID from Triton Digital, the same ID you use in line 2.

  5. Remainine lines: Type additional demand partners, using the same format: [domain], [publisher account ID], [relationship], [certification authority ID].

  6. Save the file.

Place ads.txt

The ads.txt file must be placed at the root level of your station or show’s web site, and ensure it is publicly accessible and not geo-blocked.

  1. Upload the ads.txt file to your station or show’s web site’s root directory. (You might need to ask your web developer team to do this for you.)

  2. Test the web site to ensure the file is correctly placed. See Validating Your ads.txt/app-ads.txt File.

Place app-ads.txt

The app-ads.txt file must go to your app site’s root directory for the URL that is associated with your app's publisher, not the company that developed the app. If you have multiple developer URLs for different apps, ensure that each app's app-ads.txt file is implemented on its respective developer URL. Also, you must ensure that the Google Play or Apple App Store’s listing for your app uses the same developer URL as the one where you placed the app-ads.txt file.

To place the app-ads.txt file:

  1. Upload the app-ads.txt file to your app publisher’s root directory. You might need to ask your app developer team to do this for you.

  2. For Android aps on Google Play:

    1. Sign in to your Play Console.

    2. Select the app.

    3. Navigate to Store Presence, then Store Listing.

    4. Add your developer’s website URL (where you have placed the app-ads.txt file) to the Contact Details section.

  3. For Apple iOS apps on Apple App Store:

    1. Sign in to your Apple Developer account.

    2. Go to the listing for the app.

    3. Add your developer website in the marketing URL field of your store listing.

  4. For other app stores, if your app is listed on other app distribution systems, go to each one and ensure the developer URL is listed correctly.

  5. Test the web site to ensure the file is correctly placed. See Validating Your ads.txt/app-ads.txt File.

Validate Your ads.txt/app-ads.txt File

Simple Placement Test

First you should conduct this easy test to ensure your file is correctly placed and can be read:

  1. Using your web browser, go to your station or show’s home page.

  2. In your browser’s URL bar, remove anything that follows the top-level domain (i.e, everything that follows the .com , .biz , .net , etc. part), and enter /ads.txt or /app-ads.txt  (depending on which file you are checking). For example, for the “Blork Media” website, it would be https://blorkmedia.com/ads.txt or https://blorkmedia.com/app-ads.txt
    The contents of your ads.txt or app-ads.txt should appear in your browser. If it does not, it usually means the file is not correctly placed in the root folder of your site's web server.

  3. For app-ads.txt, you should also verify if your app-ads.txt file has been well implemented on the developer URL as listed on Google Play, App Store or any other app associated with your inventory.

  4. Repeat the above for every station/show/app that uses an ads.txt/app-ads.txt file.

Use the Validator

You can optionally use the ads.txt validator on the TAP Programmatic Settings ads.txt page to see if your ads.txt or app-ads.txt file is properly set up for Triton Digital.

This tool only validates the Triton Digital entry, it does not validate the entries for other partners.

  1. Expand the ads.txt panel on the TAP Settings > Programmatic > ads.txt page.

  2. Click the Validate ads.txt on my inventory button.

  3. Review the report that appears after a few moments.

You might receive this message: Not able to retrieve the ads.txt file from the station url. This happens if our validation scripts were not able to retrieve the ads.txt/app-ads.txt file due to an unknown exception. It does not necessarily mean your implementation is incorrect or that ad delivery is affected. Instead, there might be an issue with the links to the server. If our scripts fail to retrieve the ads.txt/app-ads.txt  file that could also happen with the demand partner. We suggest you troubleshoot your URL path.

Understand Your ads.txt/app-ads.txt Validator Report

The report might take a few moments to generate. The more stations you have, the longer it will take.

When the report appears, it includes two columns: Results and Stations count. Stations count refers to how many of your stations returned that result.

Result

Meaning

Success

An ads.txt/app-ads.txt file exists, and the Triton Digital entry is correct.

A timeout error has occurred

The validation scripts encountered a timeout (the response delay exceed two minutes). Check your server status.

Certification authority id must be <ID>

The certification authority ID in the ads.txt/app-ads.txt  entry is incorrect. Use the authority ID as described above.

Certification authority id must be 'refers to the authority id'

The certification authority ID in the ads.txt/app-ads.txt  entry is incorrect. Use the authority ID as described above.

Not able to retrieve the ads.txt file from the station url

An Unknown exception occurred when trying to request the ads.txt/app-ads.txt  file.

Publisher id is invalid

The publisher ID in the ads.txt/app-ads.txt  file is incorrect.

Relationship value must be one of DIRECT, RESELLER

The third item in the Advertising System record is the relationship value. The only valid values are DIRECT or RESELLER. This message means your ads.txt/app-ads.txt  file uses something other than those values. Check your ads.txt/app-ads.txt file; it could simply be a typographical error.

The station has an invalid url

The URL is incorrectly entered in the Triton Console. This message appears when the URL is unresolvable. Iif the URL is simply incorrect you will likely get a different message, such as "The station url has no ads.txt file."

The station has no associated url

There is no station URL defined in the Triton Console for this station.

The station url has no ads.txt file

There is no ads.txt/app-ads.txt file in place for the station.

The station url returned an ACCESS DENIED response

The validation scripts encountered a security barrier on the domain root. Check your server status and its permissions settings.

There was an error attempting to access the ads.txt file

Received an unknown response code when trying to request the ads.txt/app-ads.txt file. Check your server status first. Then check your Triton Console entry for the station.

tritondigital.com entry is missing in ads.txt

An ads.txt/app-ads.txt file exists, but does not include an entry for Triton Digital.

tritondigital.com entry is invalid, entry should match : tritondigital.com,XXXX,(DIRECT|RESELLER),19b4454d0b87b58b

Entries were found in the ads.txt/app-ads.txt file but not the correct entry for the publisher ID.

Export Validator Results

Click Export all stations detailed results at the bottom of the validator results to download a CSV file with a detailed station-by-station breakdown of the ads.txt/app-ads.txt validator results. If you are not prompted for a download location, check that your browser is not blocking popups or downloads.

If you continue to have ads.txt/app-ads.txt problems related to your Triton Digital inventory, please contact Triton Digital Customer Support.

Best Practices for Managing ads.txt/app-ads.txt

Following these best practices will help you maximize the effectiveness of your ads.txt file.

Use Correct Relationship Types

  • Clearly define whether each seller is "DIRECT" or "RESELLER" based on their relationship with you.

  • Misrepresentation can lead to blocked traffic or lost revenue.

Include OWNERDOMAIN

  • Add an OWNERDOMAIN field to specify the domain of the business entity owning the site or app. This increases transparency and aligns with industry standards introduced in ads.txt version 1.1.

Regularly Update the File

  • Frequently audit your ads.txt file to ensure it reflects current authorized sellers.

  • Remove outdated entries for sellers you no longer work with. Outdated entries generate no revenue, and files with excessive dormant entries can potentially lead to other problems.

  • Outdated or incorrect entries can lead to unauthorized sales of your inventory.

  • Sellers listed in your file should only represent active partnerships that generate revenue.

Use a primary publisher website

  • For app-ads.txt, host the file on your official publisher domain linked in app store listings.

  • This ensures buyers can verify the authenticity of your app’s inventory.

Ensure it is accessible

  • Do not geo-block access to ads.txt/app-ads.txt! DSPs are operating in all countries and may see it as missing if there is any geo-blocking on the files or server, which can affect revenue.

  • Ensure the ads.txt/app-ads.txt files are accessible using both http:// and https:// protocols.