Bid transparency with the SupplyChain Object

The SupplyChain Object you to see all parties who are selling or reselling ad inventory. The object works together with ads.txt / app-ads.txt and sellers.json to provide transparency into the ads ecosystem.

Google will automatically create the objects within an OpenRTB request or Google RTB protocol, if applicable.

  1. Publisher sends a bid request.
  2. Buyer receives bid request and data from the SupplyChain object.
  3. Buyer looks up the identities of all intermediaries who resell inventory.
  4. Buyer crawls and verifies vendors authorized to sell inventory

At this time, you don’t need to take action to support the SupplyChain Object. Learn more about validating the SupplyChain Object in IAB’s FAQ.

How the SupplyChain Object works

The SupplyChain Object, otherwise known as schain, is a part of an OpenRTB and Google RTB bid request and consists of “nodes.” Each node in the schain object represents a specific entity participating in the bid request, which includes all entities involved in the direct flow of payment for inventory.

// Example object
"schain": {
    "complete": 1,
    "nodes": [{
         "sid":"pub-1234567891234567", // Same seller_id for the publisher in sellers.json

Read OpenRTB’s developer documentation and IAB’s documentation for further details.

The SupplyChain Object looks different depending on the way you work with publishers.

Publishers who sell directly with Google

For publishers who sell inventory directly through Ad Manager, AdMob, or AdSense, the schain object contains only one node for “” with the seller_id found in sellers.json.

Publishers who use Open Bidding

For publishers who uses Open Bidding, there are two nodes in the schain object: one node for “” with the publisher’s seller_id found in sellers.json and  one node for the Open Bidding partner.

Multiple Customer Management publishers

Multiple Customer Management (MCM) enables parent publishers to monetize child publishers’ inventory either individually with the Manage Account delegation type, or at scale with the Manage Inventory delegation type .

For parent and child publishers using Manage Inventory, there is one SupplyChain Object created with one node that includes the parent publisher’s seller ID. There are no nodes for the child publisher. The schain object is marked as incomplete because there is no node for the child publisher at this time and only a node with the parent publisher’s seller ID.

For parent and child publishers using Manage Account, the schain object will have one node with the child publisher’s seller ID and the chain will be marked as complete. For Manage Account publishers, monetization occurs in the child publisher’s account. The child publisher is treated as the end publisher. The parent publisher’s information is not included in the schain object.

All non-payment intermediaries

Intermediaries which do not handle payment are not included in the SupplyChain Object. This includes client-side header bidding, as well as non-payment header bidding and other mediation.

Was this helpful?
How can we improve it?

Need more help?

Sign in for additional support options to quickly solve your issue