廣告資料中心的隱私權檢查

使用者隱私是廣告資料中心的運作核心,也是 Google 平台的建構基礎。為了保護使用者隱私,並協助客戶遵循監管法規,我們採取若干檢查與限制措施,防止 Google 平台提供的資料含有個別使用者的資料1

以下簡要說明廣告資料中心的隱私權功能,後續章節會有詳細說明:

  • 「靜態檢查」會檢查查詢中的陳述式,找出顯而易見的隱私權疑慮。
  • 資料存取預算 - 限制可存取特定資料的總次數。
  • 匯總檢查可確保每個資料列的使用者達到一定數量,以保護使用者隱私。
  • 差異檢查 (或「差異檢查」) 會比較結果組,藉此防止您比較多個使用者群的資料,進而收集個別使用者的資訊。
  • 雜訊插入 - 差異檢查的替代方式。 在查詢的匯總 SELECT 子句中加入隨機雜訊,不但能保護使用者隱私,同時可產生合理準確的結果,不用再執行差異檢查,還能降低規定的輸出結果匯總門檻。

如果結果未通過隱私權檢查,廣告資料中心會顯示或傳回隱私權訊息,指出有資料列已遭篩除。篩除的可能是單一資料列,甚至是整個結果集。為了確保報表總和仍然正確,請使用篩除資料列摘要,計算捨棄的列含有多少資料2

靜態檢查

靜態檢查會檢查查詢中的陳述式,找出顯而易見的隱私權問題,例如匯出使用者 ID、任何使用者 ID 的函式,或是對包含使用者層級資料的欄位使用不允許的函式。為避免因靜態檢查而發生查詢錯誤,請詳閱最佳做法,並瞭解允許哪些函式

資料存取預算

「資料存取預算」會限制可存取特定資料的總次數。預算即將用完時,使用者會收到類型為 DATA_ACCESS_BUDGET_IS_NEARLY_EXHAUSTED隱私權訊息通知。您可以透過資料存取預算進入點,或是觀察使用者介面中的預算通知,監控預算使用情況。

匯總需求條件

廣告資料中心在執行隱私權檢查時,是以使用者匯總門檻做為核心標準。大多數查詢只能產生含括 50 位以上使用者的報表資料,但如果是只存取點擊和轉換資料的查詢,報表資料的使用者匯總門檻是 10 位

  • 無論實際有多少使用者建立 User ID 為 0 的事件,這類事件都會視為單一使用者,並計入匯總門檻。
  • ID 為空值的使用者不會計入匯總門檻。
  • 瞭解雜訊模式對匯總要求的影響

最佳做法:設定篩除資料列摘要,以便針對省略的資料回報。這有助報表基準保持一致。

在以下範例中,包含廣告活動 125 的列會從最終結果中篩除,因為該列只匯總 48 位使用者的資料,未達 50 位使用者門檻。

廣告活動 ID 使用者 曝光次數
123 314 928
124 2718 5772
125 48 353

隱私模式

廣告資料中心提供兩種隱私權模式:差異檢查雜訊注入。以下各節將說明並比較這些模式。

使用差異檢查

差異檢查會比較多個充分匯總的結果,確保無法辨識使用者身分,方式如下:

  • 比較執行中的工作結果和先前的結果。
  • 比較相同結果集內的資料列。

當兩個工作之間的基礎資料有異動時,就會觸發差異檢查通報違規。比較工作結果與之前的結果時,廣告資料中心會檢視個別使用者層級是否存在漏洞。也就是說,即便結果來自不同廣告活動或是報表中的使用者人數相同,只要有大量重疊的使用者,結果就可能會遭到篩除。

另一方面,如果兩個匯總結果集的使用者人數相同 (兩個結果集看起來一樣),但沒有個別使用者重疊,在此情況下可確保使用者隱私安全,結果就不會遭到篩除。

廣告資料中心在評估新結果是否存在安全漏洞時,會參考過往結果的資料。也就是說,一再重複執行相同的查詢會產生越來越多的資料,而系統進行差異檢查時,便會依據這些資料評估新結果是否有安全漏洞。此外,基礎資料可能會有所變動,導致結果本應穩定的查詢無法通過隱私權檢查。

如果工作層級結果有明顯差異,但個別資料列和上一個工作的資料列相似,廣告資料中心就會篩除類似的資料列。在這個範例中,第二項工作結果中含有廣告活動 123 的資料列會遭到篩除,因為該列與之前的結果僅相差一位使用者。

工作 1
廣告活動 ID 使用者人數
123 400
124 569
工作 2
廣告活動 ID 使用者人數
123 401
224 1325

如果結果集中所有資料列的使用者總數與上一個工作相似,廣告資料中心會篩除整個結果集。在這個範例中,系統會篩除第二個工作的所有結果。

工作 1
廣告活動 ID 使用者人數
123 400
124 1367
工作 2
廣告活動 ID 使用者人數
123 402
124 1367

使用雜訊插入功能

查詢資料庫時,雜訊插入技術可保護使用者隱私,運作方式是在查詢的 SELECT 匯總子句中加入隨機雜訊。在保護使用者隱私之餘,這個雜訊能還能提供合理準確的結果,為您省去進行差異檢查的麻煩,並降低取得結果所需達到的匯總門檻。目前大多數的查詢都能在雜訊模式下執行,但有一些限制。如要進一步瞭解雜訊模式,以及雜訊插入功能對隱私權規定的影響,請參閱「雜訊插入」。

比較差異檢查和雜訊插入

實際資料
廣告活動 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 Ads 帳戶中,依歸因事件類型查看所有轉換 (包括歐洲經濟區資料)。
  • 您是評估合作夥伴,想在連結的 Google Ads 帳戶中,依歸因事件類型查看所有轉換。

如要取得 Google Ads 帳戶的轉換總數,您可以使用 OPTIONS(privacy_checked_export=TRUE) 子句重新撰寫查詢,針對每項 Google 服務個別套用隱私權檢查。

本節中的重寫範例會執行以下操作:

  1. 它會個別查詢每項 Google 服務,並明確將隱私權檢查套用至每個中繼結果集。
  2. 這個指令會為每項 Google 服務 (YouTube、Gmail 和 Network) 的隱私權檢查結果建立個別的臨時資料表
  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 有效但可能觸發過度篩除,查詢建議工具會在查詢建構過程中顯示可行的建議,避免產生不適當的結果。

觸發條件含括以下模式:

如何使用查詢建議工具:


  1. 除了使用者同意分享的資料 (例如調查對象提供的資料)。 

  2. 除非受限於隱私權規定而禁止採用 (例如當篩除資料列摘要中的使用者資料不符合匯總需求條件)。