What is schain?
schain means Supply Chain Object. In simple terms, it tells the buyer: "This ad impression came through these companies before reaching the DSP."
So schain shows the path of the ad request from the publisher side to the buyer side.
schain tells the DSP how the impression traveled from publisher to buyer.
asi, sid, and hp
schain vs ads.txtAuthorization vs actual path
Why do we need schain?
In programmatic advertising, one impression may pass through many companies before it reaches a DSP.
Publisher -> SSP -> DSP
Publisher -> SSP 1 -> SSP 2 -> Exchange -> DSP
The DSP wants to know:
- Who is the real seller?
- Is this direct inventory or reseller inventory?
- Are too many middlemen involved?
- Can I trust this impression?
That is why schain is used.
Very simple example
Imagine you want to buy mangoes.
Case A:
Farmer -> You
Good, simple, trusted.
Case B:
Farmer -> Trader -> Wholesaler -> Shopkeeper -> You
Now price increases, trust reduces, and more middlemen take money.
schain is like the list of all those people in between. Same idea in ads.
Where is schain used?
It is used in the bid request. The SSP sends schain and the DSP reads schain.
Very easy example
Suppose a user opens espn.com. One possible path is:
espn.com -> Magnite -> DSP
The DSP sees the real publisher, only one SSP, and a cleaner path.
Another case may look like:
espn.com -> SSP A -> SSP B -> Exchange -> DSP
The DSP may think there are too many hops, maybe reseller supply, maybe higher fees, maybe lower quality, so it may bid lower.
Most important idea: direct vs reseller
Direct means the publisher is selling inventory directly through one SSP.
Reseller means another company is reselling that inventory.
DSPs usually prefer the direct path.
Easy example of direct path
Publisher: newssite.com
SSP: pubmatic.com
DSP: The Trade Desk
newssite.com -> PubMatic -> DSP
DSP likes this because there are fewer middlemen, more transparency, and usually better trust.
Easy example of reseller path
newssite.com -> SSP A -> SSP B -> DSP
This means SSP B is not the original direct seller. It is getting the impression through another seller.
DSP may still buy it, but may bid less, treat it as lower priority, or compare it with direct supply.
Why DSPs care so much
DSPs want to avoid fraud, fake domains, unauthorized sellers, extra fees, and bad quality supply.
If the path is long, the DSP may ask: "Why buy through three middlemen when I can buy directly?" This is part of Supply Path Optimization (SPO).
Baby-step SSP view
From the SSP side, schain means: I need to tell the buyer where this impression came from.
So SSP adds schain to show transparency, prove source of supply, help DSP trust the impression, and reduce fraud concerns.
Baby-step DSP view
From the DSP side, schain means: Let me see the path before I decide to bid.
DSP checks whether the path is direct, how many sellers are involved, whether it looks clean, and whether the seller is authorized.
Then DSP may bid high, bid low, or not bid.
Small real-world example
Imagine Nike's DSP gets two similar sports inventory requests:
Request 1
sportsnews.com -> Magnite -> DSP
Request 2
sportsnews.com -> SSP X -> SSP Y -> Exchange -> DSP
The DSP may choose Request 1 because the path is shorter, fee leakage is lower, trust is higher, and it is more likely direct inventory.
What information is inside schain?
Usually schain contains these parts:
| Field | Meaning |
|---|---|
asi | The advertising system or company domain, such as magnite.com, pubmatic.com, or google.com. |
sid | The seller ID on that platform. |
hp | hp = 1 means the main seller or payment handling node. hp = 0 means it is not the main payment handler. |
For learning, just remember: hp helps DSP understand which seller is primary in the chain.
Super simple fake example
Node 1: pubmatic.com, seller ID = 123
Node 2: exchangex.com, seller ID = 999
This means the request passed through PubMatic, then ExchangeX, then reached the DSP.
How SSP uses it in practice
If an SSP receives inventory from a publisher, it sends a bid request with schain showing where the supply came from.
If another exchange forwards the request, it may append or preserve chain information so the DSP still sees the path.
So the SSP's role is to keep the chain correct, send a transparent path, and not hide intermediaries.
How DSP uses it in practice
DSPs may apply rules like:
1 seller in path -> strong trust
2 sellers in path -> okay
3+ sellers in path -> lower trust
unknown seller -> block
This is not a universal rule, but it is the general logic.
| Situation | DSP feeling |
|---|---|
| Direct publisher path | Better |
| One reseller | Okay |
| Many resellers | Risky |
| Unknown seller | Bad |
| Clean schain | More trust |
| Missing schain | Less trust |
schain in one story
Cartoon App -> SSP A -> Exchange B -> DSP
The DSP understands where the supply started, that it passed through SSP A, then Exchange B, and then reached the DSP.
If everything looks valid, DSP bids. If the chain looks suspicious, DSP may drop it.
Difference between schain and ads.txt
ads.txt tells you who is allowed to sell the publisher's inventory.
schain tells you who actually sold this impression in this request.
ads.txt = authorizationschain = actual path
Both are related, but not the same.
Example with ads.txt plus schain
ads.txt
pubmatic.com, 123, DIRECT
rubicon.com, 456, RESELLER
schain
pubmatic.com -> rubicon.com -> DSP
If schain shows an unknown seller not authorized in ads.txt, the DSP may not trust it.
What happens if schain is missing?
The DSP may think there is less transparency, maybe a hidden reseller, and maybe more fraud risk.
Possible results: lower bid, no bid, or lower trust score.
Interview-ready answer
schain is the Supply Chain object in OpenRTB. It shows the sequence of sellers and intermediaries through which an impression passes before reaching the DSP. It helps buyers understand whether supply is direct or reseller, improves transparency, reduces fraud risk, and supports supply path optimization.
Very small SSP and DSP examples
SSP side: the SSP includes schain so the DSP can see publisher source, SSP seller ID, and any intermediary.
DSP side: the DSP receives one direct path and one three-hop reseller path and prefers the direct one because schain shows cleaner supply.
Final easiest summary
Think of schain like a delivery route history.
package = impressionwarehouses = SSPs / exchanges / resellersyour company = DSP
That route history is schain.
One-line memory trick
schain = path of sellers from publisher side to buyer side
Super short example
Publisher -> SSP -> DSP
Good, short chain.
Publisher -> SSP1 -> SSP2 -> Exchange -> DSP
Longer chain, more middlemen.
schain shows this path.