View a markdown version of this page

広告の横串 - AWS Elemental MediaTailor

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

広告の横串

Interactive Advertising Bureau (IAB) Video Ad Serving Template (VAST) 仕様は、広告ポッドと広告バイキングを定義します。このメカニズムは、広告挿入失敗時の自動フォールバックによる順序付けられた広告挿入をサポートします。広告ポッドでは、シーケンス化された広告は順番に再生されます。スタンドアロン広告は、シーケンスされた広告が失敗した場合に MediaTailor が代替広告を選択する、スタンドバイキングとして機能します。

AWS Elemental MediaTailor は、 AdDecisionServerConfigurationAdSequencingModeの設定を通じてこの仕様をサポートしますPlaybackConfiguration。に設定するとFOLLOW_AD_SEQUENCE、MediaTailor はシーケンスされた広告を順に挿入し、シーケンスされた広告が挿入に失敗した場合の代替としてのみスタンドアロン広告を使用します。

VAST レスポンスの例

次の例は、シーケンス広告とスタンドアロン広告を含む VAST レスポンスを示しています。

<VAST> <Ad sequence="1" id="sequencedAd1">...</Ad> <!-- Sequenced Ad 1 --> <Ad sequence="2" id="sequencedAd2">...</Ad> <!-- Sequenced Ad 2 --> <Ad id="standAloneAd1">...</Ad> <!-- Standalone Ad 1 --> <Ad id="standAloneAd2">...</Ad> <!-- Standalone Ad 2 --> <Ad id="standAloneAd3">...</Ad> <!-- Standalone Ad 3 --> </VAST>

この例では、2 つのシーケンスされた広告が広告ポッドを形成します。3 つのスタンドアロン広告は、広告スタンドバイキングを形成します。まとめて 1 つの横串グループを構成します。sequencedAd1 が失敗した場合、MediaTailor はまずそれを同じ食卓グループの適格なスタンドアロン広告に置き換えようとします。そのグループで適格なスタンドアロン広告が利用できない場合、MediaTailor は他の横串グループのスタンドアロン広告から選択します。

次の図は、Ad Pod (シーケンス広告) とAd Workbench (スタンドアロン広告) をまとめた VAST レスポンスを示しています。

広告ポッド (2 つのシーケンス広告) と 1 つの横串グループを形成する横串 (3 つのスタンドアロン広告) を使用した VAST レスポンスの図。

主要なコンセプト

以下の用語では、広告の舌舌の主な概念について説明します。

  • シーケンス広告<Ad>要素に sequence 属性を含む広告。これらは順序付けられた広告ポッドを形成し、順番の順に挿入されます。

  • スタンドアロン (バッファ) 広告sequence 属性のない広告。これらは、シーケンス化された広告が挿入に失敗した場合にのみ、代替として使用されます。

  • 語彙グループ – MediaTailor は、単一の VAST レスポンス内で広告ポッドをスタンドアロン広告とペアリングします。シーケンス化された広告がラッパーの場合、リダイレクトされた VAST は独自の独立した解凍グループを形成します。失敗したシーケンシャル広告を置き換える場合、MediaTailor は同じ横串グループからのスタンドアロン広告を優先します。同じ横串グループに適格なスタンドアロン広告が存在しない場合、MediaTailor は他の横串グループからのスタンドアロン広告にフォールバックします。

注記

sequence は、 <Ad>要素レベルの属性を参照し、 <Creative>要素にあるsequence属性を参照しません。

広告の舌舌舌の利点

MediaTailor は、広告の横串がないと、すべての広告を同じように処理するため、次の問題が発生する可能性があります。

  • VOD – スタンドアロン広告は、障害が発生しない場合でも挿入され、合意された広告時間枠の位置が中断され、広告時間枠がいっぱいになります。

  • ライブ – 低収益のスタンドアロン広告は、シーケンス広告の前に挿入でき、表示期間を占有できるため、高収益のシーケンス広告の余地はありません。

広告バイキングを有効にすると、MediaTailor はシーケンスされた広告のみを挿入し、シーケンスされた広告が挿入に失敗した場合の代替としてのみスタンドアロン広告を使用します。これにより、最も収益の高い広告が最初に再生されます。

警告

広告ディシジョンサーバー (ADS) レスポンスにシーケンスされた広告が含まれていない場合 (sequence属性を持つ<Ad>要素がない場合)、広告バイキングを有効にすると広告挿入は行われません。

広告バイキングの有効化

広告の有効期限は、 PutPlaybackConfiguration API を使用して再生設定ごとに設定するオプトイン機能です。

AdSequencingMode 値

次の表に、使用可能なAdSequencingMode値を示します。

説明
IGNORE_AD_SEQUENCE (デフォルト) MediaTailor は、シーケンス属性に関係なく、VAST レスポンスに表示される順序で広告を挿入します。
FOLLOW_AD_SEQUENCE MediaTailor は、ライブワークフローと VOD ワークフローの両方にシーケンスされた広告を挿入します。失敗したシーケンス広告は、スタンドアロン広告に置き換えられます。
FOLLOW_AD_SEQUENCE_ONLY_LIVE 広告の横串動作は、ライブワークフローでのみ有効になります。
FOLLOW_AD_SEQUENCE_ONLY_VOD 広告の横串動作は VOD ワークフローでのみ有効になります。
注記

広告バイキングを有効にすると、MediaTailor は Wrapper.fallbackOnNoAdおよび Wrapper.allowMultipleAds 属性を尊重します。

ミッドロール設定

次の の例では、ライブワークフローと VOD ワークフローの両方に対して広告の有効期限を有効にします。

{ "PlaybackConfiguration": { "AdDecisionServerConfiguration": { "VastResponse": { "AdSequencingMode": "FOLLOW_AD_SEQUENCE" } } } }

次の の例では、ライブワークフローに対してのみ広告の有効期限を有効にします。

{ "PlaybackConfiguration": { "AdDecisionServerConfiguration": { "VastResponse": { "AdSequencingMode": "FOLLOW_AD_SEQUENCE_ONLY_LIVE" } } } }

次の の例では、VOD ワークフローに対してのみ広告表示を有効にします。

{ "PlaybackConfiguration": { "AdDecisionServerConfiguration": { "VastResponse": { "AdSequencingMode": "FOLLOW_AD_SEQUENCE_ONLY_VOD" } } } }

ライブプリロール設定

次の の例では、ライブプリロール広告の広告ワクワクを有効にします。

{ "PlaybackConfiguration": { "LivePrerollConfiguration": { "AdDecisionServerConfiguration": { "VastResponse": { "AdSequencingMode": "FOLLOW_AD_SEQUENCE" } } } } }
注記

LivePrerollConfigurationFOLLOW_AD_SEQUENCEと のみをサポートしますIGNORE_AD_SEQUENCE。ミッドロール設定で VOD プリロールの広告の横串を設定します。

広告バイキングの仕組み

広告置換条件

シーケンスされた広告が次のいずれかの障害ケースに遭遇した場合、MediaTailor は、シーケンスされた広告を同じ食卓グループの適格なスタンドアロン広告に置き換えようとします。同じ横串グループでスタンドアロン広告が利用できない場合、MediaTailor は他の横串グループのスタンドアロン広告を利用できるようにします。

失敗ケース 説明
VAST 解析の失敗 シーケンス化された広告は、必要な VAST 要素がないために解析に失敗します (例: MediaFilesCreativesImpressionが欠落しているか、 が無効MediaFileVASTAdTagURI)。
VAST ラッパー解決の失敗 リダイレクトがタイムアウト、失敗、または空のレスポンスを返します。
VPAID 広告がドロップされました シーケンス化された広告は VPAID であり、セッションはサーバー側のレポートを使用するか、スレートが設定されていません。
広告トランスコードの準備ができていません シーケンスされた広告のトランスコードステータスは SUCCESS (IN_PROGRESS や ERROR など) ではありません。
使用可能期間を超過しました シーケンスされた広告の期間が残りの表示期間 (ライブワークフロー) を超えています。

スタンドアロン広告の適格性

置き換えの対象となるには、スタンドアロン広告が次の基準を満たしている必要があります。

  • VPAID 広告ではない

  • トランスコードを完了する

  • 残りの使用可能期間内に収まる期間がある

スタンドアロン広告の選択

シーケンスされた広告が失敗すると、MediaTailor は、次の優先順位を使用して、対象となるスタンドアロン広告から代替広告を選択します。

  1. 同じ横串グループを最初に – MediaTailor は、失敗した広告独自の横串グループからスタンドアロン広告を優先します。

  2. その他の横串グループ – 同じ横串グループに適格な広告が存在しない場合にのみ使用されます。

適格なスタンドアロン広告が見つからない場合、位置は入力されず、適切な広告SkippedReasonが出力されます。

VAST ラッパーの動作

MediaTailor によるラッパーリダイレクトレスポンスの処理は、 Wrapper.fallbackOnNoAdと の 2 つのラッパー変数の値によって異なりますWrapper.allowMultipleAds

  • fallbackOnNoAd は、リダイレクトレスポンスが空、タイムアウト、または ADS リクエスト中にエラーが発生したときに有効になります。

  • allowMultipleAds は、ADS レスポンスに 1 つ以上の広告が含まれている場合に有効になります。

空の VAST、リクエストエラー、またはリクエストタイムアウト

次の表は、リダイレクトレスポンスが空、タイムアウト、またはエラーが発生した場合の MediaTailor の動作を示しています。

fallbackOnNoAd MediaTailor の動作
true (デフォルト) MediaTailor は、障害が発生したラッパーを置き換えるスタンドアロン広告を選択し、同じ横串グループを優先します。適格な同一グループの広告が利用できない場合、MediaTailor は他の食卓グループから選択します。
false MediaTailor は広告位置を削除し、ポッド内の次の広告に移動します。置き換えは行われません。
例 fallbackOnNoAd=true (リダイレクトが失敗)

親 VAST:

<VAST> <Ad sequence="1" id="seqAd1">...</Ad> <Ad sequence="2"> <Wrapper fallbackOnNoAd="true"> <VASTAdTagURI>https://ads.example.com/vast</VASTAdTagURI> </Wrapper> </Ad> <Ad id="standAloneAd1">...</Ad> <Ad id="standAloneAd2">...</Ad> </VAST>

ラッパーリダイレクトレスポンス: VAST が空、タイムアウト、またはエラー。

解決された VAST:

<VAST> <Ad sequence="1" id="seqAd1">...</Ad> <!-- standAloneAd1 replaced failed Wrapper Ad and now has the Wrapper's sequence (2) --> <Ad sequence="2" id="standAloneAd1">...</Ad> <Ad id="standAloneAd2">...</Ad> </VAST>

再生順序:

  1. seqAd1

  2. standAloneAd1

例 fallbackOnNoAd=false (リダイレクトが失敗)

親 VAST:

<VAST> <Ad sequence="1" id="seqAd1">...</Ad> <Ad sequence="2"> <Wrapper fallbackOnNoAd="false"> <VASTAdTagURI>https://ads.example.com/vast</VASTAdTagURI> </Wrapper> </Ad> <Ad id="standAloneAd1">...</Ad> <Ad id="standAloneAd2">...</Ad> </VAST>

ラッパーリダイレクトレスポンス: VAST が空、タイムアウト、またはエラー。

解決された VAST:

<VAST> <Ad sequence="1" id="seqAd1">...</Ad> <!-- sequence 2 is not replaced --> <Ad id="standAloneAd1">...</Ad> <Ad id="standAloneAd2">...</Ad> </VAST>

再生順序:

  1. seqAd1

レスポンスに 1 つ以上の広告が含まれている

次の表は、リダイレクトレスポンスに 1 つ以上の広告が含まれている場合の MediaTailor の動作を示しています。

allowMultipleAds MediaTailor の動作
false (デフォルト) MediaTailor はリダイレクトレスポンスから 1 つの広告を選択し、残りの広告を破棄します。選択した広告は、親ラッパー広告からシーケンス値を継承します。選択戦略: MediaTailor はリダイレクトレスポンスでシーケンスされた最も低い広告を選択します。利用可能なシーケンシング広告がない場合、MediaTailor は利用可能な場合はスタンドアロン広告を選択します。
true ラッパーにシーケンス属性がある場合、MediaTailor はラッパーの位置にリダイレクト広告を挿入します。ラッパーにシーケンス属性がない場合、MediaTailor は親のシーケンスされた広告の後にリダイレクト広告を挿入します。解決された広告は、独自の横串グループを形成します。
例 allowMultipleAds=false、ラッパーのシーケンス = 2

親 VAST:

<VAST> <Ad sequence="1" id="seqAd1">...</Ad> <Ad sequence="2"> <Wrapper allowMultipleAds="false"> <VASTAdTagURI>https://ads.example.com/vast</VASTAdTagURI> </Wrapper> </Ad> <Ad sequence="3" id="seqAd3">...</Ad> <Ad id="standAloneAd1">...</Ad> <Ad id="standAloneAd2">...</Ad> </VAST>

ラッパーリダイレクトレスポンス:

<VAST> <Ad sequence="1" id="redirectSeqAd1">...</Ad> <Ad sequence="2" id="redirectSeqAd2">...</Ad> <Ad id="redirectStandAloneAd1">...</Ad> </VAST>

解決された VAST:

<VAST> <Ad sequence="1" id="seqAd1">...</Ad> <Ad sequence="2" id="redirectSeqAd1">...</Ad> <!-- redirectSeqAd1 selected, inherits Wrapper's sequence (2) --> <Ad sequence="3" id="seqAd3">...</Ad> <Ad id="standAloneAd1">...</Ad> <Ad id="standAloneAd2">...</Ad> </VAST>

再生順序:

  1. seqAd1

  2. redirectSeqAd1

  3. seqAd3

例 allowMultipleAds=false、ラッパーにシーケンスがありません

親 VAST:

<VAST> <Ad sequence="1" id="seqAd1">...</Ad> <Ad> <Wrapper allowMultipleAds="false"> <VASTAdTagURI>https://ads.example.com/vast</VASTAdTagURI> </Wrapper> </Ad> <Ad sequence="3" id="seqAd3">...</Ad> <Ad id="standAloneAd1">...</Ad> <Ad id="standAloneAd2">...</Ad> </VAST>

ラッパーリダイレクトレスポンス:

<VAST> <Ad sequence="1" id="redirectSeqAd1">...</Ad> <Ad sequence="2" id="redirectSeqAd2">...</Ad> <Ad id="redirectStandAloneAd1">...</Ad> </VAST>

解決された VAST:

<VAST> <Ad sequence="1" id="seqAd1">...</Ad> <Ad id="redirectSeqAd1">...</Ad> <!-- redirectSeqAd1 selected, inherits Wrapper's sequence (UNDEFINED) --> <Ad sequence="3" id="seqAd3">...</Ad> <Ad id="standAloneAd1">...</Ad> <Ad id="standAloneAd2">...</Ad> </VAST>

再生順序:

  1. seqAd1

  2. seqAd3

注記

redirectSeqAd1 はシーケンスが定義されていないため再生されません。

例 allowMultipleAds=true、ラッパーのシーケンス = 2

親 VAST:

<VAST> <Ad sequence="1" id="seqAd1">...</Ad> <Ad sequence="2"> <Wrapper allowMultipleAds="true"> <VASTAdTagURI>https://ads.example.com/vast</VASTAdTagURI> </Wrapper> </Ad> <Ad sequence="3" id="seqAd3">...</Ad> <Ad id="standAloneAd1">...</Ad> <Ad id="standAloneAd2">...</Ad> </VAST>

ラッパーリダイレクトレスポンス:

<VAST> <Ad sequence="1" id="redirectSeqAd1">...</Ad> <Ad sequence="2" id="redirectSeqAd2">...</Ad> <Ad id="redirectStandAloneAd1">...</Ad> </VAST>

解決された VAST:

<VAST> <Ad sequence="1" id="seqAd1">...</Ad> <!-- Redirect response merged at sequence 2 --> <Ad sequence="1" id="redirectSeqAd1">...</Ad> <Ad sequence="2" id="redirectSeqAd2">...</Ad> <Ad id="redirectStandAloneAd1">...</Ad> <Ad sequence="3" id="seqAd3">...</Ad> <Ad id="standAloneAd1">...</Ad> <Ad id="standAloneAd2">...</Ad> </VAST>

再生順序:

  1. seqAd1

  2. redirectSeqAd1

  3. redirectSeqAd2

  4. seqAd3

例 allowMultipleAds=true、ラッパーにシーケンスがありません

親 VAST:

<VAST> <Ad sequence="1" id="seqAd1">...</Ad> <Ad> <Wrapper allowMultipleAds="true"> <VASTAdTagURI>https://ads.example.com/vast</VASTAdTagURI> </Wrapper> </Ad> <Ad sequence="3" id="seqAd3">...</Ad> <Ad id="standAloneAd1">...</Ad> <Ad id="standAloneAd2">...</Ad> </VAST>

ラッパーリダイレクトレスポンス:

<VAST> <Ad sequence="1" id="redirectSeqAd1">...</Ad> <Ad sequence="2" id="redirectSeqAd2">...</Ad> <Ad id="redirectStandAloneAd1">...</Ad> </VAST>

解決された VAST:

<VAST> <Ad sequence="1" id="seqAd1">...</Ad> <Ad sequence="3" id="seqAd3">...</Ad> <!-- Redirect response merged after sequenced ads --> <Ad sequence="1" id="redirectSeqAd1">...</Ad> <Ad sequence="2" id="redirectSeqAd2">...</Ad> <Ad id="redirectStandAloneAd1">...</Ad> <Ad id="standAloneAd1">...</Ad> <Ad id="standAloneAd2">...</Ad> </VAST>

再生順序:

  1. seqAd1

  2. seqAd3

  3. redirectSeqAd1

  4. redirectSeqAd2

メトリクスとログのモニタリング

既存のメトリクスの変更

広告の有効期限が切れると、以下の既存のメトリクスの動作が変わります。

メトリクス 広告の有効期限が切れる動作
AdDecisionServer.Ads ADS レスポンスから解析されたシーケンスされた広告の数。
AdDecisionServer.Duration シーケンスされた広告の合計期間のみ。
AdDecisionServer.FillRate シーケンシャル広告のみを使用して計算されたフィルレート。

新しいメトリクス

以下の新しいメトリクスは、広告の横串が有効なときに使用できます。

メトリクス 説明
AdNotReady.SequencedAd 挿入準備ができていないシーケンスされた広告の数。
AdNotReady.StandaloneAd 挿入する準備ができていないスタンドアロン広告の数 ( でスキップされた広告を除くStandaloneAdNotNeeded)。
Avail.FillRate.SequencedAd シーケンスされた広告によって満たされた avail の割合。
Avail.FillRate.StandaloneAd スタンドアロン広告によって満たされた可用性の割合。
Avail.FilledDuration.SequencedAd シーケンスされた広告で満たされた表示期間。
Avail.FilledDuration.StandaloneAd スタンドアロン広告で満たされた表示期間。
AdsBilled.SequencedAd シーケンスされた請求済み広告の数。
AdsBilled.StandaloneAd スタンドアロンの課金広告の数。
SkippedReason.StandaloneAdNotNeeded シーケンスされたすべての広告が正常に挿入されたためにスタンドアロン広告が必要なかった場合に発行されます。

スキップされた新しい広告理由

次のスキップされた新しい広告理由は、広告の横串が有効な場合に利用できます。

Reason 説明
STANDALONE_AD_NOT_NEEDED スタンドアロン広告は適格でしたが、シーケンスされたすべての広告が正常に挿入されたため、必須ではありませんでした。エラービーコンは発生しません。

挿入対象外のスタンドアロン広告 (VPAID やトランスコードの準備が完了していないなど) の場合、実際の失敗理由 ( TRANSCODE_IN_PROGRESSや などVPAID_AD) が として出力されますSkippedReason

エラービーコン

MediaTailor は、次のように広告バランサーのエラービーコンを処理します。

  • 失敗するシーケンス広告 – エラービーコンが発せられます (既存の動作)。

  • 準備が整っていないスタンドアロン広告 (ad transcode status is not SUCCESS) – エラービーコンが発せられます (シーケンス広告と同じ)。

  • 挿入対象であったが不要な未使用のスタンドアロン広告 – エラービーコンは発生しません。

ADS イベントの変更

広告の有効期限が切れると、MediaTailor は 2 つの ADS イベントに次のフィールドを追加します。

VAST_RESPONSE イベント

VAST_RESPONSE イベントVastAdの各 には、次のフィールドが含まれます。

フィールド タイプ 説明
buffetGroup 文字列 MediaTailor が生成した文字列。広告が属する横串グループを定義します。
sequence Int Ad 要素のシーケンス値。

FILLED_AVAIL イベント

FILLED_AVAIL イベントcreativeAdsおよび skippedAdsの各エントリには、次のフィールドが含まれます。

フィールド タイプ 説明
buffetGroup 文字列 MediaTailor が生成した文字列。広告が属する横串グループを定義します。
sequence Int Ad 要素のシーケンス値。

これらのフィールドでは、以下を判断できます。

  • 順序付けされた広告とスタンドアロンとして解析された広告

  • 挿入された広告とそのタイプ

  • シーケンス化された広告がスキップされた理由と、スタンドアロン広告で置き換えられたかどうか

  • スタンドアロン広告が利用できなかった理由

関連情報

PutPlaybackConfiguration API と IAB VAST 仕様の詳細については、以下を参照してください。