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

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

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

  • 「靜態檢查」會檢查查詢中的陳述式,找出顯而易見的隱私權疑慮。
  • 資料存取預算 - 限制可存取特定資料的總次數。
  • 匯總檢查可確保每個資料列的使用者達到一定數量,以保護使用者隱私。
  • 差異檢查 (或「差異檢查」) 會比較結果組,藉此防止您比較多個使用者群的資料,進而收集個別使用者的資訊。
  • 雜訊插入 - 差異檢查的替代方式。雜訊模式僅適用於行銷人適用的廣告資料中心服務。如要瞭解雜訊插入功能,請前往行銷人適用的廣告資料中心網站查看這個頁面。

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

篩除資料列摘要

篩除資料列摘要會匯總因隱私權檢查而篩除的資料。篩除資料列中的資料在加總後會加進綜合資料列。雖然篩除後的資料無法進一步分析,但可以歸納出從結果中篩除的資料量。

明確的隱私權篩選

如果您需要將查詢拆解,但又想合併匯總結果,可以明確地將隱私權檢查套用至多個較小的查詢,然後以不侵犯隱私權的方式匯總這些結果。

應用情境範例:

  • 您是廣告主,想在已連結的 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. 除非受限於隱私權規定而禁止採用 (例如當篩除資料列摘要中的使用者資料不符合匯總需求條件)。