The SupplyChain object enables buyers and intermediaries 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.
- Publisher sends a bid request.
- Buyer receives bid request and data from the SupplyChain object.
- Buyer looks up the identities of all intermediaries who resell inventory.
- Buyer crawls and verifies vendors authorized to sell inventory.
Google will automatically create the objects within an OpenRTB request or Google RTB protocol, if applicable.
How the SupplyChain object works
The SupplyChain object, otherwise known as
, is a part of an OpenRTB bid request and consists of "nodes." Each node in the schain
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": [{
"asi":"google.com",
"sid":"pub-1234567891234567", // Same seller_id for the publisher in sellers.json
"hp":1
}],
"ver":"1.0"
}
Read OpenRTB's developer documentation and IAB's documentation for further details.
The SupplyChain object looks different depending on the way you work with buyers.
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 "google.com" with the seller_id
found in sellers.json.
Publishers who use Open Bidding
Publishers who use Open Bidding to work with third-party exchanges have two nodes in the schain
object: one node for google.com with the seller_id
found in sellers.json and one node for the exchange yield partner.
Just as Google creates the node for google.com before sending the bid request, the third-party exchange is responsible for adding their node before passing on the request.
All non-payment intermediaries
Intermediaries that don't handle payment are not included in the SupplyChain object. This includes client-side header bidding, non-payment header bidding, inventory sharing, and other mediation.
Publishers who use payment intermediaries prior to the request
Publishers leveraging payment intermediaries upstream of the request to Google Ad Manager are required to pass the SupplyChain
object per the IAB guidelines. The SupplyChain
object should only contain intermediaries that are directly involved in the flow of payment for the inventory. Such intermediaries may include third-party ad server technology used by the publisher. The SupplyChain
object can be sent in the ad request using the schain parameter.
SupplyChain
object should also be represented on a publisher's ads.txt/app-ads.txt file, otherwise buyers might consider the traffic unauthorized.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 now one SupplyChain Object created with one node for the parent publisher’s seller ID, one node for the child publisher, and the schain
object is marked complete.
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.