アトリビューション レポート: システム全体の概要

アトリビューション レポートに関連付けられているサービスの概要を、技術的な意思決定者向けに説明します。

Attribution Reporting API を使用すると、広告テクノロジーと広告主は、広告クリックや広告ビューがいつコンバージョン(購入など)につながったのかを測定できます。この API は、ビジネスニーズに応じて、クライアントサイドとサーバーサイドの統合を組み合わせて使用します。

続行する前に、アトリビューション レポートの概要をお読みください。これにより、API の目的と、さまざまな出力レポート(イベントレベル レポート概要レポート)のフローを理解できます。よくわからない用語については、プライバシー サンドボックスの用語集をご覧ください。

このドキュメントの対象者

次のいずれかに該当する場合は、このドキュメントをお読みください。

  • 広告テクノロジーまたは広告主の技術関連の意思決定者である。運用、DevOps、データ サイエンス、IT、マーケティングなどの役割で、技術的な実装に関する意思決定を行う場合があります。プライバシー保護測定で API がどのように機能するかについて質問しています。
  • この API と Aggregation Service 環境でテストを設定する技術担当者(デベロッパー、システム オペレーター、システム アーキテクト、データ サイエンティストなど)。

このドキュメントでは、Attribution Reporting API でのサービスの仕組みについて、エンドツーエンドの概要を説明します。技術担当者の場合は、ローカルで この API を試すことができます。

概要

Attribution Reporting API は多くのサービスで構成されており、特定の設定、クライアントサイドの構成、サーバーのデプロイが必要です。必要なものを判断するには、まず以下を行います。

  • デザインを決定する。収集する情報の定義、特定のキャンペーンで期待されるコンバージョンの特定、収集するレポート タイプの決定を行います。最終的な出力は、イベントレベル レポートと概要レポートの 2 種類のレポートのいずれか、または両方です。

レポートをサポートするために、常に 2 つのコンポーネント(場合によっては 3 つのコンポーネント)が連携して動作します。

  • ウェブサイトとブラウザ間の通信。Cookie ベースのシステムでは、コンバージョンと広告エンゲージメントに関する情報が識別子に関連付けられ、これにより、ユーザーまたはアナリティクス サービスが後でこれらのイベントを結合できます。この API を使用すると、ブラウザは、分析のために配信される前に、お客様の指示に基づいてコンバージョンを広告のクリック/表示に関連付けます。そのため、広告のレンダリング コードとコンバージョン トラッキングは、次の要件を満たす必要があります。
    • どの広告のクリックまたはインプレッションにどのコンバージョンを割り当てるかをブラウザに伝えます。
    • 最終レポートに含めるその他のデータを指示します。
  • データ収集。ユーザーのブラウザで生成されたレポートを受信するには、コレクタ エンドポイントが必要です。ブラウザからの出力は、イベントレベル レポートと集計可能レポート(暗号化され、概要レポートの生成に使用)のいずれかになります。

集計可能なレポートを収集した場合は、3 つ目のコンポーネントが必要になります。

  • 概要レポートの生成。集計可能なレポートをバッチ処理し、集計サービスを使用してレポートを処理して概要レポートを生成します。

設計上の意思決定

アトリビューション レポートの重要な原則は、早期の設計決定です。収集するデータのカテゴリと、そのデータを処理する頻度を決定します。出力レポートには、キャンペーンやビジネスに関する分析情報が表示されます。

出力レポートは次のいずれかです。

  • イベントレベル レポートは、特定の広告クリックや広告ビュー(広告側)を、コンバージョン側のデータに関連付けます。サイト間でのユーザー ID の結合を制限してユーザーのプライバシーを保護するため、コンバージョン側のデータは非常に限定的なもので、ノイズが付加されています(つまり、ごく一部のケースでは実際のレポートの代わりにランダムなデータが送信されます)。
  • 概要レポートは、広告側の特定のイベントに関連付けられません。これらのレポートはより詳細なコンバージョン データを提供し、クリックデータやビューデータをコンバージョン データに結合する柔軟性を備えています。

レポートの選択によって、収集が必要なデータが決まります。

最終的な出力は、意思決定に使用するツールへの入力と見なすこともできます。たとえば、合計費用の値につながったコンバージョン数を把握するために概要レポートを生成すると、合計費用を増やすために次の広告キャンペーンでターゲットにすべき内容を判断するのに役立ちます。

測定対象が決まったら、Attribution Reporting API のクライアントサイドを設定できます。

ウェブサイトとブラウザ間の通信

パブリッシャーのウェブサイトのアトリビューション ソースは、広告主のウェブサイトのトリガーに接続されます。
パブリッシャーのウェブサイトのアトリビューション ソースは、広告主のウェブサイトのトリガーに接続されます。

アトリビューション イベントフロー

広告を表示するパブリッシャーのサイトがあるとします。広告主様や広告技術プロバイダは、広告のインタラクションについて把握し、コンバージョンを適切な広告に関連付けたいと考えています。レポート(イベントレベルと集計可能の両方)は次のように生成されます。

  1. パブリッシャーのサイトで、広告要素(<a> タグまたは <img> タグ)に特別な属性 attributionsrc が設定されます。値は URL です(例: https://adtech.example/register-source/ad_id=...)。

    クリックされたときにソースを登録するリンクの例を次に示します。

    <a href="https://shoes.example/landing"
      attributionsrc="http://adtech.example/register-source?..."
      target="_blank">
    Click me</a>
    

    表示時にソースの登録が行われる画像の例を次に示します。

    <img href="https://advertiser.example/landing"
      attributionsrc="https://adtech.example/register-source?..."/>
    

    または、HTML 要素の代わりに JavaScript 呼び出しを使用することもできます。

    window.open() を使用した JavaScript の例を次に示します。特殊文字に関する問題を回避するため、URL は URL エンコードされています。

    const encodedUrl = encodeURIComponent(
      'https://adtech.example/attribution_source?ad_id=...');
    window.open(
      "https://shoes.example/landing",
      "_blank",
      `attributionsrc=${encodedUrl}`);
    
  2. ユーザーが広告をクリックまたは表示すると、ブラウザは GET リクエストを attributionsrc(通常は広告主または広告テクノロジー プロバイダのエンドポイント)に送信します。

  3. このリクエストを受け取った広告主または広告テクノロジー プロバイダは、広告のインタラクションのソース イベントを登録するようブラウザに指示し、後でコンバージョンをこの広告に関連付けられるようにします。そのためには、広告主または広告テクノロジー プロバイダがレスポンスに特別な HTTP ヘッダーを含めます。このヘッダーには、ソース イベント(広告のクリックまたは表示)に関する情報を提供するカスタムデータが付加されます。この広告でコンバージョンが発生すると、このカスタムデータが最終的にアトリビューション レポートに表示されます。

    広告を表示またはクリックする。

  4. その後、ユーザーが広告主のサイトにアクセスします。

  5. 広告主のサイトの関連する各ページ(購入確認ページや商品ページなど)で、コンバージョン ピクセル(<img> 要素)または JavaScript 呼び出しによって https://adtech.example/conversion?param1=...&param2=... へのリクエストが送信されます。

  6. この URL のサービス(通常は広告主または広告技術プロバイダ)がリクエストを受信します。これをコンバージョンとして分類することにしたため、コンバージョンを記録するようブラウザに指示する必要があります。つまり、アトリビューションをトリガーする必要があります。そのためには、広告主または広告テクノロジー プロバイダが、コンバージョンに関するカスタムデータを含む特別な HTTP ヘッダーをピクセル リクエストのレスポンスに含めます。

  7. ユーザーのローカル デバイス上のブラウザがこのレスポンスを受信し、コンバージョン データを元のソース イベント(広告のクリックまたは表示)と照合します。

  8. ブラウザは、attributionsrc に送信されるレポートのスケジュールを設定します。このレポートには次の情報が含まれます。

    1. 広告テクノロジー プロバイダまたは広告主がステップ 3 でソースイベントに関連付けたカスタム アトリビューション設定データ。
    2. ステップ 6 のカスタム コンバージョン データセット。
    この図は、イベントレベル レポートと集計可能レポートを生成するためにトリガーされる Attribution Reporting の要素を示しています。
    この図は、イベントレベル レポートと集計可能レポートを生成するためにトリガーされる Attribution Reporting の要素を示しています。
  9. その後、ブラウザが attributionsrc で定義されたエンドポイントにレポートを送信します。その際、遅延とノイズの付加が行われます。集計可能レポートは暗号化されますが、イベントレベル レポートは暗号化されません。

アトリビューション トリガー(広告主様のウェブサイト)

アトリビューション トリガーは、コンバージョンをキャプチャするようブラウザに指示するイベントです。

広告主様にとって最も重要なコンバージョン(購入など)をキャプチャすることをおすすめします。複数のコンバージョン タイプとメタデータを概要レポートで取得できます。

これにより、これらのイベントの集計結果が詳細かつ正確になります。

ソースをトリガーに照合する

ブラウザがアトリビューション トリガーのレスポンスを受信すると、ブラウザはローカル ストレージにアクセスして、アトリビューション トリガーのオリジンとそのページ URL の eTLD+1 の両方に一致するソースを探します。

たとえば、ブラウザが shoes.example/shoes123adtech.example からアトリビューション トリガーを受信すると、ブラウザはローカル ストレージで adtech.exampleshoes.example の両方に一致するソースを探します。

トリガーが特定のソースと一致するタイミングを決定するように、フィルタ(またはカスタムルール)を設定できます。たとえば、特定の商品カテゴリのコンバージョンのみをカウントし、他のカテゴリをすべて無視するようにフィルタを設定します。フィルタと優先順位付けモデルを使用すると、より高度なアトリビューション レポートを作成できます。

ローカル ストレージに複数のアトリビューション ソースが見つかった場合、ブラウザは最後に保存されたアトリビューション ソースを選択します。アトリビューション ソースに優先度が割り当てられている場合、ブラウザは優先度が最も高いソースを選択します。

データ収集

対応するソースと照合されたアトリビューション トリガーは、ブラウザによってレポートとして広告テクノロジー所有のサーバー上のレポート エンドポイント(収集エンドポイントまたは収集サービスと呼ばれることもあります)に送信されます。これらのレポートは、イベントレベル レポートまたは集計可能レポートです。

集計可能レポートは、概要レポートの生成に使用されます。集計可能レポートは、(パブリッシャーのサイト上の)広告から収集されたデータと(広告主のサイト上の)コンバージョン データの組み合わせです。コンバージョン データは、広告テクノロジーによって収集される前に、ユーザーのデバイス上のブラウザによって生成および暗号化されます。

イベントレベル レポートは 2 ~ 30 日遅れて提供されます。集計可能レポートは 1 時間以内にランダムに遅延して送信されます。イベントは貢献度予算の範囲内に収める必要があります。これらの選択肢により、プライバシーが保護され、個々のユーザーの操作が不正使用されるのを防ぐことができます。

イベントレベルのレポートのみを作成する場合、これが必要なインフラストラクチャの最後の部分です。ただし、概要レポートを生成する場合、追加のサービスを使用して集計可能なレポートを処理する必要があります。

概要レポートの生成

概要レポートを生成するには、集計可能レポートを処理する集計サービス(広告テクノロジーが運用)を使用します。集計サービスは、ユーザーのプライバシーを保護するためにノイズを追加し、最終的な概要レポートを返します。

集計可能レポートが収集され、バッチ化されて広告テクノロジー環境に送信されます。
この図は、収集エンドポイントからのデータの非同期フロー、レポートのバッチ処理、広告テクノロジー所有の集計サービスの処理を示しています。

収集された集計可能レポートがバッチ化されると、そのバッチは集計サービスによって処理されます。コーディネーターは、構成証明済みのバージョンの集計サービスにのみ復号鍵を提供します。集計サービスは、データを復号して集計し、ノイズを追加してから、結果を概要レポートとして返します。

集計可能レポートのバッチ処理

集計可能レポートを処理する前に、バッチにする必要があります。バッチは、戦略的にグループ化された集計可能レポートで構成されます。戦略は、特定の期間(日単位や週単位など)を反映している場合がほとんどです。このプロセスは、レポート エンドポイントとして機能する同じサーバーで行うことができます。

シグナル対ノイズ比を高くするには、バッチに多くのレポートを含める必要があります。

期間が長くなるほど、ノイズの少ない結果が得られます。
1 日と 1 週間の待ち時間を比較します。1 時間後には、概要の値は小さくなり、結果のノイズは増加する可能性があります。1 日単位の概要値は大きくなるため、ノイズが少ない傾向があります。

バッチ期間はいつでも変更できます。これにより、年間セールなど、より多くのボリュームが予想される特定のイベントをキャプチャできます。バッチ処理期間は、アトリビューション ソースやトリガーを変更しなくても変更できます。

集計サービス

集計サービスは、集計可能レポートを処理して概要レポートを生成します。集計可能レポートは暗号化され、高信頼実行環境(TEE)で実行される集計サービスでのみ読み取ることができます。

集計サービスは、コーディネーターから復号鍵をリクエストして、データを復号して集計します。復号して集計された結果は、プライバシーを保護するためにノイズが追加され、概要レポートとして返されます。

実務担当者は、集計可能なクリアテキスト レポートを生成して、集計サービスをローカルでテストできます。または、Nitro Enclaves を使用して AWS で暗号化されたレポートでテストすることもできます。

次のステップ

Google は、すべてのユーザーにとって役立つ API を構築できるよう、皆様からのフィードバックをお待ちしております。

API についてディスカッションする

他のプライバシー サンドボックス API と同様に、この API についてもドキュメントを公開し、公開ディスカッションを行っています。

API をテストする

Attribution Reporting API に関するテストとディスカッションに参加できます。