Browse the help center

Supply chain for DSPs and header bidding

Scenarios 1 and 2 of the supply-chain setup — a publisher's site sold to DSPs over OpenRTB, and a site sold through header bidding with other bidders in the tag — with the exact settings, the sellers.json entry, the schain node and the ads.txt block each produces, and how the non-advertiser bidders get their lines.

How-to network manager admin publisher Account → Publishers → site → Basic info → Supply chain

What it is and why

These are the two setups where the network’s own chain reaches buyers: in the OpenRTB bid request sent to a DSP partner, and in the header-bidding tag that runs on the publisher’s page. Each needs the site’s seller ID to agree across sellers.json, the schain node and the publisher’s ads.txt. The one-time network setup — seller domain, Publish sellers.json, the listed sites — is on Set up the network as a seller.

Example. The network Northwind Ads sells Sports Daily to DSPs. The bid request says asi: northwind-ads.example, sid: 4831207; https://northwind-ads.example/sellers.json lists seller 4831207 as Sports Daily Media Ltd, sportsdaily.example; and https://sportsdaily.example/ads.txt contains northwind-ads.example, 4831207, DIRECT. One check on each of the three files and the buyer knows the sale is authorised end to end.

Typical scenarios

You sell…SetThen read
A publisher’s site to DSPs over OpenRTBSend supply chain on the DSP partner; the site listed in sellers.json, Publisher type, generated IDScenario 1
Through header bidding, with other bidders in the tagA filled Seller ID (say nw-sd-01) so the tag carries your chain; each non-advertiser bidder’s line in the site’s Additional ads.txt linesScenario 2

Step by step

Scenario 1: the network sells a publisher to DSPs over OpenRTB

Setup. The DSP endpoints are DSP partners; their banners run on the publisher’s placements. On the DSP partner, switch on Send supply chain (see DSP partners). On the site Sports Daily, leave Seller ID empty to use the generated ID, keep Seller type = Publisher, tick List in sellers.json.

sellers.json entry (the generated ID is an example). The name is the company of the site’s owner, the domain the root domain of the site URL:

{ "seller_id": "4831207", "is_confidential": 0, "seller_type": "PUBLISHER",
  "name": "Sports Daily Media Ltd", "domain": "sportsdaily.example" }

schain node buyers receive (source.schain on OpenRTB 2.6, source.ext.schain on 2.5). It names the seller domain and the site’s seller ID because Publish sellers.json is on; with it off, the node keeps the installation domain and the generated ID:

{ "ver": "1.0", "complete": 1,
  "nodes": [ { "asi": "northwind-ads.example", "sid": "4831207", "hp": 1 } ] }

ads.txt the publisher publishes at https://sportsdaily.example/ads.txt:

northwind-ads.example, 4831207, DIRECT
meridian-ssp.example, MRD-5512, RESELLER, 7c1e2a90b3d54f6a

The second line comes from the network-wide lines in step 3 of the network setup.

Scenario 2: header bidding

Setup. Header-bidding tags carry a supply chain only when both the White Label Seller domain and the site’s Seller ID are filled in, because in header bidding the buyer may pay the publisher directly. If you resell the inventory, set the site’s seller ID — for example nw-sd-01 — and keep the site listed.

sellers.json entry: as in scenario 1, with "seller_id": "nw-sd-01".

schain in the tag (set as ortb2.source.ext.schain for Prebid):

{ "ver": "1.0", "complete": 1,
  "nodes": [ { "asi": "northwind-ads.example", "sid": "nw-sd-01", "hp": 1 } ] }

ads.txt: northwind-ads.example, nw-sd-01, DIRECT plus a line from every other bidder in the tag. See Header bidding settings. While the site has an active tag that carries this chain, its block asks for this pair whether or not Publish sellers.json is on, because the tag sends it either way. If DSP partners also buy the site, the block keeps the line their bid requests name it by as well — with sellers.json off that is the installation domain and the generated ID; with it on, both name the same pair and one line covers both. A site sold only through header bidding is not asked for the OpenRTB line.

The other bidders. Say Sports Daily’s tag also offers every slot to Adform, as Prebid bidder adf. Adform is not an advertiser in your account — it bids in the publisher’s page, not through a banner — so it has no advertiser to carry its line. The site’s ads.txt block lists it in the Header-bidding partners table, one row per bidder:

Partner             Bidder code   Status
Adform adform.com   adf           Line missing — ask Adform for its line
  1. Ask Adform for the line it gives this site, for example adform.com, 2817, RESELLER.
  2. Open the site’s Supply chain section, paste the line into Additional ads.txt lines and press Add lines. The line appears under Saved lines and joins the block under This site, and Adform’s status changes to Added, not on the live file yet.
  3. The publisher copies or downloads the block as before. Once a check finds the line in the publisher’s file, Adform’s status reads Live.

The status always combines the block with the last check of the live file. When there is no check that read the file — never checked, the file was not found or could not be fetched — a partner whose line is in the block reads In the list above — not confirmed on the live file, because nothing can be said about the file yet. A line added after the last check counts as not on the live file until the next check, nightly or Re-check now.

Each bidder is mapped from its Prebid code to the ad system it sells under, from a list checked against each company’s own sellers.json and publisher documentation: adf adform.com, appnexus appnexus.com, criteo criteo.com, rubicon rubiconproject.com, ix indexexchange.com, pubmatic pubmatic.com, openx openx.com, sovrn lijit.com, smartadserver smartadserver.com, triplelift triplelift.com, sharethrough sharethrough.com, gumgum gumgum.com, teads teads.tv, yieldmo yieldmo.com, onetag onetag.com, richaudience richaudience.com, improvedigital improvedigital.com, amx amxrtb.com, medianet media.net. Any other bidder is listed as Unknown ad system — ask the partner.

The live check counts a known bidder’s system as missing when the publisher’s file has no record for that domain at all, and shows it under Missing from the live file as Any line from Adform (adform.com). A record you did not paste still satisfies it — the publisher may have Adform’s line from another seller.

Caveats and exceptions

A header-bidding partner is listed from the site’s active tags only. Switch a tag off and its bidders drop out of the block and of the check.

The caveats that apply to every supply-chain setting — who can do this, what a seller ID change touches, which line the network’s own entry is — are on Supply chain, sellers.json and ads.txt: setup by scenario.

Not working?

  1. The bid request carries no chain. Where: the DSP partner’s Send supply chain switch (Admin → DSP partners → the partner).
  2. The header-bidding tag carries no chain. Where: both the White Label Seller domain and the site’s Seller ID — the tag sends a chain only when both are filled in.
  3. A bidder reads Unknown ad system — ask the partner. Where: its Prebid code is not in the mapped list above; ask the partner which ad system it sells under and for its line.

The causes of Missing lines: N, File not found and Could not check are on Supply chain, sellers.json and ads.txt: setup by scenario.

Reference

The terms (asi, sid, complete, DIRECT, RESELLER) are in the hub’s Glossary; every setting and its page in Where things live. The tag-side settings: Header bidding settings.

Related pages

Please disable Adblock
Are you using adblock? Disable it and reload the page to proceed to the destination page.

A registration has already been submitted from this page. Please try again in 10 minutes.