Inventorypartnerdomain (IPD) is a relatively new IAB field and some DSPs may not yet validate statuses based on it, even if Ad Manager is sending the value in the bid request. If you implement IPD, in the short term, continue to keep existing direct/reseller declarations within the ads.txt/app-ads.txt
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.
Adopting the 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.
Get started with inventorypartnerdomain
- List inventory sharing partners in your
ads.txt/app-ads.txt
file by adding the newinventorypartnerdomain
entry.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 theirapp-ads.txt
file, Distributor B specifies the domain of their inventory partner, Programmer A, as follows:inventorypartnerdomain=ProgrammerA.com
- Update the VAST ad tag to append the
&ipd
parameter. In order for validation based oninventorypartnerdomain
to occur,ipd
must be specified on the ad request and match the domain of the inventory partner listed in theapp-ads.txt/ads.txt
file. Ifipd
is not specified on the ad request, then validation based oninventorypartnerdomain
will not occur.ExampleA user visits content owned by Programmer A within Distributor B’s CTV app.To reflect the inventory sharing relationship, the&ipd
parameter is specified within the VAST ad request from Distributor B’s app, as follows:&ipd=ProgrammerA.com
- Reach out to your inventory sharing partner to make sure that they have a properly set up the
ads.txt
file 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.
Troubleshooting inventorypartnerdomain
implementations
- Ensure
inventorypartnerdomain
is correctly declared in theads.txt/app-ads.txt
file and the VAST ad requests.- Domains should be specified as root domains (for example, ProgrammerA.com instead of ProgrammerA.com/watch).
- Declaration of
inventorypartnerdomain
is one line with no spaces. - The pointer to the domain of the inventory partner is correct (where the inventory partner hosts their
ads.txt
file 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
inventorypartnerdomain
can be specified per line in theads.txt/app-ads.txt
file (if there are multiple IPDs, each one should be declared in their own separate line). - The
&ipd
parameter in the VAST ad tag can only take one domain declaration.
- Work with your inventory partner to make sure that their
ads.txt
file is correctly set up with the correct publisher codes and the file is crawlable.- Declarations of
inventorypartnerdomain
on a publisher’sads.txt/app-ads.txt
would only point to the inventory sharing partner’sads.txt
file (not theapp-ads.txt
file).
- Declarations of
Frequently asked questions
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.
Does 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 ads.txt/app-ads.txt
file.