Publishers

app-ads.txt for CTV apps

By Stoqlab team · Updated · 4 min read

Connected TV apps use the same app-ads.txt as mobile apps. The app-ads.txt specification covers apps distributed through any app store, and CTV stores (Roku, Amazon Fire TV, Apple TV, Google TV and Android TV, smart TV platforms) work the same way: the store listing names a developer website, and verifiers read /app-ads.txt there. The line format, DIRECT and RESELLER, the variables, the way the location is derived from the developer URL and the check against each network's sellers.json are all unchanged; What is app-ads.txt covers them.

What is different in CTV

Store identifiers

CTV stores use their own IDs, such as a Roku channel ID or an Amazon ASIN. Bid requests should carry the store URL so verifiers can find the listing, and the specification treats store URLs as opaque values that verifiers should not parse.

Shared inventory

TV apps often carry content licensed from programmers, and part of the ad time belongs to them. Copying every line of every content partner into your own file does not scale, which is the case INVENTORYPARTNERDOMAIN exists for (below).

Server-side ad insertion

Ads stitched into the stream by a server mean more companies handle the request. The proposed SupplyChain object 1.1 adds hp: 0 nodes for them; see the schain guide.

INVENTORYPARTNERDOMAIN

Added in ads.txt 1.0.3 for this use case. Instead of copying a content partner's lines, the app names the partner's domain:

ssp.example, 4821, DIRECT
inventorypartnerdomain=programmer.example

Verifiers then read programmer.example/ads.txt (the partner's ads.txt, not an app-ads.txt) and treat its sellers as authorised for the partner's share of this app's inventory. They follow one hop only, so an INVENTORYPARTNERDOMAIN inside the partner's file is ignored. It works only when the bid request says whose inventory it is, in app.inventorypartnerdomain, which needs support from the selling platform.

What Stoqlab covers today

We do not crawl the Roku, Fire TV or smart TV stores yet, so CTV-only apps are not in the data. The app-ads.txt checker still works for any domain, a CTV developer's included, because it starts from the website rather than the store.