Проверки конфиденциальности в Ads Data Hub

Конфиденциальность конечных пользователей лежит в основе всего, что делает Ads Data Hub; это фундамент, на котором построена наша платформа. Для обеспечения этой конфиденциальности и содействия нашим клиентам в соблюдении нормативных требований мы вводим определенные проверки и ограничения, призванные предотвратить передачу данных об отдельных пользователях¹ в данных, получаемых вами с платформы.

Ниже представлен краткий обзор функций конфиденциальности Ads Data Hub, более подробная информация приведена в следующих разделах:

  • Статические проверки анализируют утверждения в ваших запросах, чтобы выявить очевидные и непосредственные угрозы конфиденциальности.
  • Ограничения на количество обращений к данным лимитируют общее число раз, когда вы можете получить доступ к определенному фрагменту данных.
  • Проверки агрегирования гарантируют, что каждая строка содержит достаточно большое количество пользователей для защиты конфиденциальности конечных пользователей.
  • Функция «Внедрение шума» добавляет точно откалиброванный случайный шум к агрегирующему оператору SELECT для защиты конфиденциальности пользователей, обеспечивая при этом достаточно точные результаты.
  • Проверка различий (или «diff checks») — это устаревшая альтернатива внедрению шума, которая сравнивает наборы результатов, чтобы предотвратить комбинации, которые могли бы идентифицировать отдельных пользователей. Это позволяет избежать шума, но часто приводит к значительному и непредсказуемому удалению данных.

Статические проверки

Статические проверки анализируют операторы в ваших запросах на предмет очевидных и непосредственных угроз конфиденциальности, таких как экспорт идентификаторов пользователей, любое использование идентификаторов пользователей или использование запрещенных функций для полей, содержащих данные уровня пользователя. Чтобы избежать ошибок запросов, возникающих при статических проверках, ознакомьтесь с рекомендациями и разберитесь, какие функции разрешены .

бюджет доступа к данным

Ваш лимит доступа к данным ограничивает общее количество раз, когда вы можете получить доступ к определенному фрагменту данных. Пользователи, приближающиеся к исчерпанию своего лимита, получат уведомление о конфиденциальности типа DATA_ACCESS_BUDGET_IS_NEARLY_EXHAUSTED . Вы можете отслеживать лимит, используя точку входа в раздел «Бюджет доступа к данным» или наблюдая за уведомлениями о лимите в пользовательском интерфейсе.

Требования к агрегации

В основе проверок конфиденциальности Ads Data Hub лежит пороговое значение агрегации данных о пользователях. Конкретное значение порога зависит от режима конфиденциальности и доступных данных:

  • Для добавления шума требуется приблизительно 20 уникальных пользователей на каждую строку результатов.
  • Для проверки различий требуется приблизительно 50 уникальных пользователей на каждую строку результатов.
  • Для запросов, содержащих только данные о кликах и конверсиях, требуется примерно 10 уникальных пользователей на каждую строку результатов.

В следующем примере (с использованием добавления шума) строка, содержащая кампанию 125, будет отфильтрована из окончательных результатов, поскольку она объединяет результаты от 18 пользователей, что ниже минимального значения в 20 пользователей.

Идентификатор кампании Пользователи Впечатления
123 314 928
124 2718 5772
125 18 45

режимы конфиденциальности

Ads Data Hub предлагает два режима конфиденциальности — «Внедрение шума» и «Проверка различий» . Подробную информацию о каждом режиме см. на следующих страницах:

Сравните проверку различий с введением шума.

Фактические данные
Идентификатор кампании Количество показов
101 35
102 63
201 142
202 21
301 56
302 99
Результаты, полученные с использованием проверок на различия.
Идентификатор кампании Количество показов
101 35
102 63
201 142
202 21
301 56
302 99
Результаты с использованием введения шума
Идентификатор кампании Количество показов
101 37.8373
102 60.9104
201 182.0955
202 26.2332
301 58.0871
302 97.5018
Пример проведения рекламной кампании 101 в режиме шумоподавления.
Идентификатор кампании Реальные впечатления Добавлен шум Возвращенные показы ( 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-запрос корректен, но может вызвать проблемы с конфиденциальностью, советник по запросам предоставит полезные рекомендации в процессе его разработки, чтобы помочь вам избежать нежелательных результатов.

Для использования советника по запросам:

  • UI . Рекомендации будут отображаться в редакторе запросов, над текстом запроса.
  • API . Используйте метод customers.analysisQueries.validate .

  1. Помимо данных, которыми они согласились поделиться, например , в случае с участниками дискуссии.