Конфиденциальность конечных пользователей лежит в основе всего, что делает 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 в результатах второго задания, поскольку она отличается от предыдущего результата всего одним пользователем.
|
| ||||||||||||||||
Если сумма значений пользователей во всех строках результирующего набора аналогична сумме из предыдущего задания, Ads Data Hub отфильтрует весь результирующий набор. В этом примере будут отфильтрованы все результаты из второго задания.
|
| ||||||||||||||||
Используйте введение шума
Введение шума — это метод, используемый для защиты конфиденциальности пользователей при запросах к базе данных. Он работает путем добавления случайного шума к агрегирующему предложению SELECT запроса. Этот шум защищает конфиденциальность пользователей, обеспечивая при этом достаточно точные результаты, устраняя необходимость в проверках различий и снижая требуемый порог агрегации для вывода. Большинство существующих запросов могут быть выполнены в режиме шума, с некоторыми ограничениями. Чтобы узнать больше о режиме шума и о том, как введение шума влияет на требования к конфиденциальности, см. раздел «Введение шума» .
Сравните проверку различий с введением шума.
|
| ||||||||||||||||||||||||||||||||
|
| ||||||||||||||||||||||||||||||||
Сводка по отфильтрованным строкам
Сводные данные по отфильтрованным строкам суммируют данные, отфильтрованные в соответствии с требованиями конфиденциальности. Данные из отфильтрованных строк суммируются и добавляются в общую строку. Хотя отфильтрованные данные не подлежат дальнейшему анализу, они дают представление о том, какой объем данных был отфильтрован из результатов.
Явная фильтрация конфиденциальности
В тех случаях, когда вам необходимо разбить запрос на части, но при этом объединить агрегированные результаты, вы можете явно применить проверки конфиденциальности к нескольким более мелким запросам, а затем объединить эти результаты безопасным для конфиденциальности способом.
Примеры вариантов использования:
- Вы — рекламодатель, ищущий все конверсии по типу события атрибуции в вашем связанном аккаунте Google Ads, включая данные по ЕЭЗ.
- Вы являетесь партнером по анализу эффективности и хотите отслеживать все конверсии по типу события атрибуции в вашем связанном аккаунте Google Ads.
Чтобы получить сумму конверсий для вашего аккаунта Google Ads, вы можете переписать запрос, используя предложение OPTIONS(privacy_checked_export=TRUE) чтобы применить проверки конфиденциальности к каждому сервису Google в отдельности.
Пример перефразирования в этом разделе выполняет следующие действия:
- Он запрашивает информацию у каждого сервиса Google по отдельности, явно применяя проверки конфиденциальности к каждому промежуточному набору результатов.
- Это создает отдельную временную таблицу для результатов проверки конфиденциальности каждого сервиса Google: YouTube, Gmail и Network.
- Он агрегирует и суммирует проверенные на конфиденциальность данные о количестве конверсий из временных таблиц.
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.
Помимо данных, которыми они согласились поделиться, например , в случае с участниками дискуссии.
За исключением случаев, когда этому препятствуют ограничения конфиденциальности, например, когда пользователи в сводке отфильтрованных строк не соответствуют требованиям агрегирования. ↩