What Media Owners and Buyers Should Know about Sellers.json, Schain, and Transparency

Index Exchange was one of the first major exchanges to adopt and abide by the IAB’s specifications for sellers.json and schain. We did so in an effort to champion accountability and allow our customers and partners to better vet all sources of inventory that they can access and purchase on our exchange.

As a recap, schain is a bid request object that lists the seller IDs of each party who has touched an individual impression. Sellers.json is a publicly facing dictionary that allows media buyers to look up the sellers listed within schain. As a result, buyers have visibility into each step a bid request takes in between themselves and the media owner, enabling DSPs to make better buying decisions for their customers.

As an industry, we’ve reached nearly 100% adoption, which is a great first step towards the ultimate goal of a completely transparent ecosystem.

However, mere adoption isn’t enough—the standard also needs to be understood and implemented correctly. Since sellers.json is the public-facing part of the standard, we’d like to highlight some “gotchas” that we’ve noticed in order to help you implement, interpret, and analyse sellers.json files in the most efficient and effective way.

For media owners and sellers: Things to remember when posting a sellers.json file

  • Make sure you’re not setting every media owner entry to the same ID. Each entry in a sellers.json file needs its own unique seller ID. This allows media buyers to validate this entry against the respective intermediary’s ads.txt entry, and against the ‘sid’ object in schain objects they pass. If buyers can’t accomplish this step, they’ll eventually stop buying from that seller.
  • Be sure to fill the name field in sellers.json with the seller’s business name, not a URL. Each sellers.json entry should link back to the business facilitating the transaction—not the URL of the seller or where the ad is serving.
  • Don’t list Google Open Bidding as a single seller. An exchange may monetise hundreds of different sellers using Google Open Bidding (formerly Exchange Bidding) as a pass-through entity. If the exchange doesn’t break these seats out in sellers.json, it obfuscates the supply path to buyers. Instead, we recommend breaking each seller out into its own sellers.json entry.
  • Avoid setting as the name of every Open Bidding seller. Buyers use the name field in sellers.json to identify which sellers they’re buying from. The names of each seller should be explicit, whether or not they’re being sold through Open Bidding.
  • When setting the domain field, don’t confuse the payee’s domain with the URL where the ad is served. Sellers should be clear about the identities of each payee. DSPs have indicated they may not purchase from a seller if this field is inaccurate.

For media buyers: Things to remember when interpreting sellers.json for SPO

Sellers.json was primarily developed to help DSPs interpret schain objects in bid requests. Since an schain object is a chain of seller IDs but not names, buyers can reference sellers.json to learn the identities of each ID in the chain. Schain represents the payment chain of an impression, so buyers can use schain with sellers.json to optimise their supply path.

Since sellers.json was released, we’ve seen some buyers try to analyse sellers.json files directly for the secondary purpose of supply path optimisation (SPO). While this is possible, there are some important subtleties to keep in mind:

  • Make sure the intermediary implements the standard correctly. The sellers.json standard is straightforward—if the intermediary isn’t following it, that’s a red flag. Check the tips for sellers above to see if there’s a mistake in the implementation.
  • Cross-reference ads.txt. If the intermediary lists a media owner in sellers.json and they’re not listed in their ads.txt file, they’re not actually authorised to sell that inventory.
  • Take care when relying on the “intermediary/publisher/both” seller type field. Intermediary doesn’t necessarily mean ad network. Exclusive resellers and sales houses can be labelled intermediary, even though they are not the typical reseller ad network many may think of. In fact, sellers using Google Open Bidding technology have a direct seat on our exchange but are listed as an intermediary due to Google taking a small fee, even though we have a direct relationship with the media owner.
  • Inventory volume isn’t equally distributed between sellers. The number of sellers in a sellers.json file isn’t directly proportional to exchange volume. Most exchanges have a long tail of sellers that provide the minority of volume. This relates to the point above, in that the seller type distribution isn’t necessarily indicative of spend distribution.

    To illustrate, about 50% of Index’s sellers.json entries are listed as (financial) intermediaries by the IAB definition, but over 80% of Index spend goes to direct media owner accounts, via the header or server-to-server, so buyers actually see a low percentage of true intermediaries on their media buys. It’s an easy analysis mistake to make if you’re looking at the sellers.json file alone and not the impression or spend distribution

Looking ahead

Like any young standard, version 1.0 is only the first step. It’s important to continue to share feedback both directly and within industry groups so that we can address concerns in future versions and build a more transparent industry together. We look forward to working with media owners and buyers as the spec evolves, and continuing the dialog within the IAB Tech Lab.

Back to blog