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

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

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

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

Если результат не проходит проверку конфиденциальности, Ads Data Hub отобразит или вернет сообщение о конфиденциальности, информирующее вас о том, что строка была отфильтрована. Это может быть что угодно — от одной строки до всего набора результатов. Чтобы обеспечить точность итоговых данных в отчетах, используйте сводку по отфильтрованным строкам для подсчета данных из удаленных строк² .

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

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

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

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

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

В основе проверок конфиденциальности Ads Data Hub лежит пороговое значение агрегации пользователей. Для большинства запросов вы можете получать отчетные данные только по 50 или более пользователям. Однако запросы, которые получают доступ только к кликам и конверсиям, могут использоваться для получения отчетов по 10 или более пользователям.

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

Рекомендация: Настройте сводку по отфильтрованным строкам , чтобы отображать данные, которые были пропущены. Это помогает поддерживать согласованный базовый уровень в ваших отчетах.

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

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

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

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

Используйте проверки на различия.

Проверка различий помогает гарантировать, что пользователей нельзя идентифицировать путем сравнения нескольких достаточно агрегированных результатов следующими способами:

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

Нарушения проверки различий могут быть вызваны изменениями в исходных данных между двумя заданиями. При сравнении результатов задания с предыдущими результатами Ads Data Hub ищет уязвимости на уровне отдельных пользователей. Из-за этого даже результаты разных кампаний или результаты, показывающие одинаковое количество пользователей, могут быть отфильтрованы, если у них большое количество совпадающих пользователей.

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

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

Если результаты на уровне отдельных заданий существенно различаются, но отдельная строка похожа на строку из предыдущего задания, Ads Data Hub отфильтрует похожую строку. В этом примере будет отфильтрована строка, содержащая кампанию 123 в результатах второго задания, поскольку она отличается от предыдущего результата всего одним пользователем.

Работа 1
Идентификатор кампании Пользователи
123 400
124 569
Работа 2
Идентификатор кампании Пользователи
123 401
224 1325

Если сумма значений пользователей во всех строках результирующего набора аналогична сумме из предыдущего задания, Ads Data Hub отфильтрует весь результирующий набор. В этом примере будут отфильтрованы все результаты из второго задания.

Работа 1
Идентификатор кампании Пользователи
123 400
124 1367
Работа 2
Идентификатор кампании Пользователи
123 402
124 1367

Используйте введение шума

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

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

Фактические данные
Идентификатор кампании Количество показов
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. Помимо данных, которыми они согласились поделиться, например , в случае с участниками дискуссии.

  2. За исключением случаев, когда этому препятствуют ограничения конфиденциальности, например, когда пользователи в сводке отфильтрованных строк не соответствуют требованиям агрегирования.