Рекламные технологии5 мин чтения
Meta Pixel и согласие на cookie: настройка, которая уважает выбор посетителя
Как использовать Meta Pixel и Conversions API с согласием на cookie: блокировка до согласия, вызовы fbq consent, файлы cookie _fbp и _fbc, Limited Data Use и GPC.
Meta Pixel устанавливает собственные файлы cookie и отправляет в Meta события просмотра, поэтому посетители из ЕС и Великобритании должны дать согласие до того, как он запустится. Самая безопасная настройка блокирует скрипт пикселя, пока посетитель не примет маркетинговые файлы cookie, использует API согласия Meta как вторую линию защиты и привязывает Conversions API к тому же выбору. В США добавьте Limited Data Use и соблюдайте Global Privacy Control.
Что Meta Pixel делает с данными посетителей?
Пиксель — это библиотека JavaScript fbevents.js, которая загружается с серверов Meta. После инициализации он отправляет в Meta такие события, как PageView, AddToCart и Purchase, вместе с URL страницы, данными браузера и идентификаторами, которые помогают Meta сопоставить посетителя с учетной записью.
Пиксель использует два собственных файла cookie на вашем домене:
_fbpидентифицирует браузер между посещениями, чтобы Meta могла связывать события одного и того же посетителя._fbcхранит идентификатор клика, когда посетитель переходит с рекламы Meta с параметромfbclidв URL, чтобы конверсии можно было атрибутировать этой рекламе.
Если включено автоматическое расширенное сопоставление, пиксель также хеширует информацию, которую посетители вводят в формы, например адреса электронной почты, и отправляет ее в Meta для сопоставления. Все это — рекламное отслеживание, и по правилам ЕС и Великобритании для него нужно согласие. О том, почему сайт разделяет ответственность, говорит решение Суда ЕС по делу Fashion ID, в котором сайт, встраивающий плагин Facebook, был признан совместным контролером.
Как заблокировать пиксель до получения согласия?
Не позволяйте браузеру загружать fbevents.js, пока посетитель не принял маркетинговые файлы cookie. Пометьте фрагмент кода пикселя как неактивный и активируйте его только после получения согласия:
<!-- Неактивен, пока не разрешена категория marketing -->
<script type="text/plain" data-consent="marketing">
!function(f,b,e,v,n,t,s){/* стандартный базовый код Meta */}(window, document,
'script', 'https://connect.facebook.net/en_US/fbevents.js');
fbq('consent', 'grant');
fbq('init', 'YOUR_PIXEL_ID');
fbq('track', 'PageView');
</script>
Когда согласие получено, ваш уровень управления согласием заменяет type="text/plain" настоящим скриптом, как описано в статье как блокировать сторонние скрипты до получения согласия. Если вы используете Google Tag Manager, задайте в настройках согласия тега Meta требование дополнительного согласия для ad_storage или запускайте тег только по событию согласия; тег Meta сам по себе не считывает Google Consent Mode.
Как работает API согласия Meta?
Meta предоставляет два вызова для сайтов, которые загружают пиксель до того, как сделан выбор. Вызовите fbq('consent', 'revoke') перед fbq('init') на каждой странице, и пиксель не будет отправлять события в Meta. Когда посетитель даст согласие, вызовите fbq('consent', 'grant'), и события начнут поступать.
fbq('consent', 'revoke'); // на каждой странице, перед init
fbq('init', 'YOUR_PIXEL_ID');
fbq('track', 'PageView');
// Позже, из обработчика принятия в баннере:
onConsent('marketing', () => fbq('consent', 'grant'));
Это полезно как страховка, но слабее блокировки. Даже с revoke браузер все равно загружает fbevents.js с серверов Meta, а значит, передает в Meta IP-адрес и данные браузера посетителя до какого-либо выбора. Для трафика из ЕС и Великобритании блокируйте скрипт, а вызовы согласия оставьте как вторую линию защиты — например, на случай, если посетитель позже отзовет согласие на странице, где пиксель уже загружен.
Как быть с Conversions API?
Conversions API (CAPI) отправляет события в Meta с вашего сервера, а не из браузера. Его часто преподносят как решение проблемы блокировщиков рекламы и ограничений браузеров, а иногда — ошибочно — как способ обойти согласие.
Серверные события все равно содержат персональные данные: значения _fbp и _fbc, IP-адреса, user agent и часто хешированные адреса электронной почты или номера телефонов. Для их передачи в Meta в рекламных целях нужно правовое основание, и для посетителей из ЕС и Великобритании это, как правило, то же согласие, что требуется для пикселя в браузере. Кроме того, значения _fbp и _fbc берутся из файлов cookie, на которые посетитель изначально должен был дать согласие.
Привязывайте оба канала к одному и тому же выбору:
| Сценарий | Пиксель в браузере | Conversions API |
|---|---|---|
| Посетитель из ЕС или Великобритании принял маркетинговые cookie | Загружать и отслеживать | Отправлять с тем же event_id для дедупликации |
| Посетитель из ЕС или Великобритании отказался или еще не сделал выбор | Не загружать | Не отправлять |
| Посетитель из США, отказа нет | Загружать и отслеживать | Отправлять |
| Посетитель из США отказался или отправил GPC | Не загружать или загружать с Limited Data Use | Не отправлять или отправлять с Limited Data Use |
Передавайте состояние согласия на сервер с каждым запросом или считывайте его из записи о согласии и проверяйте перед вызовом API. Общий подход описан в статье серверное тегирование и согласие.
Как учитывать законы США о конфиденциальности?
Законы штатов США, например калифорнийский, в основном строятся на модели отказа (opt-out): вы можете запускать пиксель по умолчанию, но должны прекратить «продажу» или «передачу» данных, когда посетитель отказывается. Режим Limited Data Use (LDU) от Meta сообщает Meta, что нужно ограничить обработку событий от таких посетителей.
// Пусть Meta применяет Limited Data Use в зависимости от местоположения посетителя
fbq('dataProcessingOptions', ['LDU'], 0, 0);
fbq('init', 'YOUR_PIXEL_ID');
Вызывайте его до init. Conversions API принимает те же параметры обработки данных для каждого события. Если посетитель отправляет сигнал Global Privacy Control или отказывается через ваш баннер, либо перестаньте загружать для него пиксель, либо примените LDU — и сделайте то же самое на сервере.
Как проверить, что все работает?
Откройте сайт в приватном окне с местоположением в ЕС или через VPN и, прежде чем на что-либо нажимать:
- На панели сети в браузере отфильтруйте запросы по
facebook. Запросов кconnect.facebook.netилиfacebook.com/trбыть не должно. - На панели хранилища убедитесь, что файлов cookie
_fbpи_fbcнет. - Примите маркетинговые файлы cookie и убедитесь, что пиксель загружается, файлы cookie появляются, а события отображаются в Events Manager Meta.
- Отзовите согласие и убедитесь, что после следующей загрузки страницы пиксель перестает работать.
Повторите проверку с отказом, чтобы убедиться, что ничего не загружается, и с URL ?fbclid=test, чтобы убедиться, что _fbc устанавливается только после получения согласия. Эти проверки стоит регулярно включать в аудит файлов cookie, потому что фрагменты кода пикселя имеют свойство снова появляться в шаблонах и плагинах.
Итоги
Относитесь к Meta Pixel как к рекламному отслеживанию — ведь это оно и есть. Блокируйте скрипт до получения согласия, используйте fbq('consent') как страховку, привязывайте Conversions API к тому же выбору и применяйте Limited Data Use и GPC для отказов в США. Такие инструменты, как Cookiesh, блокируют известные трекеры, например Meta Pixel, до получения согласия посетителей, а регулярные сканирования выявляют новые скрипты, так что случайный фрагмент кода не проскочит.
Эта статья носит общий информационный характер и не является юридической консультацией. Для решений, касающихся вашей конкретной ситуации, обратитесь к квалифицированному специалисту по защите данных.
Частые вопросы
Можно ли загрузить Meta Pixel с отозванным согласием и предоставить согласие позже?
Meta поддерживает такой подход, и до предоставления согласия события не отправляются. Однако загрузка библиотеки все равно соединяет браузер посетителя с Meta, поэтому для посетителей из ЕС и Великобритании безопаснее полностью блокировать скрипт до получения согласия, а API согласия использовать как вторую линию защиты.
Позволяет ли Conversions API обойтись без согласия на cookie?
Нет. Серверные события обычно содержат идентификаторы, взятые из файлов cookie, например _fbp и _fbc, или хешированные контактные данные, а это персональные данные. Для их передачи в Meta нужно правовое основание по GDPR, и для рекламы это, как правило, согласие.
Распространяется ли Google Consent Mode на Meta Pixel?
Нет. Consent Mode корректирует поведение только тегов Google. Meta Pixel его игнорирует, поэтому управлять пикселем нужно через инструмент управления согласием, настройки согласия в менеджере тегов или собственный код.
Отвечаю ли я за то, что Meta делает с данными пикселя?
Частично. В деле Fashion ID Суд ЕС постановил, что сайт, встраивающий плагин Facebook, является совместным с Facebook контролером в части сбора и передачи данных посетителей. Эта логика широко применяется и к пикселю, поэтому вы отвечаете за получение согласия и информирование посетителей.
Источники
Редакция Cookiesh
Инженеры по защите данных и специалисты по комплаенсу пишут практические руководства о согласии, файлах cookie и защите данных для продуктовых команд.