機能の概要

集計サービスは、広告技術プロバイダが顧客とのキャンペーンの効果を高めるために必要なパフォーマンス分析情報を提供します。

このドキュメントでは、以下について説明します。

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

このページは、広告技術プロバイダとデベロッパーが、Google の API を使用してプライバシーを保護しながら効果的な広告測定を行う方法を理解するのに役立ちます。

このドキュメントは、Private Aggregation APIAttribution Reporting APIProtected Audience APIShared StorageTrusted Execution Environments に精通していることを前提としています。

主な用語と概念

先に進む前に、主な用語について理解しておいてください。

用語集

アドテック

広告プラットフォームとは、広告を配信するためのサービスを提供している企業です。

集計可能レポート

Aggregatable reports are encrypted reports sent from individual user devices. These reports contain data about cross-site user behavior and conversions. Conversions (sometimes called attribution trigger events) and associated metrics are defined by the advertiser or ad tech. Each report is encrypted to prevent various parties from accessing the underlying data.

Learn more about aggregatable reports.

集計可能レポートのアカウンティング

A distributed ledger, located in both coordinators, that tracks the allocated privacy budget and enforces the 'No Duplicates' rule. This is the privacy preserving mechanism, located and run within coordinators, that ensures no reports pass through the Aggregation Service beyond the allocated privacy budget.

Read more on how batching strategies relate to aggregatable reports.

集計可能レポートのアカウンティング予算

References to the budget that ensures individual reports are not processed more than once.

集計サービス

集計可能レポートを処理して概要レポートを作成する、広告テクノロジー運営のサービス。

集約サービスの背景については、説明利用規約の全文リストをご覧ください。

宣誓

通常は暗号ハッシュまたは署名を使用して、ソフトウェアの ID を認証するメカニズム。集計サービスの提案では、構成証明は、広告テクノロジーが運用する集計サービスで実行されているコードとオープンソース コードを照合します。

構成証明の詳細

掛金の拠出
コーディネーター

Entities responsible for key management and aggregatable report accounting. A Coordinator maintains a list of hashes of approved aggregation service configurations and configures access to decryption keys.

ノイズとスケーリング

Statistical noise that is added to summary reports during the aggregation process to preserve privacy and ensure the final reports provide anonymized measurement information.

Read more about additive noise mechanism, which is drawn from Laplace distribution.

報告元

The entity that receives aggregatable reports—in other words, you or an ad tech that called the Attribution Reporting API. Aggregatable reports are sent from user devices to a well-known URL associated with the reporting origin. The reporting origin is designated during enrollment.

共有 ID

shared_inforeporting_origindestination_site(Attribution Reporting API のみ)、source_registration-time(Attribution Reporting API のみ)、scheduled_report_time、バージョンで構成される計算値。

shared_info フィールドで同じ属性を共有する複数のレポートには、同じ共有 ID を設定する必要があります。共有 ID は、集計可能レポートのアカウンティングで重要な役割を果たします。

詳しくは、信頼できるサーバーについての記事をご覧ください。

概要レポート

Attribution Reporting API と Private Aggregation API のレポート タイプ。サマリー レポートには、集計されたユーザーデータが含まれます。また、ノイズが追加された詳細なコンバージョン データも含まれる場合があります。概要レポートは集計レポートで構成されます。イベントレベル レポートよりも柔軟性が高く、より豊富なデータモデルを提供します。特に、コンバージョン値などのユースケースではその効果が顕著です。

高信頼実行環境(TEE

コンピュータのハードウェアとソフトウェアの安全な構成。これにより、外部の関係者は、漏洩を恐れずにマシンで実行されているソフトウェアの正確なバージョンを確認できます。これにより外部関係者は、ソフトウェア メーカーが主張している動作を、ソフトウェアが、それ以上でもそれ以下でもなく正確に実行していることを確認できます。

プライバシー サンドボックスの提案で使用される TEE について詳しくは、Protected Audience API サービスの説明集計サービスの説明をご覧ください。

集計サービスのワークフロー

集計サービスは、集計可能な元のレポートから、コンバージョンとリーチの詳細なデータの概要レポートを生成します。レポート生成フローは次のステップで構成されます。

  1. ブラウザが公開鍵を取得して暗号化されたレポートを生成します。
  2. 暗号化された集計可能レポートが広告テクノロジー サーバーに送信されます。
  3. 広告テクノロジー サーバーがレポートを(avro 形式で)バッチ化して、集計サービスに送信します。
  4. 集計ワーカーが集計レポートを取得して復号します。
  5. 集計ワーカーは、コーディネーターから復号鍵を取得します。
  6. 集計ワーカーは、集計とノイズ追加のためにレポートを復号します。
  7. 集計可能なレポート アカウンティング サービスは、指定された集計可能なレポートの概要レポートを生成するのに十分なプライバシー バジェットがあるかどうかを確認します。
  8. 集計サービスが最終的な概要レポートを送信します。

次の図は、ウェブデバイスとモバイル デバイスからレポートが受信されてから、集計サービスによって概要レポートが作成されるまでの集計サービスの動作を示しています。

エンドツーエンドの集計サービス フロー。
エンドツーエンドの集計サービス フロー

まとめると、Attribution Reporting API または Private Aggregation API は、複数のブラウザ インスタンスからレポートを生成します。Chrome は、コーディネータの鍵ホスティング サービスから公開鍵を取得します。この鍵は 7 日ごとにローテーションされ、レポートを暗号化してから広告テクノロジーのレポート作成元に送信します。広告テクノロジーのレポート作成元は、受信したレポートを収集して avro 形式に変換し、集計サービスに送信します。集計サービスにバッチ リクエストが送信されると、集計サービスは Key Hosting Service から復号鍵を取得し、レポートを復号して集計し、ノイズを追加して概要レポートを作成します(作成するのに十分なプライバシー バジェットがある場合)。

集計可能なレポートを準備する方法については、実装セクションをご覧ください。

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

レポート フローは、登録プロセスで指定した指定されたレポート送信元サーバーの助けなしでは完了しません。レポート作成元は、集計可能なレポートの収集、変換、バッチ処理を行い、Google Cloud または Amazon Web Services の集計サービスに送信する準備を行います。詳しくは、集計可能なレポートの準備方法をご覧ください。

クラウド コンポーネント

集約サービスは、複数のクラウド サービス コンポーネントで構成されています。提供されている Terraform スクリプトを使用して、必要なすべてのクラウド サービス コンポーネントをプロビジョニングして構成します。

Aggregation Service クラウド コンポーネント。
集計サービスのクラウド コンポーネント。

フロントエンド サービス

マネージド クラウド サービス: Cloud Functions(Google Cloud)/ API Gateway(Amazon Web Services)

Frontend Service は、ジョブの作成とジョブ状態の取得のための Aggregation API 呼び出しのメイン エントリ ポイントであるサーバーレス ゲートウェイです。Aggregation Service ユーザーからのリクエストの受信、入力パラメータの検証、集計ジョブのスケジューリング プロセスの開始を行います。

Frontend Service には、次の 2 つの API があります。

エンドポイント 説明
createJob この API は、集計サービス ジョブをトリガーします。ジョブをトリガーするには、ジョブ ID、入力ストレージの詳細、出力ストレージの詳細、レポート送信元などの情報が必要です。
getJob この API は、指定されたジョブ ID を持つジョブのステータスを返します。ジョブのステータス(「受信済み」、「処理中」、「完了」など)に関する情報を提供します。ジョブが完了すると、ジョブの実行中に発生したエラー メッセージなど、ジョブの結果も返されます。

Aggregation Service API のドキュメントを確認する。

ジョブキュー

マネージド クラウド サービス: Pub/Sub(Google Cloud)/ Amazon SQS(Amazon Web Services)

ジョブキューは、集計サービスのジョブリクエストを含むメッセージキューです。Frontend Service は、キューにジョブリクエストを挿入します。このリクエストは、Aggregation Worker によって消費され、処理されます。

クラウド ストレージ

マネージド クラウド サービス: Google Cloud Storage(Google Cloud)/ Amazon S3(Amazon Web Services)

Aggregation Service で使用される入力ファイルと出力ファイル(暗号化されたレポート ファイルや出力概要レポートなど)は、Cloud Storage に保存されます。

ジョブのメタデータ データベース

マネージド クラウド サービス: Spanner(Google Cloud)/ DynamoDB(Amazon Web Services)

ジョブ メタデータ データベースは、集計ジョブのステータスの保存と追跡に使用されます。作成日時、リクエスト日時、更新日時、状態(受信済み、進行中、完了済みなど)などのメタデータが記録されます。集計ワーカーは、ジョブの進行に応じてジョブ メタデータ データベースを更新します。

集計ワーカー

マネージド クラウド サービス: Confidential Space を使用した Compute Engine(Google Cloud)/ Nitro Enclave を使用した Amazon Web Services EC2(Amazon Web Services)。

集計ワーカーは、ジョブキューでジョブリクエストを処理し、コーディネータの鍵生成と配布サービス(KGDS)から取得した鍵を使用して暗号化された入力を復号します。ジョブ処理のレイテンシを最小限に抑えるために、集計ワーカーは復号キーを 8 時間キャッシュに保存し、処理するジョブ全体で使用します。

集計ワーカーは、高信頼実行環境(TEE)インスタンス内で動作します。ワーカーは一度に 1 つのジョブのみを処理します。自動スケーリング構成を設定することで、ジョブを並行して処理するように複数のワーカーを構成できます。自動スケーリングを使用する場合、自動スケーリングはジョブキュー内のメッセージ数に応じてワーカー数を動的に調整します。自動スケーリングのワーカーの最小数と最大数は、Terraform 環境ファイルで構成できます。自動スケーリングの詳細については、Amazon Web Services または Google Cloud の Terraform スクリプトをご覧ください。

集計ワーカーは、集計可能レポートのアカウンティングのために集計可能レポート アカウンティング サービスを呼び出します。このサービスは、プライバシー バジェットの上限を超えていない場合にのみジョブが実行されることを確認します。(「重複なし」ルールを参照)。予算が利用可能な場合は、ノイズの多い集計値を使用して概要レポートが生成されます。詳しくは、集計可能なレポートのアカウント設定をご覧ください。

集計ワーカーは、ジョブ メタデータ データベースでジョブのメタデータを更新します。この情報には、ジョブの戻りコードと、レポートの一部が失敗した場合のレポート エラー カウンタが含まれます。ユーザーは、getJob ジョブ状態取得 API を使用して状態を取得できます。

Aggregation Service の詳細については、こちらの説明をご覧ください。

次のステップ

Aggregation Service の仕組みを理解したので、スタートガイドに沿って、Google Cloud または Amazon Web Services で独自のインスタンドをデプロイします。