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

アトリビューション レポートの接続サービスの概要(技術的な意思決定者向け)。

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

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

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

このドキュメントは、次のような場合に読む必要があります。

  • 広告テクノロジーまたは広告主様の技術部門の意思決定者である。運用、DevOps、データ サイエンス、IT、マーケティングなど、技術的な実装に関する意思決定を行う役割を担っている可能性があります。プライバシー保護測定のための API の仕組みについてご説明します。
  • この API とアグリゲーション サービス環境でテストを設定する技術者(デベロッパー、システム オペレーター、システム アーキテクト、データ サイエンティストなど)。

このドキュメントでは、Attribution Reporting API のサービスがどのように機能するかの概要を説明します。技術担当者は、この API をローカルで試すことができます。

概要

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

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

レポートをサポートするために連携するコンポーネントは常に 2 つ(場合によっては 3 つ)あります。

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

集計可能レポートを収集した場合は、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 のトリガー要素がイベントレベル レポートと集計可能レポートにつながる様子を示しています。
    この図は、アトリビューション レポートのトリガーによってイベントレベル レポートと集計可能レポートが生成される仕組みを示しています。
  9. その後、ブラウザが attributionsrc で定義されたエンドポイントにレポートを送信します。その際、ある程度の遅延が発生し、ノイズが加わります。集計可能レポートは暗号化されますが、イベントレベル レポートは暗号化されません。

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

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

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

これにより、これらのイベントの集計結果が詳細かつ正確であることが確認されます。

ソースをトリガーに一致させる

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

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

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

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

データ収集

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

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

イベントレベル レポートは 2 ~ 30 日遅延します。集計可能なレポートは、1 時間以内にランダムな遅延で送信され、イベントは貢献予算内に収まる必要があります。これらの選択肢は、プライバシーを保護し、個々のユーザーの行動が利用されるのを防ぎます。

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

概要レポートの生成

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

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

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

バッチ処理された集計可能レポート

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

SN 比を高くするため、バッチには多くのレポートを含める必要があります。

期間が長いほど、ノイズの少ない結果が得られます。
1 日と 1 週間待機した場合を比較します。1 時間後には、概要の値が小さくなり、ノイズの多い結果になる可能性があります。1 日のデータでは、概要の値が大きくなるため、ノイズが少なくなる可能性があります。

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

集計サービス

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

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

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

次のステップ

Google は、すべてのユーザーにとって使いやすい API を構築するために、皆様との対話を重視しています。

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

プライバシー サンドボックスの他の API と同様に、この API についてもドキュメントを公開し、どなたでもディスカッションに参加できるようにしています

API を試す

Attribution Reporting API についてのテストとディスカッションにご参加ください。