In March 2021, the Interactive Advertising Bureau (IAB) updated the
ads.txt/app-ads.txt specification to support a new directive called “inventorypartnerdomain” that maps the inventory sharing relationships that are common to (but not limited to) Connected TV (CTV) and over-the-top (OTT) streaming video services.
inventorypartnerdomain specification is optional, but it allows publishers to more easily manage their
app-ads.txt/ads.txt files. Previously, publishers engaged in inventory sharing would have to list all the domains related to the inventory sharing partner and the corresponding resellers of that partner that are authorized to sell their content. Managing the
app-ads.txt/ads.txt files becomes difficult if updates are needed in the case where there are multiple inventory sharing relationships and/or the inventory sharing partner is engaged in complex reseller arrangements.
By adopting the
inventorypartnerdomain specification within the
app-ads.txt/ads.txt, publishers can designate the domain of their inventory sharing partner and buyers can also look up the
ads.txt of the
inventorypartnerdomain to validate authorized resellers (in addition to looking up the
ads.txt/app-ads.txt file of the publisher).
Note that using the
inventorypartnerdomain declaration means that the publisher accepts all entries in the partner’s
ads.txt/app-ads.txt file as authorized to sell their inventory and the publisher assumes the risk of any changes to that file with or without their knowledge.
- List inventory sharing partners in your
ads.txt/app-ads.txtfile by adding the new
inventorypartnerdomainentry.ExampleLet’s assume there’s an inventory sharing relationship between Programmer A (who creates content) and Distributor B (who owns the CTV app that aggregates content). Programmer A has rights to sell ads for their owned content that appears in Distributor B’s app.Within their
app-ads.txtfile, Distributor B specifies the domain of their inventory partner, Programmer A, as follows:
- Update the VAST ad tag to append the
&ipdparameter. In order for validation based on
ipdmust be specified on the ad request and match the domain of the inventory partner listed in the
ipdis not specified on the ad request, then validation based on
inventorypartnerdomainwill not occur.ExampleA user visits content owned by Programmer A within Distributor B’s CTV app.To reflect the inventory sharing relationship, the
&ipdparameter is specified within the VAST ad request from Distributor B’s app, as follows:
- Reach out to your inventory sharing partner to make sure that they have a properly set up the
ads.txtfile hosted at the domain that you indicated in step 1.
There are many types of inventory sharing relationships. For example, there may be implementations where the opposite occurs (Programmer A specifies Distributor B as the
inventorypartnerdomain). For more examples, see the IAB Guidance for Inventory Sharing.
inventorypartnerdomainis correctly declared in the
ads.txt/app-ads.txtfile and the VAST ad requests.
- Domains should be specified as root domains (for example, ProgrammerA.com instead of ProgrammerA.com/watch).
- Declaration of
inventorypartnerdomainis one line with no spaces.
- The pointer to the domain of the inventory partner is correct (where the inventory partner hosts their
ads.txtfile for the corresponding environment for where you are making the request). For example, Programmer A might be using ProgrammerA.com for their CTV Google TV inventory and ProgrammerA2.com for their CTV Apple TV inventory.
- Only one
inventorypartnerdomaincan be specified per line in the
ads.txt/app-ads.txtfile (if there are multiple IPDs, each one should be declared in their own separate line).
&ipdparameter in the VAST ad tag can only take one domain declaration.
- Work with your inventory partner to make sure that their
ads.txtfile is correctly set up with the correct publisher codes and the file is crawlable.
- Declarations of
inventorypartnerdomainon a publisher’s
ads.txt/app-ads.txtwould only point to the inventory sharing partner’s
ads.txtfile (not the
- Declarations of
Do I need to update my
ads.txt/app-ads.txt file for each app store/web domain?
You should upload an
ads.txt file for every associated web domain and
app-ads.txt for every associated mobile app and CTV app across each app store.
If you want to use
inventorypartnerdomain, you only need to update the corresponding ad requests and
ads.txt/app-ads.txt files for the app stores/domains in which you engage in inventory sharing.
Different environments might have different
ads.txt/app-ads.txt files set up if you have seller/reseller relationships that differ by environment.
ads.txt/app-ads.txt support both
inventorypartnerdomain and reseller declarations for inventory sharing?
Yes. IPD is an optional specification and buyer validation of
ads.txt/app-ads.txt will still take into account any seller/reseller IDs that are listed in the