Ads Data Hub のプライバシー チェック

Ads Data Hub が行うあらゆる処理はエンドユーザーのプライバシー保護を念頭に置いたものとなっており、プラットフォームそのものがプライバシー保護を基礎として構築されています。Google ではプライバシーを保護し、お客様の規制遵守をサポートするために、お客様がプラットフォームから取得するデータの中に個々のユーザーに関するデータ1が含まれないよう、一定のチェック機能と制限を設けています。

Ads Data Hub のプライバシー機能の概要は以下のとおりです。一部詳細については、後述します。

  • 静的チェック: クエリ内のステートメントを調べ、プライバシーに関する明らかで切迫した懸念がないか探します。
  • データアクセス予算: 特定のデータにアクセスできる回数の上限が指定されています。
  • 集計チェック: 各行に含まれるユーザー数をしきい値以上にすることで、エンドユーザーのプライバシーを保護します。
  • ノイズ インジェクションでは、集計 SELECT 句に正確に調整されたランダムノイズを追加することで、ユーザーのプライバシーを保護しつつ、ある程度の正確な結果を得ることができます。
  • 差分チェック(または「差分チェック」)は、ノイズ注入の代替手段として以前から使用されているもので、結果セットを比較して、個々のユーザーを識別できる組み合わせを防ぐのに役立ちます。これによりノイズは回避されますが、データが大幅に予測不能な形で削除されることがよくあります。

静的チェック

静的チェックでは、クエリ内のステートメントを調べ、プライバシーに関する明らかで直接的な懸念がないか確認します。たとえば、ユーザー識別子のエクスポート、ユーザー識別子を使った関数、ユーザー単位のデータを含むフィールドにおける許可されていない関数の使用がないかを調べます。静的チェックによるクエリ エラーを回避するには、ベスト プラクティスを確認し、どの関数が許可されているかを理解してください。

データアクセス予算

データアクセス予算とは、同じデータにアクセスできる回数の上限を定めたものです。予算の終了が近づくと、DATA_ACCESS_BUDGET_IS_NEARLY_EXHAUSTED タイプのプライバシー メッセージで通知されます。予算は、データアクセス予算のエントリ ポイントを使用するか、管理画面で予算通知を確認することでモニタリングできます。

集計の要件

Ads Data Hub のプライバシー チェックでは、ユーザー集計のしきい値が基準となります。具体的なしきい値は、プライバシー モードとアクセスされたデータによって異なります。

  • ノイズ インジェクションでは、結果の行ごとに約 20 人のユニーク ユーザーが必要です。
  • 差分チェックでは、結果の行ごとに約 50 人のユニーク ユーザーが必要です。
  • クリック数とコンバージョン データのみのクエリでは、結果行ごとに約 10 人のユニーク ユーザーが必要です。

次の例(ノイズ注入を使用)では、キャンペーン 125 を含む行は最終結果からフィルタされます。18 人のユーザーからの結果を集計しており、ユーザー数 20 人の集計要件を下回っているためです。

キャンペーン ID ユーザー 表示回数
123 314 928
124 2,718 5,772
125 18 45

プライバシー モード

Ads Data Hub には、ノイズ インジェクション差分チェックの 2 つのプライバシー モードがあります。各モードの詳細については、以下のページをご覧ください。

差分チェックとノイズ インジェクションを比較する

実際のデータ
キャンペーン ID インプレッション数
101 35
102 63
201 142
202 21
301 56
302 99
差分チェックを使用した結果
キャンペーン ID インプレッション数
101 35
102 63
201 142
202 21
301 56
302 99
ノイズ インジェクションを使用した結果
キャンペーン ID インプレッション数
101 37.8373
102 60.9104
201 182.0955
202 26.2332
301 58.0871
302 97.5018
ノイズモードのキャンペーン 101 の例
キャンペーン ID 実際のインプレッション数 ノイズを追加しました 返されたインプレッション数(ANON_COUNT
101 35 2.8373 37.8373

明示的なプライバシー フィルタリング

クエリを分割する必要があるが、集計結果を結合したい場合は、複数の小さなクエリにプライバシー チェックを明示的に適用し、プライバシーを保護した方法で結果を集計できます。

サンプル ユースケース:

  • 広告主様が、リンクされた Google 広告アカウントのすべてのコンバージョンをアトリビューション イベント タイプ別に検索しています。これには EEA のデータが含まれます。
  • 測定パートナーが、リンクされた Google 広告アカウントでアトリビューション イベント タイプ別のすべてのコンバージョンを探しています。

Google 広告アカウントのコンバージョンの合計を取得するには、OPTIONS(privacy_checked_export=TRUE) 句を使用してクエリを書き換え、各 Google サービスに個別にプライバシー チェックを適用します。

このセクションの書き換え例では、次の処理を行います。

  1. 各 Google サービスに個別にクエリを実行し、各中間結果セットにプライバシー チェックを明示的に適用します。
  2. YouTube、Gmail、ネットワークなど、各 Google サービスのプライバシー チェックの結果に対して、別々の一時テーブルを作成します。
  3. 一時テーブルからプライバシー チェック済みのコンバージョン数を集計して合計します。
CREATE TEMP TABLE youtube_agg OPTIONS(privacy_checked_export=TRUE) AS
SELECT
 impression_data.campaign_id,
 attribution_event_type,
 COUNT(1) AS num_convs
FROM adh.google_ads_conversions_policy_isolated_youtube
WHERE impression_data.campaign_id IN UNNEST(@campaign_ids)
 AND conversion_type IN UNNEST(@conversion_type_list)
GROUP BY campaign_id, attribution_event_type;

CREATE TEMP TABLE network_agg OPTIONS(privacy_checked_export=TRUE) AS
SELECT
 impression_data.campaign_id,
 attribution_event_type,
 COUNT(1) AS num_convs
FROM adh.google_ads_conversions_policy_isolated_network
WHERE impression_data.campaign_id IN UNNEST(@campaign_ids)
 AND conversion_type IN UNNEST(@conversion_type_list)
GROUP BY campaign_id, attribution_event_type;

CREATE TEMP TABLE gmail_agg OPTIONS(privacy_checked_export=TRUE) AS
SELECT
 impression_data.campaign_id,
 attribution_event_type,
 COUNT(1) AS num_convs
FROM adh.google_ads_conversions_policy_isolated_gmail
WHERE impression_data.campaign_id IN UNNEST(@campaign_ids)
 AND conversion_type IN UNNEST(@conversion_type_list)
GROUP BY campaign_id, attribution_event_type;

SELECT
 campaign_id,
 attribution_event_type,
 SUM(num_convs) AS num_convs
FROM (
 SELECT * FROM youtube_agg
 UNION ALL
 SELECT * FROM network_agg
 UNION ALL
 SELECT * FROM gmail_agg
)
GROUP BY campaign_id, attribution_event_type

このクエリでは、JOIN を使用してテーブル間でデータを直接結合するのではなく、まず各テーブルに対してクエリを実行し、各中間テーブルにプライバシー チェックを適用してから、UNION を使用してプライバシー チェック済みの値を合計します。

クエリ アドバイザー

有効な SQL であっても、プライバシーの問題を引き起こす可能性がある場合は、クエリ作成中にクエリ アドバイザーによる具体的なアドバイスが提供され、望ましくない結果を避けられるようになっています。

クエリ アドバイザーを使用するには:

  • 管理画面。アドバイスは、クエリエディタ内のクエリテキストの上に表示されます。
  • APIcustomers.analysisQueries.validate メソッドを使用します。

  1. ユーザーが共有に同意したデータ(パネルメンバーの場合など)以外を指します。