Source Object

Note

Fields marked with an asterisk (*) are optional.

Source Object Properties

Value

Type

Description

fd*

integer

Indicates the entity responsible for the final impression sale decision, using the following values:

  • 0 = The exchange behind BidSwitch

  • 1 = An upstream source (usually header bidder)

For example a bid request containing ext.ssp='rubicon' and source.fd=0 implies that the auction is run at Rubicon SSP. If the same request has source.fd=1 then the auction is run at a header bidder upstream from Rubicon SSP.

Note: The BidSwitch platform never acts as the decision maker.

tid

string

(Recommended) Transaction ID that must be common across all participants in this bid request (e.g., potentially multiple exchanges).

pchain*

string

Payment ID chain string containing embedded syntax described in the TAG Payment ID Protocol v1.0.

schain

object

Contains the supplychain object, as fully described here on the IAB Github Page:

The SupplyChain object is composed primarily of a set of nodes where each node represents a specific entity that participates in the selling of a bid request. The entire chain of nodes from beginning to end would represent all sellers who were paid for an individual bid request.

ext*

object

Contains additional fields, see Source Extension

Source Extension

Source Extension Object Properties

Value

Type

Description

omidpn

string

Identifier of the OM SDK integration, the IAB Open Measurement specification on Github

omidpv

string

Version of the OM SDK integration.

SupplyChain Object

Important

  • This field is a recent addition to the OpenRTB Specification, and part of verifying the information passed in it requires Suppliers to provides a valid sellers.json file. The details of which can be found here: IAB sellers.json Spec

  • BidSwitch will only appear as a node when trading is conducted using Media Mode.

schain

Value

Type

Description

complete

int

(Required) Flag indicating whether the chain contains all nodes leading back to the source of the inventory, where 0 = no, 1 = yes.

nodes

array of objects

(Required) Array of objects in the order of placing in the chain. The original source of the request is first and the final seller of the request last, see Supply Chain Nodes

ver

str

(Required) Version of the supply chain specification in use. Currently "1.0" is the only option.

Supply Chain Nodes

supply chain node

Value

Type

Description

asi

string

(Required) The canonical domain name of the SSP, Exchange, Header Wrapper, etc system that bidders connect to. This may be the operational domain of the system, if that is different than the parent corporate domain, to facilitate WHOIS and reverse IP lookups to establish clear ownership of the delegate system. This should be the same value as used to identify sellers in an ads.txt file if one exists.

sid

string

(Required) The identifier associated with the seller or reseller account within the advertising system. This must contain the same value used in transactions (i.e. OpenRTB bid requests) in the field specified by the SSP/exchange. Typically, in OpenRTB, this is publisher.id. For OpenDirect it is typically the publisher’s organization ID. Should be limited to 64 characters in length.

hp

int

(Required) Indicates whether this node will be involved in the flow of payment for the inventory.

When set to 1, the advertising system in the asi field pays the seller in the sid field, who is responsible for paying the previous node in the chain.

When set to 0, this node is not involved in the flow of payment for the inventory.

For version 1.0 of SupplyChain, this property should always be 1. It is explicitly required to be included as it is expected that future versions of the specification will introduce non-payment handling nodes. Implementers should ensure that they support this field and propagate it onwards when constructing SupplyChain objects in bid requests sent to a downstream advertising system.

rid*

string

The OpenRTB RequestId of the request as issued by this seller.

name*

string

The business name of the entity represented by this node. This value is optional and should NOT be included if it exists in the advertising system’s sellers.txt file.

domain*

string

The business domain name of the entity represented by this node. This value is optional and should NOT be included if it exists in the advertising system’s sellers.json file.

Example Source JSON

{
  "source":{
    "fd":1,
    "tid":"FEDCBA9876543210",
    "schain":{
      "complete":0,
      "ver":"1.0",
      "nodes":[
        {
          "asi":"reseller.com",
          "sid":"aaaaa",
          "rid":"BidRequest4",
          "hp":1
        }
      ]
    }
  }
}