供給パートナー向けの OpenRTB 2.6 プロトコルとの統合
このページでは、Xandr の供給パートナーが OpenRTB プロトコルを使用して統合する方法について説明します。 Xandr では、すべてのメディアの種類でインプレッションを受け取るための OpenRTB 2.6 プロトコルがサポートされています。 このドキュメントでは、追加または実装される新しいフィールドなど、変更または更新を行う最上位のオブジェクトを強調表示します。 さらに、OpenRTB 2.4/2.5 の以前の場所から OpenRTB 2.6 の新しい場所に切り替えられたフィールドの概要を示します。
実装
最新のサプライサイド プロトコルとのシームレスな機能と互換性を確保するには、すべての供給パートナーが OpenRTB 2.6 のサポートをアクティブ化することが不可欠です。 このバージョンでは、オークションの効率、在庫の透明性、需要パートナーとの相互運用性を向上させるために設計された新しいフィールドと拡張機能が導入されています。
注:
OpenRTB 2.6 で OpenRTB 2.6 を有効にして、以下に示す OpenRTB 2.6 フィールドの分離を開始する必要があります。 それ以外の場合、システムは既定でバージョン 2.4 または 2.5 になります。 この設定を更新するには、アカウントの担当者に問い合わせるか、サポート ポータルからチケットを送信します。
最上位レベルの入札要求オブジェクト
OpenRTB 2.6 プロトコルでは、OpenRTB 2.4 で以前にサポートされていた最上位のオブジェクトとその関連フィールドにいくつかの変更と更新が導入されています。 次のセクションでは、これらの変更と更新について詳しく説明し、OpenRTB 2.6 実装の一部として変更または追加された特定のオブジェクトとフィールドについて説明します。
注:
ここに記載されていないフィールドは、 OpenRTB 2.4 プロトコルに記載されているように、元の場所で引き続きサポートされます。
フィールド | 種類 | 説明 |
---|---|---|
imp |
オブジェクトの配列 | (必須)。 この入札要求で提供されるインプレッション。 以下の 「インプレッション オブジェクト」を 参照してください。 手記: imp は、OpenRTB 2.6 プロトコル ガイドの新しいフィールドではありません。 このドキュメントには、以下のセクションのrwdd フィールドへの参照としてのみ含まれています。 |
Impression オブジェクト
Imp
オブジェクトは、サプライ パートナーによってオークションされる広告の配置またはインプレッションを定義します。 1 つの入札リクエストに複数の Imp
オブジェクトを含めることができます。これは、特定のページ上のすべての広告ポジションの販売をサポートする取引所に役立ちます。 各 Imp
オブジェクトには ID が必要であり、入札で個別に参照できます。
注:
ここに記載されていないフィールドは、 OpenRTB 2.4 プロトコルに記載されているように、元の場所で引き続きサポートされます。
OpenRTB 2.6 実装の一環として、Xandr は次のフィールドを Imp Object
に追加しました。
フィールド | 種類 | 説明 |
---|---|---|
rwdd |
integer | このフィールドは、ユーザーが広告を表示するための報酬を受け取るかどうかを示します。0 は "いいえ" を表し、1 は "はい" を表します。通常、ビデオ広告の実装では、追加のニュース記事への無料アクセス、ゲームでの余分な生活、スポンサー広告なしの音楽セッションなどの報酬が付与されます。 報酬は通常、動画広告が完全に表示された後に提供されます。 |
video |
object | このフィールドは、インプレッションが動画広告として提供される場合に必要です。 下の ビデオ オブジェクトを 参照してください。 手記: video は、OpenRTB 2.6 プロトコル ガイドの新しいフィールドではありません。 このドキュメントには、以下のセクションのplcmt フィールドへの参照としてのみ含まれています。 |
Video オブジェクト
Video
オブジェクトは、ビデオの印象を表します。 そのフィールドの多くは、最小限の実行可能なトランザクションに不可欠ではありませんが、必要に応じて細かい制御を提供するために含まれています。 OpenRTB のビデオは一般に VAST 標準に準拠しています。 したがって、コンパニオン広告は、必要に応じて、これらのコンパニオン広告を定義する Banner
オブジェクトの配列を含めることによってサポートされます。 詳細については、バナー オブジェクトに関するページを参照してください。
注:
ここに記載されていないフィールドは、 OpenRTB 2.4 プロトコルに記載されているように、元の場所で引き続きサポートされます。
OpenRTB 2.6 実装の一環として、Xandr は次のフィールドを Video
オブジェクトに追加しました。
フィールド | 種類 | 説明 |
---|---|---|
plcmt |
integer | インプレッションのビデオ配置の種類は、リスト: Plcmt サブタイプ - AdCOM 1.0 のビデオを参照します。 |
ビデオ広告ポッド
バージョン 2.6 以降、OpenRTB では、ビデオおよびオーディオ コンテンツ ストリームの "ポッド入札" がサポートされるようになりました。 広告ポッドとは、テレビで見られたりラジオで聞こえたりした場合と同様に、コンテンツ ストリーム内で順番に再生される 1 つ以上のインストリーム クリエイティブアセットを含む広告ブレークを指します。 OpenRTB 2.6 では、1 つの入札リクエスト内で複数の広告リクエストを許可することで、以前のバージョンの機能が強化され、関連していることを示します。
ポッド入札シグナルでは、広告の表示順序、ポッドの長さの合計、ポッドあたりの広告の最大数、複数のポッドの関連付けなど、ポッドとそのインプレッション機会に関する追加情報が提供されます。
実装に関する注意点
現在、販売側のすべてのポッドの種類がサポートされています。ただし、購入側では、すべての要求は、入札者に送信された入札要求の構造化ポッドに変換されます。 これは、現在、プラットフォームが構造化ポッドのみを処理するためです。
OpenRTB 2.6 実装の一環として、Xandr は次のフィールドを Video
オブジェクトに追加しました。
フィールド | 種類 | 説明 |
---|---|---|
Video.podid |
string | インプレッション 機会が動画広告ポッドに属していることを示す一意の識別子。 入札リクエスト内の複数のインプレッション機会が同じ podid を共有している場合、そのインプレッション機会は同じ動画広告ポッドに属していることを示します。 |
Video.podseq |
integer 既定値: 0 |
コンテンツ ストリーム内のビデオ広告ポッドのシーケンス (位置)。 このフィールドの使用に関するガイダンスについては、AdCOM 1.0 を参照してください。 |
Video.rqddurs |
integer 配列 | ビデオ クリエイティブの正確な許容期間 (秒単位)。 このフィールドは、具体的には、非正確な広告期間が望ましくない "デッドエア" になるライブテレビのユース ケースを対象とします。 このフィールドは、 minduration と maxduration と相互に排他的です。 rqddurs が指定されている場合は、 minduration と maxduration を指定しないでください。その逆も同様です。 |
Video.slotinpod |
integer 既定値: 0 |
ビデオ広告ポッドの場合、この値は、販売者がポッド内の指定されたスロット位置に対して配信を保証できることを示します。 このフィールドの使用に関するガイダンスについては、「リスト: AdCOM 1.0 のポッドのスロット位置」を参照してください。 |
plcmt |
integer | リスト: Plcmt サブタイプ - AdCOM 1.0 のビデオへのインプレッション参照のビデオ配置の種類。 実装ガイドについては、「Plcmt 、Placement 、およびContext フィールドを一緒に使用する」を参照してください。 |
Plcmt
、Placement
、およびContext
フィールドを一緒に使用する
OpenRTB 2.6 仕様は、OpenRTB 2.4/2.5 の placement
フィールド (imp.video.placement
) を plcmt
フィールド (imp.video.plcmt
) に置き換えます。 ただし、一部の入札者は OpenRTB 2.4/2.5 を引き続き使用できます。 需要ソースを最大化するには、 placement
と plcmt
の両方のフィールドを要求に含めます。
正しい値を見つけるには、次の表を参照してください。 まず、OpenRTB 2.4/2.5 placement
値を、OpenRTB 2.6 の対応する "plcmt" フィールドと比較します。
注:
Instream
配置が Instream
と新しい Accompanying Content
値に分割されるようになりました。
[plcmt
] フィールドと [placement
] フィールドに加えて、AppNexus ビデオ拡張オブジェクト (imp.video.ext.appnexus.context
) のcontext
フィールドを入札要求に含めます。 このフィールドは、ビデオの位置 (プリロール、ミッドロール、ポストロールなど) に関する重要な情報を提供します。 plcmt
フィールドまたは placement
フィールドだけでは伝達されません (下の「Xandr Extension」列を参照)。 入札リクエストに 3 つのフィールドがすべて含まれるようにします。
Video Ad の種類 | 説明 | OpenRTB 2.4/2.5 | OpenRTB 2.6 | Xandr 拡張機能 |
---|---|---|---|---|
Instream |
プリロール広告、ミッドロール広告、ポストロール広告は、コンシューマーから要求されたストリーミング ビデオ コンテンツの前後に再生されます。 インストリーム ビデオは、既定では "サウンド オン" で始まるか、ビデオ コンテンツを明示的に表示する明確なユーザー意図を持っている必要があります。 追加のコンテンツがプレーヤーを囲む場合もありますが、ビデオ コンテンツはユーザーの訪問の主な焦点である必要があります。 これは、ページ上のメインコンテンツのままで、再生中にオーディオ機能を備えた唯一のビデオプレーヤーを表示する必要があります。 プレイヤーがフローティング モードまたは固定モードに切り替わる場合、その後の広告呼び出しは、更新されたプレイヤー サイズを正確に反映する必要があります。 手記: 開始遅延は、配置が 1 で plcmt = 1 の場合に、適切なコンテキスト (プリロール、ミッドロール、またはポストロール) を決定します。 |
imp.video.placement = 1 |
imp.video.plcmt = 1 |
imp.video.ext.appnexus.context = 1 (pre-roll)、imp.video.ext.appnexus.context = 2 (mid-roll)、imp.video.ext.appnexus.context = 3 (ポストロール) |
In-Article (formerly known as Appnexus Outstream format) |
ビデオ広告は、ストリーミング ビデオ コンテンツとは別に再生され、スライドショー、ネイティブ フィード、コンテンツ内、固定/フローティング要素などの配置に表示されます。 これらの広告は、編集コンテンツの段落間で動的に読み込み、再生され、個別のブランド化されたメッセージとして表示されます。 | imp.video.placement = 3 |
imp.video.plcmt = 4 |
imp.video.ext.appnexus.context = 4 (outstream) |
In Banner |
この形式は、バナー空間を利用して静的またはリッチ メディア形式ではなくビデオ エクスペリエンスを提供する Web バナー内に存在します。 これは、配信のためにページ上のディスプレイ広告インベントリの可用性に応じて異なります。 | imp.video.placement = 2 |
imp.video.plcmt = 4 |
imp.video.ext.appnexus.context = 5 (バナーストリーム) |
In Feed |
この広告形式は、コンテンツ、ソーシャル、または製品フィードに表示されます。 | imp.video.placement = 4 |
imp.video.plcmt = 2 |
imp.video.ext.appnexus.context = 6 (フィード内) |
Interstitial |
この広告フォーマットは、ビデオコンテンツに付随することなくビデオを再生します。 再生中は、ページの主なフォーカスを維持し、ビューポートの大部分を占有し、ビュー外にスクロールせずに固定したままにする必要があります。 これは、アプリ内ビデオやスライドショーなどの配置で発生する可能性があります。 | imp.instl = 1 ,imp.video.placement = 5 |
imp.video.plcmt = 3 |
imp.video.ext.appnexus.context = 7 (スポット) |
Accompanying Content |
ビデオ コンテンツのストリーミング前、再生中、またはストリーミング後に再生されるプレロール広告、ミッドロール広告、ポストロール広告。 ビデオ プレーヤーは、テキストまたはグラフィカル コンテンツの段落の前、間、または後に読み込んで再生し、ビューポートに入ったときにのみ再生を開始します。 付属のコンテンツは、ビューポートに入ったときにのみ再生を開始する必要があります。 動画コンテンツのストリーミング前、再生中、またはストリーミング後にプレロール、ミッドロール、ポストロールの広告に変換できます。 ビデオ プレーヤーは、テキストまたはグラフィカル コンテンツの段落の前、間、または後の再生を読み込んで開始します。再生は、表示されるときにのみ開始されます。 付属のコンテンツは、ビューポートに入ると再生を開始します。 プレーヤーは、ページからスクロールする際に浮動または固定の位置に変換できます。 手記: 開始遅延は、配置 = 1、plcmt = 2 の場合に使用するコンテキスト (プリロール、ミッドロール、またはポストロール) を決定します。 |
imp.video.placement = 1 |
imp.video.plcmt = 2 |
imp.video.ext.appnexus.context = 8 (プリロール) 、imp.video.ext.appnexus.context = 9 (mid-roll)、imp.video.ext.appnexus.context = 10 (ポストロール) |
オブジェクト: ネットワーク
このオブジェクトは、広告が表示されるネットワークについて説明します。 ネットワークは、チャネルを編成するために Channel オブジェクトのエンティティの親エンティティとして定義されます。 たとえば、コンテンツ チャネルのコレクション (Viacom、Discovery、CBS、WarnerMedia、Turner など) を所有またはライセンスしている企業や、そのようなコンテンツを作成し、コンテンツを自己配布するスタジオなどがあります。
名前は人間が判読できるフィールドですが、ドメインと ID はレポートとターゲット設定の目的で使用できます。
ネットワーク属性
属性 | 種類 | 説明 |
---|---|---|
id | string | パブリッシャーによって割り当てられた一意の識別子。 これは、すべての供給ソースで一意ではない可能性があります。 |
name | string | コンテンツがオンになっているネットワーク (たとえば、"ABC" のようなテレビ ネットワーク)。 注: このフィールドは、以前のバージョンの OpenRTB の コンテンツ オブジェクト の拡張によって以前にサポートされていました。 詳細については、 OpenRTB 2.4 のドキュメントを参照してください。 |
domain | string | ネットワークのプライマリ ドメイン (たとえば、ネットワーク ABC の "abc.com")。 正規化を目的とした DSP の場合は、上位プライベート ドメイン (PSL+1) を含めておくことをお勧めします。 |
オブジェクト: チャネル
このオブジェクトは、広告が表示されるチャネルについて説明します。 チャネルは、視聴者のブランド名内でコンテンツ ライブラリまたはストリームをキュレーションするエンティティとして定義されます。 たとえば、線形テレビやストリーミング テレビ (MTV、HGTV、CNN、BBC One など) 内の特定のビュー選択可能な "チャネル" や、一般的に "ステーション" と呼ばれるオーディオ コンテンツの特定のストリームなどがあります。
名前は人間が判読できるフィールドですが、ドメインと ID はレポートとターゲット設定の目的で使用できます。
チャネル属性
属性 | 型 | 説明 |
---|---|---|
id |
string | パブリッシャーによって割り当てられた一意の識別子。 これは、すべての供給ソースで一意の識別子ではない可能性があります。 |
name |
string | コンテンツがオンになっているチャネル (たとえば、"WABC-TV" のようなローカル チャネル)。 |
domain |
string | チャネルのプライマリ ドメイン (たとえば、ローカル チャネル WABC-TV の場合は "abc7ny.com")。 正規化を目的とした DSP の場合は、上位プライベート ドメイン (PSL+1) を含めておくことをお勧めします。 |
更新されたフィールドの場所
OpenRTB 2.4/2.5 の古い場所から OpenRTB 2.6 の新しい場所に、いくつかのフィールドが移動しました。
注:
ここに記載されていないフィールドは、[OpenRTB 2.4 プロトコル] (incoming-bid-request-from-ssps.md) に記載されているように、元の場所で引き続きサポートされます。
古い場所 (OpenRTB 2.4/2.5) | 新しい場所 (OpenRTB 2.6) | 型 | 説明 |
---|---|---|---|
regs.ext.gdpr |
regs.gdpr |
integer | GDPR 規制の適用可能性を示すフラグは、次のように設定されます。 - 0 は No を示します - 1 はいを示します - 省略 は不明を表します 詳細については、「 Regs リソース 」を参照してください。 |
regs.ext.us_privacy |
regs.us_privacy |
string | 米国のプライバシー規制に基づき、消費者のプライバシーシグナルを伝えます。 詳細については、「 Regs リソース 」を参照してください。 |
ext.schain |
source.schain |
object | このオブジェクトは、サプライ チェーン内のリンクを表し、サプライ チェーンが完了したかどうかを示します。 詳細については、「 サプライ チェーン 」を参照してください。 |
ext.schain.complete |
schain.complete |
integer | チェーンにトランザクションに関係するすべてのノードが含まれているかどうかを示し、サイト、アプリ、またはその他のインベントリ メディアの所有者にトレースバックします。 値 0 は no を意味し、1 ははいを意味します。 |
ext.schain.nodes |
source.schain.nodes |
object 配列 | SupplyChainNode オブジェクトの配列をチェーンの順序で表します。 完全なサプライ チェーンでは、最初のノードは、サイト、アプリ、またはその他の中規模の所有者など、トランザクションに関連する初期広告システムと販売者 ID です。 不完全なサプライ チェーンでは、最初の既知のノードを表します。 最後のノードは、この入札要求を送信するエンティティを表します。 |
ext.schain.ver |
source.schain.ver |
string | 使用中のサプライ チェーン仕様のバージョンを示します。"major.minor" という形式です。 たとえば、仕様のバージョン 1.0 に文字列 "1.0" を使用します。 |
ext.schain.nodes.asi |
source.schain.nodes.asi |
string | 入札者が接続する SSP、Exchange、ヘッダー ラッパー、またはその他のシステムの正規ドメイン名を示します。 このドメインは、WHOIS を容易にし、委任システムの明確な所有権を確立するための逆 IP 参照を容易にするために、親企業ドメインと異なる場合は、システムの運用ドメインである可能性があります。 これは、ads.txt ファイル内の販売者を識別するために使用される値と同じ値にする必要があります (存在する場合)。 |
ext.schain.nodes.sid |
source.schain.nodes.sid |
string | 広告システム内の販売者またはリセラー アカウントに関連付けられている識別子。 この値は、SSP/exchange で指定されたフィールドのトランザクション (OpenRTB 入札要求など) で使用される値と一致する必要があります。 通常、これは OpenRTB で publisher.id され、OpenDirect の発行元のorganization ID です。 この値の長さは 64 文字に制限します。 |
ext.schain.nodes.rid |
source.schain.nodes.rid |
string | この販売者が要求に対して発行した OpenRTB RequestId。 |
ext.schain.nodes.hp |
source.schain.nodes.hp |
integer | このノードが在庫の支払フローに参加するかどうかを示します。 1 に設定すると、asi フィールドの広告システムは sid フィールドの販売者に支払いを行い、チェーン内の前のノードの支払いを担当します。 0 に設定すると、このノードは在庫の支払フローに参加しません。 SupplyChain バージョン 1.0 の場合、このプロパティは常に 1 である必要があります。 実装者は、ダウンストリームの広告システムに送信される入札要求で SupplyChain オブジェクトを構築するときに、このフィールドを伝達する必要があります。 |
device.ext.sua |
device.sua |
UserAgent オブジェクト | 入札要求には、UserAgent オブジェクトによって定義された構造化されたユーザー エージェント情報が含まれます。 ua と sua の両方を指定する場合は、デバイス属性のより正確な表現を提供する sua を優先する必要があります。 この設定は、ua に固定または切り捨てられた UserAgent 文字列が含まれている可能性があるためです。 |
device.ext.user_agent_data.browsers |
UserAgent.browsers |
BrandVersion オブジェクトの配列 | 各 BrandVersion オブジェクトは、ブラウザーまたは同様のソフトウェア コンポーネントを識別します。 実装者は、Sec-CH-UA-Full-Version-List ヘッダーから取得したブランドとバージョンを送信する必要があります。 詳細については、「 BrandVersion 」を参照してください。 |
device.ext.user_agent_data.platform |
UserAgent.platform |
BrandVersion オブジェクト | BrandVersion で説明されている BrandVersion オブジェクトは、ユーザー エージェントの実行プラットフォームまたはオペレーティング システム (OS) を識別するために機能します。 この情報を正確に伝達するために、実装者は、ユーザー エージェント プラットフォームの詳細に関連するヘッダーを処理するときに、特定のガイドラインに従うことをお勧めします。 ブランドとバージョンの特定: - ブランド (プラットフォーム): Sec-CH-UA-Platform ヘッダーからブランド情報を抽出します。 このヘッダーには、通常、プラットフォームまたは OS の種類を指定するデータが含まれています。 - バージョン (プラットフォーム バージョン): Sec-CH-UA-Platform-Version ヘッダーからバージョン情報を抽出します。 このヘッダーは、プラットフォームまたは OS に関連付けられている特定のバージョン番号を提供します。 |
device.ext.user_agent_data.mobile |
UserAgent.mobile |
integer | エージェントが小さい画面またはタッチ入力用に最適化されたコンテンツの "モバイル" バージョンを好むかどうかを示す値は、Sec-CH-UA-Mobile ヘッダーから派生する必要があります。 |
device.ext.user_agent_data.architecture |
UserAgent.architecture |
string | Sec-CH-UA-Arch ヘッダーから、"x86" や "arm" などのデバイスの主要なバイナリ アーキテクチャを取得します。 実装者は、ユーザー エージェントのデバイスのプライマリ アーキテクチャを識別するために、この値を抽出する必要があります |
device.ext.user_agent_data.bitness |
UserAgent.bitness |
string | Sec-CH-UA-Bitness ヘッダーから、64 ビット アーキテクチャの "64" などのデバイスのビット数を取得します。 実装者は、ユーザー エージェントのデバイスのビット数を判断するために、この値を抽出する必要があります。 |
device.ext.user_agent_data.model |
UserAgent.model |
string | Sec-CH-UA-Model ヘッダーからデバイス モデルを取得します。 実装者は、ユーザー エージェントのデバイスの特定のモデルを識別するために、この値を抽出する必要があります。 |
device.ext.user_agent_data.browsers.brand |
BrandVersion.brand |
string | "Chrome" や "Windows" などのブランド識別子は、User-Agent クライアント ヒント ヘッダーから取得されます。 これは、Sec-CH-UA-Full-Version ヘッダーから抽出されたユーザー エージェント ブランド、または Sec-CH-UA-Platform ヘッダーから派生したプラットフォーム ブランドを表します。 |
device.ext.user_agent_data.browsers.version |
BrandVersion.version |
文字列の配列 | これは、メジャー、マイナー、マイクロなどの降順の階層順に配置された一連のバージョン コンポーネントで構成されます。 |
user.ext.consent |
user.consent |
string | GDPR 規制が有効な場合、この属性は透明性と同意フレームワークの同意文字列データ構造を保持します。 |
user.ext.eids |
user.eids |
object 配列 | このセクションでは、複数のサード パーティ ID プロバイダーに対する標準プロトコルのサポートについて詳しくは説明します。 詳細については、「 オブジェクト EID 」を参照してください。 |
user.ext.eids.source |
EID.source |
string | 含まれる ID のセットを担当するソースまたはテクノロジ プロバイダーは、最上位ドメインとして表されます。 |
user.ext.eids.uids |
EID.uids |
object 配列 | 指定した配信元からソースを取得した拡張 ID UID オブジェクトの配列で構成されます。 詳細については、オブジェクト UID を参照してください。 |
user.ext.eids.uids.id |
UID.id |
string | これは、ユーザーの識別子を表します。 |