動画広告

このガイドでは、動画広告枠に入札する際に使用できる統合要件、構成、関連フィールドについて概説します。

Google は、個々の広告オポチュニティまたは動的動画広告ポッドとして表されるインストリーム動画広告、ネイティブ動画広告、インタースティシャル動画広告をサポートしています。動的連続配信広告は、連続して表示される動画広告のグループ化を表します。連続配信広告の最大再生時間は、長さが異なる 1 つ以上の動画に分割されます。これらのフォーマットの詳細については、ネイティブ広告フォーマットとインタースティシャル広告フォーマットのガイドをご覧ください。

購入者の要件

RTB プロトコル

このガイドでは一般に Protobuf 形式について説明しますが、特に明記しない限り、フィールド名とパスは Protobuf 形式と JSON 形式で同じです。

OpenRTB プロトコルと Google 固有の OpenRTB 拡張機能については、プロトコルとリファレンス データのページをご覧ください。ビッダーの開発の詳細については、リクエストを処理するレスポンスをビルドするをご覧ください。

クリエイティブの審査

クリエイティブを使用して入札する前に、クリエイティブを送信して承認を受けることをおすすめします。審査プロセスを開始するには、Real-time Bidding API のクリエイティブ リソースを使用します。

プレターゲティング設定

動画広告枠を受け取るには、認定バイヤー アカウントで動画広告枠を含むプレターゲティング設定を作成する必要があります。

マクロ

マクロは、動画 URL リンクまたは BidResponse.seatbid.bid.adm で指定された VAST XML のいずれかで指定できます。また、動画 URL を指定する場合は、リンクされた VAST XML ドキュメント内にマクロを配置することもできます。動画クリエイティブでは、次のマクロがサポートされています。

  • %%CACHEBUSTER%%
  • %%WINNING_PRICE%%
  • %%SITE%%

認定バイヤーではクリック トラッカーが VAST ラッパーに含まれているため、CLICK_URL_ESC などのクリックマクロはサポートされていません。サポートされているマクロの詳細については、マクロを指定するをご覧ください。

コールアウトの詳細

OpenRTB の BidRequest.imp.video フィールドを使用すると、受信した入札リクエストがインストリーム動画広告枠またはインタースティシャル動画広告枠を対象としているかどうかを特定し、リクエストに関する動画固有の追加情報を確認できます。また、ネイティブ広告枠では、BidRequest.imp.native.{request/request_native}.assets.video を使用して動画固有の類似情報を指定することもできます。

BidRequest.{app/site}.content.producer.domain

動画コンテンツを説明するページの URL(パラメータなし)。ニュース メディアはこの URL を Google に送信します。次に例を示します。

http://www.publisher.com/watchpagelink
banner.vcm
true に設定すると、動画広告の再生が終了した後に、動画スロットのエンドキャップ(情報カード)としてレンダリングされるようにコンパニオン広告を選択できます。それ以外の場合、連動広告はエンドキャップとしてレンダリングされません。
BidRequest.imp.rwdd
true に設定すると、動画広告を視聴したユーザーがリワードを受け取ることを示します。一般的な特典には、追加記事を無料で読む、ゲームで追加のライフを獲得する、スポンサー提供の広告なしの音楽セッションを利用するなどがあります。
BidRequest.imp.video.maxduration

入札レスポンスに含まれる個々の広告で許容される最大再生時間(秒単位)。 未設定の場合、最大時間はありません。BidRequest.imp.video.skiptrue の場合、動作が異なる場合があります。詳しくは、スキップ可能な動画の最大再生時間をご覧ください。

BidRequest.imp.video.maxseq

動的動画連続配信広告に配信される広告の最大数。poddur が設定されていて、maxseq が未設定または 0 の場合、動画連続配信広告に配信できる広告の数に制限はありません。Google は動的 Pod のみをサポートしています。

実際に表示される動画広告の数は、この値以下に設定できますが、この値を超えることはできません。

BidRequest.imp.video.minduration
入札レスポンスに含まれる個々の広告の最小再生時間(秒単位)。設定されていない場合、最小時間はありません。
BidRequest.imp.video.plcmt
動画の再生場所を示します。
PLCMT_UNKNOWN プレースメントが不明または不明確。
PLCMT_INSTREAM プレロール広告、ミッドロール広告、ポストロール広告: 視聴者がリクエストしたストリーミング動画コンテンツの再生前、再生中、再生後に再生されます。インストリーム動画は、プレーヤーの開始時にデフォルトで「音声オン」に設定されているか、動画コンテンツを視聴する明確なユーザーの意図がなければなりません。プレーヤーの周囲に他のコンテンツがあっても、ユーザーがアクセスした目的が動画コンテンツである必要があります。ページのメイン コンテンツであり、再生時に音声を再生できる唯一の動画プレーヤーである必要があります。プレーヤーがフローティング/スティッキーに変換された場合、その後の広告呼び出しで、更新されたプレーヤーのサイズを正確に伝える必要があります。
PLCMT_ACCOMPANYING_CONTENT ストリーミング動画コンテンツの再生前、再生中、再生後に再生されるプレロール広告、ミッドロール広告、ポストロール広告。動画プレーヤーは、テキストまたはグラフィック コンテンツの段落の前、途中、または後に読み込まれて再生され、ビューポートに入ったときにのみ再生が開始されます。付随するコンテンツの再生は、ビューポートに表示された場合にのみ開始する必要があります。ページからスクロールして離れると、フローティング プレーヤーまたは固定プレーヤーに変換される場合があります。
PLCMT_INTERSTITIAL 動画コンテンツなしで再生される動画広告。再生中は、ページのメイン要素となり、ビューポートの大部分を占める必要があります。また、スクロールして表示範囲から外すことはできません。たとえば、アプリ内動画やスライドショーなどのプレースメントに表示できます。
PLCMT_NO_CONTENT_STANDALONE 動画コンテンツのストリーミングなしで再生される動画広告。スライドショー、ネイティブ フィード、コンテンツ内、固定/フローティングなどのプレースメントに表示できます。
BidRequest.imp.video.playbackmethod
動画広告の再生方法について説明します。 再生方法は、利用可能な最適な測定に基づいて、自動再生またはクリックして再生のいずれかとして決定されます。
AUTO_PLAY_SOUND_ON ページの読み込み時に音声がオンで開始されます。
AUTO_PLAY_SOUND_OFF ページの読み込み時に開始され、音声はオフになります。
CLICK_TO_PLAY 音声がオンの状態でクリックすると開始されます。
MOUSE_OVER 音声がオンの状態でマウスオーバーすると開始されます。
ENTER_SOUND_ON 音声がオンの状態でビューポートに表示されると開始されます。
ENTER_SOUND_OFF ビューポートに入るとデフォルトで音声をオフにして開始します。
BidRequest.imp.video.skip
true の場合、プレーヤーで動画のスキップが許可されているか、スキップ可能な広告が許可されていることを示します。それ以外の場合は、スキップ可能な広告が許可されていないことを示します。
BidRequest.imp.video.startdelay

値 0 はプレロール、-1 はミッドロール、-2 はポストロールを意味します。

その他の正の値は、動画の開始から広告が表示されるまでの秒数です。

BidRequest.imp.video.durfloorsBidRequest.imp.audio.durfloors

購入者が入札できるさまざまな再生時間の動画またはオーディオ クリエイティブの最小価格を示す DurFloors オブジェクトの配列。

Google 指定の durfloors の例を次に示します。

  1. $5(0, 16) 秒を表す {"maxdur": 16, "bidfloor": 5}
  2. $10[16, 31) 秒を表す {"mindur": 16, "maxdur": 31, "bidfloor": 10}
  3. $20[31, inf) 秒を表す {"mindur": 31, "bidfloor": 20}

これらのシグナルは動画クリエイティブに固有のものではありませんが、入札者が確認するには特に有用です。

BidRequest.device.ifa
このフィールドは 36 文字の UUID で、SSL を使用している場合にのみ設定され、ハッシュ化されません。これは、BidRequest.device.dpidm5 の暗号化されていないバージョンです。iOS デバイスの場合、広告主向け識別子(IDFA)がすべて大文字で含まれます。Android デバイスの場合、Android ID(ADID)が小文字で含まれています。コネクテッド テレビ デバイスの場合は、固有の識別子(Roku の RIDA など)が含まれます。
BidRequest.device.devicetype
デバイスのタイプを指定します。
MOBILE HIGHEND_PHONE または TABLET の無効なエイリアス。
PERSONAL_COMPUTER デスクトップ デバイスとノートパソコン デバイスが含まれます。
CONNECTED_TV コネクテッド テレビ(スマートテレビ)とコネクテッド デバイス(Roku、Apple TV など)の両方が含まれます。
HIGHEND_PHONE 高性能スマートフォンを含む。
TABLET タブレット デバイスを含む。
CONNECTED_DEVICE 専用のゲームデバイスが含まれます。
SET_TOP_BOX セットトップ ボックス デバイスが含まれます。
OOH_DEVICE 屋外広告デバイス(デジタル ビルボードなど)が含まれます。
BidRequest.device.make
デバイスのブランド(Nokia、Samsung など)を指定します。
BidRequest.device.model
デバイスの正確なモデル(N70 や Galaxy など)を指定します(利用可能な場合)。利用できない場合は、「iphone」や「ipad」などの一般的なモデルを指定します。
BidRequest.imp.metric
Metric.typecompletion_rate に設定されている場合、Metric.value は広告スロットで配信された動画広告の過去の完了率を表す [0.0, 1.0] の範囲内の小数になります。デフォルト値の -1.0 は、過去の完了率データが利用できないことを意味します。
BidRequest.imp.video.poddur
動的動画広告連続配信広告で埋めることができる時間の長さ(秒)。 このフィールドは、ミッドロール挿入点全体の長さを指します。設定されていない場合、広告スロットはポッドに含まれません。

動画入札リクエストには、カテゴリ、許可されたベンダー、チャンネル情報など、広告枠に関する情報も含まれます。入札リクエストの他の既存のフィールドはすべて動画にも適用されます。

動画リクエストの AdSlot メッセージの width フィールドと height フィールドは、動画広告プレーヤーのサイズに対応しています。

BidRequest.imp.ext.allowed_vendor_type
許可されるベンダー。ID の一覧については、技術ドキュメントの vendors.txt ファイルをご覧ください。たとえば、309 = DFA 動画ユニットです。
BidRequest.imp.video.mimes
入札リクエストに応答して配信される広告でサポートされているコンテンツの MIME タイプを記述する許可リスト(例:「video/mp4」)。入札レスポンスには、これらの動画技術を 1 つ以上サポートしていることを示す必要があります。
BidRequest.imp.video.protocols
動画広告リクエストでパブリッシャーがサポートする VAST バージョンを記述します。 Protocol 列挙型の値の配列が含まれます。VAST_2_0VAST_3_0VAST_2_0_WRAPPERVAST_3_0_WRAPPERVAST_4_0VAST_4_0_WRAPPER など。
BidRequest.imp.video.companionad
このフィールドには、コンパニオン広告(利用可能な場合)を表す Banner オブジェクトの配列が含まれます。
BidRequest.site.page

動画再生ページの URL または動画が埋め込まれているページの URL。次に例を示します。

http://www.publisher.com/watchpagelink

動画リクエストに応答する際、ビッダーは VAST リダイレクト URL を返すか、BidResponse.seatbid.bid.adm フィールドに VAST XML を返す必要があります。入札レスポンスには、動画広告の適切な宣言も含める必要があります。以下は、適切な動画入札レスポンスの抜粋です。

id: "79N7F1708654i75q3k69j1"
seatbid {
  bid {
    id: "1gR655162hOsH9q3X6R"
    impid: "1"
    price: 2.3833
    adid: "test_creative_id_648299"
    adm: "https://video.test.com/ads?id=123456&wprice=%%WINNING_PRICE%%"
    adomain: "google.com"
    crid: "test_creative_id_648299"
    attr: VIDEO_IN_BANNER_AUTO_PLAY
    w: 1920
    h: 1080
    [com.google.doubleclick.bid] {
      event_notification_token {
        payload: "token"
      }
      billing_id: 11004606416
      skadn {
        version: "4.0"
        network: "O5O88B57"
        itunesitem: "509167749"
        nonce: ""
        sourceapp: "com.google.testapp"
        timestamp: "OMITTED"
        signature: "OMITTED"
        fidelities {
          fidelity: VIEW_THROUGH_ADS
          nonce: "d3be52b1-8ef6-4277-8922-54450b07fd5b"
          timestamp: "1730409097616"
          signature: "8d52E359K158Dj1u89EpLP3544Qz7B10CV0a92YZJ6JXX8d9uXi72N43ZxjRl96Ph7v8R5u1k5y9Aoy3jZcN3C5dxRU390qc"
        }
        fidelities {
          fidelity: STOREKIT_RENDERED_ADS
          nonce: "d3be52b1-8ef6-4277-8922-54450b07fd5b"
          timestamp: "1730409097616"
          signature: "43C2b79X4nPY913Qs3jJLLhCjUNZg39cK022pCE2wH731Ie7q4584b5UGG137Jh12I2R6a0e35LJbvQJbn5o564roQ7G1Mtd"
        }
        sourceidentifier: "1"
      }
      app_promotion_type: INSTALLS
    }
  }
  seat: "1061:9160:833989"
}
bidid: "m7V3rjn0-aF599ZZ6-37hA-b9o7DU8CLrtp"
cur: "USD"

動画入札レスポンスの重要なフィールドは次のとおりです。

BidResponse.seatbid.bid.ext.attribute
このスニペットから表示される可能性がある広告の属性。ID のリストについては、buyer-declarable-creative-attributes.txt ファイルを参照してください。Google は、これらの属性がパブリッシャーが入札リクエストで禁止した属性と一致していないことを確認します。たとえば、いずれかのフィールドに 30 が含まれている場合は、広告のレンダリングに VPAID のサポートが必要であることを示します。
BidResponse.seatbid.bid.adm

動画広告の場合、これは動画広告の VAST リダイレクト URL です。次に例を示します。

http://ad.doubleclick.net/pfadx/N270.132652.1516607168321/B3442378.3;dcadv=1379578;sz=0x0;ord=79879;dcmt=text/xml

または、未加工の VAST XML である可能性があります。

入札リクエストとレスポンスの例

動画フォーマット

購入者が動画を追加する方法

次の表に、購入者がクリエイティブに動画を含める方法と、ウェブとモバイルアプリで動画を配信できるプレースメントを示します。

ウェブ

動画クリエイティブ インストリーム(すべて) インフィード/記事内 ネイティブ インフィード/記事内 インタースティシャル インバナー

VPAID + VAST

 

VAST

 

MRAID + JS

 

 

 

 

 

カスタム JS

 

ネイティブ + VAST

 

モバイルアプリ

動画クリエイティブ インストリーム(すべて) インフィード/記事内 ネイティブ インフィード/記事内 インタースティシャル インバナー

VPAID + VAST

 

 

 

 

 

VAST

MRAID + JS

カスタム JS

ネイティブ + VAST

凡例: 利用できない形式/技術

このプレースメントで許可される動画クリエイティブ(パブリッシャーのブロックが適用される場合があります)

このプレースメントで動画クリエイティブを使用できない

OpenRTB で推奨されるシグナル

次の表に、パソコンとモバイルウェブモバイルアプリのすべての動画フォーマットについて、OpenRTB で推奨されるシグナルを示します。

PC ウェブとモバイルウェブ

動画フォーマット 推奨シグナル(動画に関連するシグナルのみ) 関連シグナル(動画関連のシグナルのみ)

インストリーム(VPAID)

VIDEO オブジェクトが存在し、
video.placement = INSTREAM   &


インストリーム(VPAID なし)

VIDEO オブジェクトが存在し、
video.placement = INSTREAM    &
video.api = 1 VPAID 1.0 or 2:VPAID 2.0


インストリーム以外

VIDEO オブジェクトが存在する

video.linearity: linear
プレースメントは実際のプレースメントに依存します。
値は次のとおりです。
Video.startdelay = 0


インフィード

VIDEO オブジェクトが存在し、
video.placement = IN-FEED


記事内

VIDEO オブジェクトが存在し、
video.placement = IN-ARTICLE


ネイティブ

NATIVE オブジェクトが存在し、


インバナー

動画オブジェクトが存在しない &
banner.battr ≠ 6 インバナー動画(自動再生) &
banner.battr ≠ 7 インバナー動画(ユーザー開始)


モバイルアプリ

動画フォーマット 入札リクエストの詳細(動画に関連する詳細のみ)

インストリーム

VIDEO オブジェクトが存在し、
video.placement = INSTREAM    &

video.api = 1 VPAID 1.0 または 2: VPAID 2.0

インストリーム以外

VIDEO オブジェクトが存在する

video.linearity: linear
プレースメントは実際のプレースメントに依存します。
値は次のとおりです。
Video.startdelay = 0


インフィード

VIDEO オブジェクトが存在し、
video.placement = IN-FEED


記事内

VIDEO オブジェクトが存在し、
video.placement = IN-ARTICLE


ネイティブ

NATIVE オブジェクトが存在し、


インタースティシャル(VAST)

VIDEO オブジェクトが存在し、
video.placement = INTERSTITIAL


インタースティシャル(VAST なし)

VIDEO オブジェクトが存在し、
video.placement = INTERSTITIAL

フィルタ適用

インバナー(MRAID)

動画オブジェクトが存在しない &
banner.battr ≠ 6 インバナー動画(自動再生) &
banner.battr ≠ 7 インバナー動画(ユーザー開始)


インバナー

(MRAID なし)

動画オブジェクトが存在しない &
banner.battr ≠ 6 インバナー動画(自動再生) &
banner.battr ≠ 7 インバナー動画(ユーザー開始)


パブリッシャーが動画を許可または禁止する方法

次の表に、パブリッシャーがプレースメントで動画を許可または禁止する方法を示します。

パブ オプション 適用可能な形式 入札リクエストでは次のように表記されます。

インストリーム動画のユニットを指定する

インストリーム(すべて)

動画オブジェクトが存在し、&
video.placement = INSTREAM

VPAID にオプトインする

インストリーム(ウェブ)

動画オブジェクトが存在し、
video.api = 1(VPAID 1.0)または 2(VPAID 2.0)

IBV を有効にする

インバナー

インタースティシャル

banner.battr ≠ 6 インバナー動画(自動再生)および / または 7 インバナー動画(ユーザー開始)

にオプトインする(手順

インフィード

記事内

動画オブジェクトが存在し、
video.placement = IN-FEED または IN-ARTICLE

インストリーム以外の広告を有効にする(手順

ネイティブ

ネイティブ オブジェクトが存在する

動画インタースティシャルをブロックする

インタースティシャル アプリ

VIDEO オブジェクトが存在しない

エッジケース

# ケースの説明 コメント 入札リクエスト

1

MRAID を使用した遅延カスタム閉鎖

インタースティシャル広告の場合、カスタム クローズを使用しなくても、広告を閉じると MRAID を使用して購入者に通知が送信されることがあります。


認定バイヤーが適用した X は、カスタム クローズが 5 秒後に下部に表示される場合でも、常にカスタム クローズの上に表示されます。


用語集

認定バイヤーの動画用用語集をご覧ください。

インストリーム フォーマットと非インストリーム フォーマットに関連するフィールド

OpenRTB 2.5(47 ページから)をご覧ください

BidRequest.Video。
Placement
インストリーム mWeb

1: インストリーム
2: インバナー

mApp

1: インストリーム
2: インバナー

インストリーム以外 mApp Interstitial

5: インタースティシャル

Native

3: 記事内
4: インフィード

Rewarded

is_rewarded_inventory: OpenRTB 拡張のブール値

linearity

インプレッションがリニア、ノンリニアなどである必要があるかどうかを示します。何も指定しない場合、すべてが許可されていると見なされます。

インストリーム mWeb

1: LINEAR(インストリーム)

mApp

1: LINEAR(インストリーム)

インストリーム以外 mApp Interstitial

2: INTERSTITIAL

Native

3: IN_FEED
5: IN_ARTICLE

videoad_start_delay
インストリーム mWeb

>0: start delay in seconds
 0: PRE_ROLL
-1: GENERIC_MID_ROLL
-2: GENERIC_POST_ROLL

mApp

>0: start delay in seconds
 0: PRE_ROLL
-1: GENERIC_MID_ROLL
-2: GENERIC_POST_ROLL

インストリーム以外 Rewarded

>0: start delay in seconds
 0: PRE_ROLL
-1: GENERIC_MID_ROLL
-2: GENERIC_POST_ROLL

入札リクエスト値のソース

OpenRTB
オブジェクト
フィールド 認定バイヤー
/エクスチェンジ
入札
インストリーム以外
サンプル値 誰が決定しますか?
/この値は
から派生しています。
オブジェクト
動画 mimes はい ["application/javascript",
"video/mp4"]",
Google
minduration × パブリッシャーが設定
maxduration はい パブリッシャーが設定
playbackmet
hod
はい [6] 通常、パブリッシャー
が構成されている
api(MRAID) はい [1,2] Google
プロトコル はい [2,3,5,6,7,8] Google
リニアリティ はい [1] Google
プレースメント はい [1] Google
プレーヤーの幅 はい 400,400,300 Google
プレーヤーの高さ はい 225,300,153 Google
開始遅延 はい 0 Google、デフォルト 5 秒
スキップ はい 1 パブリッシャー/Google
- インタースティシャルの場合 => Google
- インストリームの場合 => パブリッシャー
スキップ可能、スキップ不可、またはその両方を許可するかどうかを決定します。

リワード広告(常にスキップ不可)
最小ビットレート いいえ Google
最大ビットレート × Google
pos はい 1 Google
デバイス
ピクセル比 はい 1 Google
インプレッション
安全 はい 1 Google
デフォルトは true
(adtag は常に
安全であるため)