アトリビューション レポートに関連付けられているサービスの概要を、技術的な意思決定者向けに説明します。
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 のクライアントサイドを設定できます。
ウェブサイトとブラウザ間の通信

アトリビューション イベントフロー
広告を表示するパブリッシャーのサイトがあるとします。広告主様や広告技術プロバイダは、広告のインタラクションについて把握し、コンバージョンを適切な広告に関連付けたいと考えています。レポート(イベントレベルと集計可能の両方)は次のように生成されます。
パブリッシャーのサイトで、広告要素(
<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}`);
ユーザーが広告をクリックまたは表示すると、ブラウザは
GET
リクエストをattributionsrc
(通常は広告主または広告テクノロジー プロバイダのエンドポイント)に送信します。このリクエストを受け取った広告主または広告テクノロジー プロバイダは、広告のインタラクションのソース イベントを登録するようブラウザに指示し、後でコンバージョンをこの広告に関連付けられるようにします。そのためには、広告主または広告テクノロジー プロバイダがレスポンスに特別な HTTP ヘッダーを含めます。このヘッダーには、ソース イベント(広告のクリックまたは表示)に関する情報を提供するカスタムデータが付加されます。この広告でコンバージョンが発生すると、このカスタムデータが最終的にアトリビューション レポートに表示されます。
その後、ユーザーが広告主のサイトにアクセスします。
広告主のサイトの関連する各ページ(購入確認ページや商品ページなど)で、コンバージョン ピクセル(
<img>
要素)または JavaScript 呼び出しによってhttps://adtech.example/conversion?param1=...¶m2=...
へのリクエストが送信されます。この URL のサービス(通常は広告主または広告技術プロバイダ)がリクエストを受信します。これをコンバージョンとして分類することにしたため、コンバージョンを記録するようブラウザに指示する必要があります。つまり、アトリビューションをトリガーする必要があります。そのためには、広告主または広告テクノロジー プロバイダが、コンバージョンに関するカスタムデータを含む特別な HTTP ヘッダーをピクセル リクエストのレスポンスに含めます。
ユーザーのローカル デバイス上のブラウザがこのレスポンスを受信し、コンバージョン データを元のソース イベント(広告のクリックまたは表示)と照合します。
ブラウザは、
attributionsrc
に送信されるレポートのスケジュールを設定します。このレポートには次の情報が含まれます。- 広告テクノロジー プロバイダまたは広告主がステップ 3 でソースイベントに関連付けたカスタム アトリビューション設定データ。
- ステップ 6 のカスタム コンバージョン データセット。
この図は、イベントレベル レポートと集計可能レポートを生成するためにトリガーされる Attribution Reporting の要素を示しています。 その後、ブラウザが
attributionsrc
で定義されたエンドポイントにレポートを送信します。その際、遅延とノイズの付加が行われます。集計可能レポートは暗号化されますが、イベントレベル レポートは暗号化されません。
アトリビューション トリガー(広告主様のウェブサイト)
アトリビューション トリガーは、コンバージョンをキャプチャするようブラウザに指示するイベントです。
広告主様にとって最も重要なコンバージョン(購入など)をキャプチャすることをおすすめします。複数のコンバージョン タイプとメタデータを概要レポートで取得できます。
これにより、これらのイベントの集計結果が詳細かつ正確になります。
ソースをトリガーに照合する
ブラウザがアトリビューション トリガーのレスポンスを受信すると、ブラウザはローカル ストレージにアクセスして、アトリビューション トリガーのオリジンとそのページ URL の eTLD+1 の両方に一致するソースを探します。
たとえば、ブラウザが shoes.example/shoes123
の adtech.example
からアトリビューション トリガーを受信すると、ブラウザはローカル ストレージで adtech.example
と shoes.example
の両方に一致するソースを探します。
トリガーが特定のソースと一致するタイミングを決定するように、フィルタ(またはカスタムルール)を設定できます。たとえば、特定の商品カテゴリのコンバージョンのみをカウントし、他のカテゴリをすべて無視するようにフィルタを設定します。フィルタと優先順位付けモデルを使用すると、より高度なアトリビューション レポートを作成できます。
ローカル ストレージに複数のアトリビューション ソースが見つかった場合、ブラウザは最後に保存されたアトリビューション ソースを選択します。アトリビューション ソースに優先度が割り当てられている場合、ブラウザは優先度が最も高いソースを選択します。
データ収集
対応するソースと照合されたアトリビューション トリガーは、ブラウザによってレポートとして広告テクノロジー所有のサーバー上のレポート エンドポイント(収集エンドポイントまたは収集サービスと呼ばれることもあります)に送信されます。これらのレポートは、イベントレベル レポートまたは集計可能レポートです。
集計可能レポートは、概要レポートの生成に使用されます。集計可能レポートは、(パブリッシャーのサイト上の)広告から収集されたデータと(広告主のサイト上の)コンバージョン データの組み合わせです。コンバージョン データは、広告テクノロジーによって収集される前に、ユーザーのデバイス上のブラウザによって生成および暗号化されます。
イベントレベル レポートは 2 ~ 30 日遅れて提供されます。集計可能レポートは 1 時間以内にランダムに遅延して送信されます。イベントは貢献度予算の範囲内に収める必要があります。これらの選択肢により、プライバシーが保護され、個々のユーザーの操作が不正使用されるのを防ぐことができます。
イベントレベルのレポートのみを作成する場合、これが必要なインフラストラクチャの最後の部分です。ただし、概要レポートを生成する場合、追加のサービスを使用して集計可能なレポートを処理する必要があります。
概要レポートの生成
概要レポートを生成するには、集計可能レポートを処理する集計サービス(広告テクノロジーが運用)を使用します。集計サービスは、ユーザーのプライバシーを保護するためにノイズを追加し、最終的な概要レポートを返します。

収集された集計可能レポートがバッチ化されると、そのバッチは集計サービスによって処理されます。コーディネーターは、構成証明済みのバージョンの集計サービスにのみ復号鍵を提供します。集計サービスは、データを復号して集計し、ノイズを追加してから、結果を概要レポートとして返します。
集計可能レポートのバッチ処理
集計可能レポートを処理する前に、バッチにする必要があります。バッチは、戦略的にグループ化された集計可能レポートで構成されます。戦略は、特定の期間(日単位や週単位など)を反映している場合がほとんどです。このプロセスは、レポート エンドポイントとして機能する同じサーバーで行うことができます。
シグナル対ノイズ比を高くするには、バッチに多くのレポートを含める必要があります。

バッチ期間はいつでも変更できます。これにより、年間セールなど、より多くのボリュームが予想される特定のイベントをキャプチャできます。バッチ処理期間は、アトリビューション ソースやトリガーを変更しなくても変更できます。
集計サービス
集計サービスは、集計可能レポートを処理して概要レポートを生成します。集計可能レポートは暗号化され、高信頼実行環境(TEE)で実行される集計サービスでのみ読み取ることができます。
集計サービスは、コーディネーターから復号鍵をリクエストして、データを復号して集計します。復号して集計された結果は、プライバシーを保護するためにノイズが追加され、概要レポートとして返されます。
実務担当者は、集計可能なクリアテキスト レポートを生成して、集計サービスをローカルでテストできます。または、Nitro Enclaves を使用して AWS で暗号化されたレポートでテストすることもできます。
次のステップ
Google は、すべてのユーザーにとって役立つ API を構築できるよう、皆様からのフィードバックをお待ちしております。
API についてディスカッションする
他のプライバシー サンドボックス API と同様に、この API についてもドキュメントを公開し、公開ディスカッションを行っています。
API をテストする
Attribution Reporting API に関するテストとディスカッションに参加できます。