使用者隱私是廣告資料中心的運作核心,也是 Google 平台的建構基礎。為了保護使用者隱私,並協助客戶遵循監管法規,我們採取若干檢查與限制措施,防止 Google 平台提供的資料含有個別使用者的資料1。
廣告資料中心的隱私權功能大致如下,後續章節會有詳細說明:
- 靜態檢查會檢查查詢中的陳述式,找出顯而易見的隱私權疑慮。
- 資料存取預算 - 限制可存取特定資料的總次數。
- 匯總檢查 - 確保每一列的使用者達到一定人數,保障使用者隱私。
- 雜訊插入會在匯總
SELECT子句中加入經過精確校準的隨機雜訊,保護使用者隱私,同時提供合理準確的結果。 - 差異檢查 (或「差異檢查」) 是雜訊注入的舊版替代方案,可比較結果集,避免出現可能識別個別使用者的組合。這樣做可避免雜訊,但通常會導致大量資料遭到不可預測的修訂。
靜態檢查
靜態檢查會檢查查詢中的陳述式,找出顯而易見的隱私權疑慮,例如:匯出使用者 ID 或任何使用者 ID 的函式,或是對包含使用者層級資料的欄位套用不允許的函式。如要避免靜態檢查導致查詢錯誤,請參閱最佳做法,並瞭解允許使用的函式。
資料存取預算
「資料存取預算」會限制可存取特定資料的總次數。預算即將用完時,使用者會收到類型為 DATA_ACCESS_BUDGET_IS_NEARLY_EXHAUSTED 的隱私權訊息通知。您可以透過資料存取預算進入點,或是觀察使用者介面中的預算通知,監控預算使用情況。
匯總需求條件
廣告資料中心在執行隱私權檢查時,是以使用者匯總門檻做為核心標準。具體門檻取決於隱私權模式和存取資料:
- 雜訊插入功能需要每個結果列大約 20 位不重複使用者。
- 差異檢查需要每個結果資料列約有 50 位不重複使用者。
- 如果查詢的資料僅限於點擊和轉換資料,則每個結果資料列大約需要 10 位不重複使用者。
在以下範例 (使用雜訊注入) 中,包含廣告活動 125 的資料列會從最終結果中篩除,因為該列只匯總 18 位使用者的資料,未達 20 位使用者的門檻。
| 廣告活動 ID | 使用者 | 曝光次數 |
|---|---|---|
| 123 | 314 | 928 |
| 124 | 2718 | 5772 |
| 125 | 18 | 45 |
隱私模式
廣告資料中心提供兩種隱私權模式:雜訊插入和差異檢查。如要進一步瞭解每種模式,請參閱下列頁面:
比較差異檢查和雜訊插入
|
|
||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||
明確的隱私權篩選
如果需要將查詢拆開,但想合併匯總結果,可以對多個較小的查詢明確套用隱私權檢查,然後以隱私權安全的方式匯總這些結果。
應用情境範例:
- 您是廣告主,想在已連結的 Google Ads 帳戶中,依歸因事件類型查看所有轉換,包括歐洲經濟區資料。
- 您是評估合作夥伴,想在已連結的 Google Ads 帳戶中,依歸因事件類型查看所有轉換。
如要取得 Google Ads 帳戶的轉換總和,您可以重新編寫查詢,使用 OPTIONS(privacy_checked_export=TRUE) 子句個別對每個 Google 服務套用隱私權檢查。
本節中的重寫範例會執行下列操作:
- 這項功能會個別查詢每項 Google 服務,並明確對每個中繼結果集套用隱私權檢查。
- 系統會為每項 Google 服務 (YouTube、Gmail 和網路) 經過隱私權檢查的結果,建立個別的臨時資料表。
- 系統會匯總並加總臨時資料表中通過隱私權檢查的轉換次數。
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 有效但可能觸發隱私權問題,查詢建議工具會在查詢建構過程中顯示可行的建議,避免產生不適當的結果。
如何使用查詢建議工具:
- 使用者介面:建議會顯示在查詢編輯器中的查詢文字上方。
- API:請使用
customers.analysisQueries.validate方法。
-
除了使用者同意分享的資料 (例如調查對象提供的資料)。 ↩