OWNERDOMAIN Adoption Deep-Dive

In a previous blog post on the adoption of the IAB Tech Lab Supply Chain standards, we noted that adoption of the OWNERDOMAIN variable in ads.txt and app-ads.txt files still had a long way to go. However, as adding an OWNERDOMAIN isn’t always necessary, it’s theoretically possible that the adoption gaps are mainly due to publishers that don’t actually require it. Unfortunately, that doesn’t seem to be the case.

OWNERDOMAINs identify the publisher that owns a given site or app, and should match the seller domains (from sellers.json entries) of seller accounts owned by the publisher. This allows buyers to determine if an account is selling owned and operated inventory, or acting as an intermediary of some kind.

When not explicitly set, OWNERDOMAIN defaults to the “domain being monetised” - i.e. the site domain for web inventory, and the developer domain for app inventory. Publishers that own a single site or app can often simply rely on the default value  (though setting it explicitly is still recommended).

Raw adoption numbers don’t take this default value into account, however, and even where an OWNERDOMAIN is set it may not be set correctly. We need to dig deeper to really understand how OWNERDOMAIN adoption is going, and what effect it’s having on the ability of buyers to validate inventory.

We can determine if OWNERDOMAIN has been adopted correctly by validating schains  (SupplyChain Objects) that are declared “complete”. Complete schains should start with a seller account owned by the publisher. If there’s a mismatch between the OWNERDOMAIN and the first seller domain, either the OWNERDOMAIN or the seller domain is incorrect (or the schain isn’t actually complete).

The following stats are based on bid requests protected by HUMAN’s MediaGuard, covering requests between the 25th and 31st of July 2023 where schains were available:

% of Bid Requests with Mismatch Between OWNERDOMAIN and First Seller Domain


% of web bid requests

% of app and CTV bid requests










For a third of web inventory with schains, the site’s OWNERDOMAIN doesn’t match the schain’s first seller domain. That breaks down to 19% where an explicit OWNERDOMAIN variable hasn’t been set, and 14% where it has been set but the domains still don’t match.

At first brush, the situation looks a little better for app inventory, at 23% mismatch. However, we can only check for a mismatch if we know both domains. One or both of the domains are missing for 38% of app inventory, compared to 4% for web; app inventory simply has a much lower rate of app-ads.txt and sellers.json adoption. This large block of inventory that we can’t check is artificially reducing the mismatch rate for app inventory.

While OWNERDOMAIN is not needed by all publishers, it’s clear that it’s missing or incorrect for a lot of publishers that do need it. This issue is currently the single largest cause of invalid schains, and will need to be significantly improved before buyers can confidently use the SupplyChain Object standard to its full potential.