Android 版プライバシー サンドボックス ベータ版がリリースされました。ご利用方法についてご確認のうえ、引き続きフィードバックをお寄せください。

FLEDGE メディエーションによる複数の出品者が参加するオークションのサポート

コレクションでコンテンツを整理 必要に応じて、コンテンツの保存と分類を行います。

フィードバックを送信

販売側の広告プラットフォームでは通常、広告デマンドソースを多様化し、広告収入を最適化します。広告メディエーションでは、広告ネットワークまたはサービスが複数の広告ネットワークを呼び出して、特定の広告スロットに最適な広告を決定します。この提案では、Android 版 FLEDGE を拡張し、プライバシーの保護を図りながら、ウォーターフォール メディエーション機能を実装する方法を紹介します。現在、広告ネットワークには、複数の広告販売者の広告オークションをアプリ デベロッパーがメディエーションするためのさまざまな方法があります。

  1. ウォーターフォール メディエーション: アプリ デベロッパーは、広告ネットワークの順序付きリストを定義します。多くの場合、特定のネットワークについての過去の eCPM に基づいてランク付けされます。このリストはメディエーション チェーンと呼ばれます。アプリ デベロッパーのメディエーション プラットフォームは、このリストを使用して、指定された順序で広告ネットワークを呼び出し、関連する広告のデマンドソースを決定します。
  2. プログラマティック メディエーション: アプリ デベロッパーが広告配信機会の入札に参加できるように、複数の広告ネットワークが設定されます。これらのネットワークは、機会の評価に基づいて、リアルタイムで入札することができます。
  3. ハイブリッド メディエーション: ウォーターフォールとプログラマティックのメディエーション手法の組み合わせ。

ウォーターフォール メディエーション

ウォーターフォール メディエーションでは、広告配信機会が発生すると、広告 SDK がバックエンド サーバーにリクエストを送信します。サーバーは落札された広告クリエイティブでリクエストに応答するのではなく、過去の eCPM で順序付けられた広告ネットワークのリストを含むメディエーション チェーンを返します。

ウォーターフォール メディエーション モデルの図
図 1: ウォーターフォール メディエーション モデル

従来のウォーターフォール モデルでは、広告 SDK はメディエーション チェーンで指定された順序で各広告ネットワーク(または独自のオークション SDK)を呼び出します。広告ネットワークが広告リクエストを満たせる場合は、その広告ネットワークで広告が表示されます。そうでない場合、リクエストはチェーン内の次のネットワークに送られます。このプロセスは、リクエストが満たされるか、チェーン全部の試行が完了するまで繰り返されます。

多くの場合、ウォーターフォール型メディエーションは、ファーストパーティの広告デマンドソースからの eCPM の再評価に基づいて、メディエーション チェーンを定期的に並べ替えることで最適化されます。

プログラマティック メディエーション

プログラマティック メディエーション(「ヘッダー入札」とも呼ばれます)は、広告リクエストを配信できる広告ネットワークを判断するための方法として、過去の eCPM の代わりに使用する方法です。プログラマティック メディエーションでは、プロバイダがライブ入札単価を使用して落札広告を特定します。

プログラマティック メディエーション モデルの図
図 2: プログラマティック メディエーション モデル

ハイブリッド メディエーション

一部のプログラマティック メディエーション ソリューションでは、ウォーターフォールと入札のハイブリッド モードで広告ネットワークを組み合わせて、広告をより詳細に管理しています。また、ライブ eCPM を利用して広告ネットワークへの入札の収益を最大限に高められるというメリットもあります。

ハイブリッド メディエーション モデルでは、ウォーターフォールとリアルタイム ビッダーの要素を組み合わせることにより、広告ネットワークとメディエーションのプロバイダがアプリ デベロッパーの柔軟性を向上させることができます。ハイブリッド モデルでは、アプリ デベロッパーは過去の eCPM に基づいて広告ネットワークを設定できます。これにより、参加ネットワークによるリアルタイム ビッダーの前に広告を表示し、広告配信機会を満たすことができます。

FLEDGE ウォーターフォール メディエーション

FLEDGE for Android は、複数の FLEDGE オークション(メディエーション グラフのノードごとに 1 つずつ)を実施することにより、ウォーターフォール メディエーションをサポートします。オークションでの落札がなかった場合は、次のネットワーク オークション ノードが呼び出されます。これはチェーン全体を使い切るまで繰り返されます。ウォーターフォール メディエーションのプロセスは、次のとおりです。

  1. メディエーション SDK は、コンテキスト広告サーバー エンドポイントからメディエーション チェーンを取得します。これにより、コンテキスト広告またはメディエーション チェーンが返されます。
  2. 広告サーバーのエンドポイントがメディエーション チェーンを返す場合、メディエーション SDK はチェーン内の各項目を順番に処理し、参加している広告ネットワークの SDK を呼び出してコンテキスト広告とリマーケティング広告を選択します。チェーン内の各項目は、特定のインプレッション数、クリック数、または広告時間について、特定の価格で広告スペースを購入する広告ネットワークのリクエストを表します。
  3. チェーン内のどの広告申込情報も落札広告を選択しなかった場合、メディエーション SDK は、リマーケティング広告とコンテキスト広告の両方を考慮に入れた FLEDGE 広告を選択することにより、独自の広告ネットワークの広告を表示することがあります。

FLEDGE のウォーターフォール メディエーション フロー図
図 3: FLEDGE によるウォーターフォール メディエーション

上の図は、メディエーション SDK で実装可能で、ファーストパーティ広告ネットワークによる最適化はできない、ウォーターフォール メディエーションのアルゴリズムの例を示しています。FLEDGE では、広告選択ワークフローのチェーンを可能にし、落札インプレッション数を報告することで、ファースト パーティ広告ネットワークの最適化をサポートします。

AdSelection の結果

selectAds() の戻り値の型は AdSelectionOutcome オブジェクトです。 AdSelectionOutcome には、落札された広告のレンダリング URI と AdSelectionId が含まれます。これは、落札された広告申込情報の広告クリエイティブを識別する opaque 型の整数です。

AdSelectionOutcome {
  Uri renderUri;
  Long AdSelectionId;
}

AdSelectionId は、AdSelectionOutcome へのポインタとして機能します。現在、AdSelectionId は、reportResult() メソッドに ReportImpressionInput パラメータとして渡され、reportWin() メソッドと reportResult() メソッドが呼び出される広告を正しく識別できるようにします。

チェーン広告選択の提案

selectAds() を拡張して、以前の広告選択の結果を考慮し、AdSelectionOutcome オブジェクトにより落札広告を選択することをおすすめします。これにより、広告ネットワークは、複数の広告ネットワークのコンテンツ広告とリマーケティング広告を考慮したメディエーションを実行できます。

ChainedAdSelections はオプションのパラメータとして AdSelectionConfig. ChainedAdSelections に追加されています。このパラメータには、メディエーション チェーンでの selectAds() メソッドの前回の呼び出しによる広告選択の結果のリストを含めることができます。次の例の SDK は、デバイス上の SDK A と SDK B の結果を使用して AdSelection を実行します。SDK A と B はどちらも、チェーン広告選択を実行する SDK に対するそれぞれの selectAds() 呼び出しから AdSelectionOutcome を明示的に共有します。

AdSelectionConfig myAdSelectionConfig = new AdSelectionConfig {
    Seller = "example-ssp1.com",
    DecisionLogicURL = Uri.parse("https://..."),
    CustomAudienceBuyerList = Arrays.asList("example-dsp1.com","example-dsp2.com"),
    AdSelectionSignals = "{"min_price": 10,"auction_attempts": 3}"
    SellerSignals = "{"seller_type": "news", "content_category": "sports","mature_ads_accepted" :"false"}"
    PerBuyerSignals = "{"example-dsp1.com": {"key1" : "value1"},
                        "example-dsp2.com": {"key1" : "value1", "key2" : "value2"}"
    ChainedAdSelections = {network_a_selection_outcome, network_b_selection_outcome}
};

// Invoke ad services API to initiate ad selection workflow.
AdSelectionOutcome winningAd = selectAds(myAdSelectionConfig);

広告選択のチェーンの図
図 4: selectAds() を使用するチェーン広告選択

この selectAds() の呼び出しの戻り値は、別の AdSelectionOutcome オブジェクトです。

  • 広告が選択されていない場合は、値 null が返されます。
  • ChainedAdSelections が参照する広告のいずれも落札広告でない場合、新しい AdSelectionOutcome オブジェクトが返されます。
  • AdSelection で渡される結果のいずれかが選択された広告である場合、その結果が返されます。

落札インプレッションを報告する

チェーン広告選択の落札者がいない場合は、落札インプレッションは報告されません。

AdSelectionConfig に渡される AdSelectionOutcome オブジェクトのいずれかが選択されると、チェーン広告の選択を実行している SDK により、落札広告 SDK とその結果が通知されます。落札広告 SDK は、独自の AdSelection を実行した場合と同様に、落札インプレッション レポートを呼び出すことができます。これにより、落札広告の SDK 決定ロジックの JavaScript が結果の報告に使用されます。このシナリオでは、チェーン広告選択を実行する SDK が、どの広告 SDK が落札インプレッションを獲得したか報告できます。

AdSelectionOutcome の結果が選択されていない場合、チェーン広告選択を実行する SDK は落札インプレッション レポートを呼び出します。

ウォーターフォール メディエーションを実行する

このページで説明したように、AdSelectionOutcome のインスタンスをチェーン化する機能により、ファーストパーティ広告ネットワークの最適化を行いながら、メディエーション SDK でウォーターフォール メディエーションを実行することが可能になります。このプロセスの概要は次のとおりです。

  1. メディエーション SDK は、コンテキスト広告リクエストを使用してメディエーション サーバーからメディエーション チェーンを取得します。
  2. メディエーション SDK では、リマーケティング広告とコンテキスト広告の両方を考慮に入れて、広告の選択が行われます。
  3. メディエーション SDK では、ファーストパーティ広告の選択結果と、メディエーション チェーンの最初の対象項目の過去の eCPM を考慮したオークションを実施します。

  4. 広告が選択されると、落札広告が決定され、処理が終了します。

  5. 広告が選択されていない場合は、メディエーション チェーンで最初の対象項目が選択され、対応する SDK が呼び出されて、コンテキスト広告とリマーケティング広告選択が実行されます。

  6. 広告が選択された場合、広告がレンダリングされ、処理が終了します。

  7. 広告が選択されていない場合は、チェーンの次の項目が考慮され、ステップ 3 が実行されます。

  8. チェーンに項目がなくなった場合、メディエーション SDK では、ステップ 2 と同様に、リマーケティング広告とコンテキスト広告の両方を考慮に入れた FLEDGE 広告選択を実行して、ファーストパーティ広告を表示します。

FLEDGE ウォーターフォール メディエーションのプロセス
図 5: FLEDGE ウォーターフォール メディエーションのプロセス

おすすめの方法

ファーストパーティの最適化を行う前にコンテキスト オークションを実施する

リマーケティングの需要が高いと、メディエーション チェーンでの落札結果につながる高い入札額が見込めます。切り捨てとは、リマーケティング オーディエンス リストを絞り込むことで、ファーストパーティの最適化を有効にするためによく使用される手法です。

FLEDGE リマーケティングの需要は、FLEDGE オークションでのクライアント側でのみ利用できます。その結果、サーバー側でファーストパーティの最適化を有効にすることが困難になる場合があります。ファーストパーティの最適化の問題を抑制するには、まずコンテキスト オークションを実行し、次にこのページで説明したように、落札広告の結果に基づいてファーストパーティの最適化を実行します。

デバイス上のメディエーション チェーンを小さくする

最適なパフォーマンスを得るには、デバイス上のメディエーション チェーンを小さくする必要があります。デバイス上での実行に関するコンピューティング コストは、メディエーション チェーンの一部として評価されたオークションの数に比例する場合があります。つまり、ノード数が増えると、計算サイクルの要件が増え、レイテンシが増加します。ノードをデバイス上のメディエーション評価に渡す際には、収益に対するレイテンシの影響を考慮してください。

その他の考慮事項

FLEDGE メディエーションに関するこの提案は、今も継続中です。フィードバックをお待ちしております

FLEDGE では、現在、複数の広告スロットのメディエーションを行うための包括的なソリューションは提供していません。各広告スロットは個別に処理する必要があります。

現行の FLEDGE メディエーション API は、ウォーターフォール メディエーションと制限付きプログラマティック メディエーションをサポートしています。他のプログラマティック メディエーションのユースケースに関する詳細は、今後お知らせいたします。

FLEDGE 広告の選択は、コンテキスト広告の取得後に実行されるため、FLEDGE を呼び出すと、広告リクエストのエンドツーエンドのレイテンシに影響する可能性があります。