SupplyChain オブジェクトを使用すると、購入者と仲介販売者は、広告枠を販売または再販売するすべての当事者を確認できるようになります。このオブジェクトは、ads.txt
/ ads.txt
および ads.txt
と連携して機能し、広告エコシステムの透明性を実現します。
- パブリッシャーが入札リクエストを送信します。
- 購入者が SupplyChain オブジェクトから入札リクエストとデータを受け取ります。
- 購入者は、広告枠を再販売するすべての仲介販売者の ID を確認します。
- 購入者は、広告枠の認定販売者かどうかをクロールして確認します。
該当する場合、OpenRTB リクエストまたは Google RTB プロトコル内に、このオブジェクトが自動的に作成されます。
SupplyChain オブジェクトの仕組み
SupplyChain オブジェクト(
)は、OpenRTB 入札リクエストに含まれており、「ノード」で構成されます。schain
schain
オブジェクトの各ノードは、入札リクエストに関与する特定のエンティティを表します。入札リクエストには、広告枠の支払いに直接かかわるすべてのエンティティが含まれます。
// オブジェクトの例
"schain": {
"complete": 1,
"nodes": [{
"asi":"google.com",
"sid":"pub-1234567891234567", // sellers.json に記載されているパブリッシャーの seller_id と同じ
"hp":1
}],
"ver":"1.0"
}
詳しくは、OpenRTB のデベロッパー向けドキュメントと IAB のドキュメントをご覧ください。
SupplyChain オブジェクトは、購入者との関係に応じて構成が異なります。
Google で直接販売を行うパブリッシャー
アド マネージャー、AdMob、または AdSense を介して広告枠を直接販売するパブリッシャーの場合、schain
オブジェクトには「google.com」のノード 1 つのみが含まれ、その seller_id
は sellers.json に記載のものと同じになります。
Open Bidding を使用するパブリッシャー
Open Bidding を使用して第三者エクスチェンジと連携するパブリッシャーの場合、schain
オブジェクトに 2 つのノードが存在します。1 つは sellers.json に記載のものと同じ seller_id
を持つ google.com のノード、もう 1 つはエクスチェンジの収益パートナーのノードです。
Google が入札リクエストを送信する前に google.com のノードを作成するのと同じように、第三者エクスチェンジは、リクエストを渡す前にノードを追加します。
支払い処理を行わないすべての仲介販売者
支払い処理を行わない仲介販売者は、SupplyChain オブジェクトに含まれません。これには、クライアントサイドのヘッダー入札、支払いを伴わないヘッダー入札、広告枠の共有、その他のメディエーションが含まれます。
リクエスト前に支払い仲介販売者を利用するパブリッシャー (ベータ版)
ベータ版の機能は、ネットワークによってはご利用になれない場合があります。この機能の一般公開の時期については、リリースノートをご覧ください。
Google アド マネージャーへのリクエストのアップストリームで支払い仲介販売者を利用しているパブリッシャーは、IAB ガイドラインに沿って SupplyChain
オブジェクトを渡す必要があります。SupplyChain
オブジェクトには、広告枠の支払いに直接かかわる仲介販売者のみを含める必要があります。このような仲介販売者には、パブリッシャーが使用する第三者広告サーバー技術が含まれる場合があります。SupplyChain
オブジェクトは、schain
パラメータを使用して広告リクエストで送信できます。
説明
サプライ チェーン(schain
)パラメータには、シリアル化された SupplyChain オブジェクトの変数値を設定します。このパラメータが含まれている場合は、購入者に送信される前に、受け取った schain
オブジェクトにノードが追加されます。
(OpenRTB ではなく)タグを介して SupplyChain の情報を送信する方法については、IAB の詳細なドキュメントをご覧ください。
schain
が正しく解析されるための要件を確認する
IAB のドキュメントに基づき、次のように SupplyChain
オブジェクトのシリアル化を定義します。
{SupplyChainObject}!{SupplyChainNode array}. SupplyChainObject
プロパティとSupplyChainNode
プロパティはカンマ区切りで、任意のフィールドを省略することができます。カンマ区切りは必要に応じて省略できます。- 各
SupplyChainNode
要素は「!
」で区切ります。 - プロパティの値に URL エンコードが必要な文字(「
,
」や「!
」など)が含まれている場合は、シリアル化の前に値を URL エンコードする必要があります。
シリアル化の順序
SupplyChainObject
プロパティは次の順序でシリアル化されます。
ver,complete
SupplyChainNode
プロパティは次の順序でシリアル化されます。
asi,sid,hp,rid,name,domain,ext
ext
の内容はエクスチェンジによって異なります。Google アド マネージャーでは、このプロパティは解析されません。SupplyChain オブジェクトをシリアル化する方法の例
上記の SupplyChain
オブジェクトをシリアル化する方法の 2 つの例を以下に示します。
1.0,1!exchange1,12345,1,bid-request-1,publisher1,publisher1.com!google.com,pub-12345678910,1,,,,
1.0,1!exchange1,12345,1,bid-request-1,publisher1,publisher1.com!google.com,pub-12345678910,1
使用例
schain=1.0,1!exchange1,12345,1,bid-request-1,publisher1,publisher1.com!google.com,pub-12345678910,1,,,,
asi
の値が exchange,1
の場合、エスケープ文字を使用したシリアル化は次のようになります。
1.0,1!exchange%2C1,12345,1,bid-request-1,publisher1,publisher1.com!google.com,pub-12345678910,1
要件と推奨事項
このパラメータが広告の配信に必要となる実装タイプや取引タイプはありませんが、Google アド マネージャーへのリクエストのアップストリームで支払い仲介販売者を利用しているパブリッシャーの場合は必須です。第三者広告サーバー技術を使用するパブリッシャーもこれに該当します。
SupplyChain
オブジェクトに追加されたノードは、パブリッシャーの ads.txt / app-ads.txt ファイルにも記載されている必要があります。記載されていない場合、購入者はトラフィックを許可されていないものとみなす可能性があります。クライアント管理を使用するパブリッシャー
親パブリッシャーはクライアント管理(MCM)ツールを利用して、子パブリッシャーの広告枠を、「アカウントの管理」委任タイプを使用して個別に収益化することも、「広告枠の管理」委任タイプを使用して大規模に収益化することもできます。
「広告枠の管理」を使用する親パブリッシャーと子パブリッシャーの場合、SupplyChain オブジェクトが 1 つ作成され、親パブリッシャーの販売者 ID 用に 1 つのノード、子パブリッシャー用に 1 つのノードが設定されます。schain
オブジェクトは完了としてマークされます。
「アカウントの管理」を使用する親パブリッシャーと子パブリッシャーの場合、schain
オブジェクトには子パブリッシャーの販売者 ID を含むノードが 1 つあり、チェーンが完了としてマークされています。「アカウントの管理」のパブリッシャーの場合は、子パブリッシャーのアカウントで収益が発生します。子パブリッシャーは最終的なパブリッシャーとして扱われます。親パブリッシャーの情報は schain
オブジェクトに含まれません。