Общий регламент по защите данных (GDPR) сделал необходимым защиту конфиденциальности пользователей. Согласно GDPR, перед передачей пользовательских данных любому инструменту, принадлежащему США, необходимо удалить любую персонально идентифицируемую информацию. Этот шаг стал необходимым в связи с признанием Privacy Shield недействительным.
В этой статье я расскажу, как автоматически удалять данные пользователей с помощью stape Anonimyzer power-up и вручную редактировать данные пользователей с помощью веб- и серверного GTM. Это продолжение статьи, опубликованной в нашем блоге, в которой рассказывается о том, почему для использования Google Analytics в соответствии с GDPR необходимо использовать прокси-сервер.
В странах ЕС (Италия, Франция, Австрия и Дания) произошло несколько инцидентов, когда люди обращались в местные органы по защите данных, чтобы проверить, подпадает ли использование Google Analytics на сайте под действие GDPR. Во всех случаях ответ был таков - использование Google Analytics не соответствует GDPR.
Основная причина заключается в том, что американские компании (включая Google) не обеспечивают достаточных мер безопасности для защиты персональных данных пользователей из ЕС. Именно поэтому передача PII американским компаниям противоречит GDPR. Более подробную информацию об этом вы можете найти в нашей предыдущей статье в блоге.
Хорошая новость: есть решение, как использовать Google Analytics и при этом соответствовать требованиям GDPR. CNIL (французский орган по защите данных) заявил, что для использования GA в соответствии с GDPR необходимо реализовать две основные вещи: прокси-сервер ЕС и псевдонимизацию пользовательских данных перед экспортом.
Прокси-сервер обеспечивает отсутствие прямого контакта между веб-сайтом и американским инструментом аналитики. Самый простой способ реализовать такой прокси-сервер - использовать серверный контейнер Google Tag Manager. Прокси-серверы должны соответствовать целому ряду критериев. Основные: компания, предоставляющая вам прокси-сервер, должна быть зарегистрирована в ЕС; серверы, используемые для размещения вашего контейнера sGTM, должны быть физически расположены в ЕС. По этим двум причинам вы не можете использовать Google Cloud (GCP) для sGTM. По сути, это та же причина, что и с Google Analytics - им владеет Google, американская компания.
Еще одна хорошая новость - компания stape позаботилась о вас. У нас есть специальный продукт - Stape Europe, который отвечает всем требованиям прокси-сервера ЕС. Stape Europe зарегистрирован в ЕС (Эстония) и использует облачный сервер ЕС, предоставленный компанией Scaleway, для запуска вашего контейнера sGTM.
В этой статье я хочу больше сосредоточиться на второй части закона - псевдонимизации пользовательских данных. В Stape мы внедряем список функций, которые помогут вам удалять пользовательские данные автоматически. Именно поэтому я разделю статью на две части:
Список пользовательских данных, которые должны быть псевдонимизированы, довольно расплывчат.
На данный момент мы разрабатываем функцию power-up от Stape Anonymizer только для GA4. Однако он будет адаптирован и доступен с функцией анонимизации UA в будущих обновлениях.
Важно понимать, что список параметров, которые отправляет GA4, может меняться. Мы будем обновлять эту статью, но убедитесь, что вы протестировали анонимизацию пользовательских данных, прежде чем публиковать ее в продакшене.
Лучший инструмент, который я нашел, помогающий отслеживать и определять параметры GA4, - этот.
Процесс псевдонимизации пользовательских данных происходит внутри тегов GA4 в веб- и серверном GTM-контейнере. Если вы еще не настроили сервер GA4, выполните следующие шаги.
У нас нет строгих указаний относительно того, какие данные должны быть удалены. Это зависит от вас, как вы хотите обеспечить безопасность вашей компании. Например, вы можете удалить IP-адрес пользователя или отредактировать последние несколько цифр. Еще один большой вопрос касается таких параметров, как страна, язык, браузер и т.д. Каждый параметр в отдельности не дает достаточно информации об идентификации пользователя, но набор параметров может ее дать.
Не возникает вопросов о том, следует ли удалять такие параметры, как id клиента или URL-запросы. Использование каждого параметра по отдельности может привести к идентификации пользователя благодаря уникальному ID в Google.
Допустим, вам может понадобиться проанализировать трафик с мобильных и настольных компьютеров или конверсии в разных браузерах. Должны ли вы удалить все данные, которые могут быть использованы для отпечатков пальцев и идентификации пользователя, или удалить только некоторые? Можете ли вы оставить браузер и устройство, если удалите все остальные параметры?
Обязательно обсудите эти вопросы со своими юристами или DPO, чтобы иметь хорошую защиту, если регулятор придет к вам. Я считаю, что удаление всех идентификаторов пользователей, которые могут быть использованы для снятия отпечатков пальцев и повторной идентификации, лучше для обеспечения безопасности вашей компании.
Эта статья не претендует на роль инструкции. Это просто обмен опытом по удалению или псевдоанонимизации данных и как stape делает это автоматически. Вы можете не использовать нашу функцию анонимизации или анонимизировать каждый параметр вручную.
Недавно мы выпустили power-up Anonymizer. Она доступна для всех пользователей Stape. Основная цель анонимайзера - удалить или анонимизировать данные пользователей в Google Analytics 4 и Universal Analytics.
Чтобы включить анонимайзер, откройте контейнер sGTM в stape, нажмите кнопку включения и откройте анонимайзер.
Этот продукт включает данные GeoLite2, созданные MaxMind, доступные на https://www.maxmind.com
Вам нужно будет выбрать, какие параметры вы хотите оставить как есть, удалить или анонимизировать. После настройки параметров необходимо обновить URL сервера тегов для Google Analytics 4 и Universal Analytics. Если вы ранее использовали URL сервера тегов https://sgtm.example.com при включенном анонимайзере, обновленный URL сервера тегов будет выглядеть как https://sgtm.example.com/anonymize. Мы проксируем ваши запросы к sGTM через путь /anonymize и удаляем указанные данные.
Когда запросы GA проходят через URL сервера тегов, включающий /anonymize, мы автоматически удаляем или анонимизируем выбранные параметры.
После включения и настройки Anonymizer убедитесь, что вы изменили транспортный URL GA4/UA в теге Web GTM config на тот, который заканчивается /anonymize.
Ниже приведен список всех параметров, которые Anonymizer может удалить или анонимизировать. При создании Anonymizer нашей целью было дать нашим клиентам возможность удалить все параметры, которые так или иначе могут рассматриваться как личные данные пользователя. Вы можете выбрать, какие параметры вы хотите удалить. Поговорите с вашим DPO или юристами, чтобы уточнить, какие параметры необходимо удалить.
Для большинства параметров у вас будет два варианта: оставить как есть или удалить. Для двух параметров (IP и ID клиента) вы увидите опции анонимизации и строгой анонимизации.
IP
Anonymize - удаляет последний октет.
Anonymize Strictly - удаляет последние два октета.
Client ID. Работает только при использовании JavaScript Managed client identification.
Anonymize - используйте хэш IP+UserAgent и добавьте год+месяц.
Anonymize Strictly - используйте хэш IP+UserAgent и добавьте метку времени, crc32_hash(IP+UA).timestamp
Имя параметра | Описание | GA4 Параметр | Anonymize |
IP | User IP | IP Address | Anonymize - удаляет последний октет. Anonymize Strictly - удаляет последние два октета. |
Client ID | Google Analytics Client ID, _ga, _ga_*, FPLC, FPID cookies | cid, _ga, _ga_*, FPLC, FPID | Anonymize - используйте хэш IP+UserAgent и добавьте год+месяц. Anonymize Strictly - используйте хэш IP+UserAgent и добавьте метку времени, crc32_hash(IP+UA).timestamp |
User ID | User ID, Google Developer ID, Firebase ID | uid, gdid, _fid | - |
Session ID | Session ID, New Session ID | sid, _nsi | - |
Query parameters | Remove query paramaters from Document Location | dl | - |
Referer | Document Referrer Header, Document Referrer Parameter | referer header, dr | - |
User Agent | Document User-Agent header, Sec-Ch-Ua header, Sec-Sh-Ua-Platform header, Sec-Ch-Ua-Mobile header, User-Agent Parameter | user-agent header, sec-ch-ua header, sec-ch-ua-platform header, sec-ch-ua-mobile header, ua | - |
User Country | Geographical ID, Current country for the user | geoid, _uc | - |
Browser plugins | Java Enabled, Flash Version | je, fl | - |
Screen Info | Browser screen resolution, Viewport size | sr, vp | - |
Screen Colors | Specifies the screen color depth | sd | - |
User Language | Browser active locale | ul | - |
User Agent Architecture | uaa | - | |
User Agent Bitness | uab | - | |
User Agent Full Version List | uafvl | - | |
User Agent Mobile | uamb | - | |
User Agent Model | uam | - | |
User Agent Platform | uap | - | |
User Agent Platform Version | uapv | - | |
User Agent WOW64 | uaw | - |
Campaign Medium | cm | - | |
Campaign Source | cs | - | |
Campaign Name | cn | - | |
Campaign Content | cc | - | |
Campaign ID | ci | - | |
Campaign Term | ck | - | |
Campaign Creative Format | ccf | - | |
Campaign Marketing Tactic | cmt | - | |
Google Ads ID | gclid | - | |
Google Display Ads ID | dclid | - |
Параметры, которые собирает Google Analytics 4, время от времени меняются. Поэтому необходимо проверять запросы GA4, чтобы убедиться, что все пользовательские данные удалены.
После того как вы настроили параметры в Anonimiser и изменили транспортный URL GA4 на тот, который содержит /anonymize в конце, мы удалим или анонимизируем указанные параметры.
После включения анонимайзера и обновления транспортного URL GA4, пожалуйста, используйте отладчики web/sGTM, консоль и отладчик GA4, чтобы проверить, все ли необходимые параметры были удалены.
Этот вариант относительно прост в реализации, но вызывает некоторые споры. Google имеет встроенную функцию удаления последнего байта IP-адреса. Убирая предыдущий байт, шанс того, что Google сможет идентифицировать пользователя, составляет 1 к 256. В сочетании с другими параметрами IP может быстро идентифицировать конкретного человека.
Некоторые считают, что достаточно отрезать последний октет. Другие считают, что нужно полностью удалить пользовательский IP. Я считаю, что лучше полностью отменить пользовательский IP. Никогда не знаешь, использует ли Google IP повторно.
Чтобы удалить IP пользователя, я использовал тег GA4 сервера и установил ip_overrride на случайный IP.
Google присваивает уникальный идентификатор клиента паре устройство-браузер и использует его для идентификации, когда тот же пользователь повторно посещает ваш сайт. Этот параметр должен быть удален или псейдоанонимизирован перед отправкой в GA4.
Существует множество подходов к анонимизации идентификаторов клиентов, все зависит от вашей фантазии и набора инструментов, которые вы используете. Но убедитесь, что идентификатор клиента уникален и что вы добавили компонент, изменяющийся во времени.
Вы можете использовать хэш агента пользователя, IP, переменную случайных чисел GTM и т.д. В отличие от User IP, мы не нашли способа отредактировать идентификатор клиента на стороне сервера, поэтому мы сделали это на клиенте.
После анонимизации Google Analytics Client ID вы, возможно, захотите переопределить куки GA4 с новыми значениями, чтобы гарантировать, что GA4 не устанавливает никаких идентификаторов пользователя. Для этого я использовал шаблон тега Cookie Monster для серверного GTM-контейнера. Все, что вам нужно сделать, это добавить имена и значения cookie. после того как это будет сделано, не забудьте воспользоваться консолью и проверить, какие cookie устанавливает GA.
После того как вы отредактируете идентификатор клиента, это существенно повлияет на отчетность GA4. Поскольку идентификатор клиента будет уникальным, GA не сможет определить новых посетителей по сравнению с возвращающимися. А также многоканальную атрибуцию и такие события, как начало сеанса, первый визит и т.д.
Внешний реферер предназначен для определения того, как пользователь попал на ваш сайт. Был ли это органический, платный или социальный трафик.
Чтобы удалить, необходимо переписать page_referrer.
Основная цель параметров в URL - определить происхождение рекламных кампаний. Параметрами URL могут быть utm_souce, utm_medium, различные типы идентификаторов кликов и т. д. Кроме того, некоторые платформы автоматически вставляют в URL данные пользователя.
Чтобы удалить параметры URL, необходимо переписать URL страницы. В этом вам помогут несколько переменных в галерее веб-шаблонов GTM. Я использовал Trim Query. Вам просто нужно указать блок-лист или allow-лист параметров запроса, который сделает все волшебство за вас.
Такой информацией может быть агент пользователя, устройство, браузер, разрешение экрана, язык, операционная система и т. д. Убедитесь, что вы отредактировали всю информацию, которая может быть использована для снятия отпечатков пальцев.
Убедитесь, что вы не используете межсайтовые идентификаторы, такие как идентификатор пользователя или CRM.
Эта часть немного сложна для понимания, но я предлагаю проверить запрос, который ваш контейнер sGTM отправляет в GA, и убедиться, что в нем нет параметров, которые могут быть использованы для повторной идентификации пользователя.
Есть несколько способов проверить, все ли необходимые данные были удалены или псевдонимизированы. Сначала нужно перейти к отладчику GTM сервера и просмотреть исходящие запросы GA4. Убедитесь, что вы тестируете различные сценарии, когда есть параметры пользователя и нет параметров пользователя, параметры URL, различные события, рефереры и т.д.
Второй способ - использовать отладчик Google Analytics 4 и посмотреть, какие данные обрабатывает GA4.
Не только Google собирает данные пользователей из ЕС и передает их в США, что нарушает GDPR. Многие компании собирали персональные данные европейцев в течение многих лет, и теперь, похоже, их практика будет ограничена повсеместно в ответ на деактивацию Privacy Shield и постановление о том, что передача данных пользователей ЕС в США является незаконной в соответствии с GDPR.
Если вы являетесь владельцем веб-сайта в Европейском Союзе, пора начать менять данные, которыми вы делитесь с американскими компаниями, иначе вы можете оказаться под угрозой штрафа со стороны регулирующих органов.
1. Как я могу использовать прокси-сервер для GA при реализации через gtag.js?
Если вы используете gtag.js на своем сайте для отправки событий на серверный контейнер, вы можете добавить параметр transport_url к существующему тегу:
gtag('config', 'TARGET-ID', {
'transport_url': 'https://analytics.example.com',
'first_party_collection': true,
});
Вы можете использовать URL анонимайзера для анонимизации пользовательских данных в GA при реализации через gtag.js. Допустим, вы используете анонимайзер stape, и ваш URL анонимайзера - https://sgtm.site.com/anonymize. Вам просто нужно добавить https://sgtm.site.com/anonymize в качестве транспортного URL в конфигурацию gtag.