Проверка cookie
Наш сервер открывает вашу страницу как совершенно незнакомый человек: без cookie, без нажатой кнопки в каком-либо баннере. Затем он перечисляет cookie, которые всё равно появились, и внешние сервисы, которые уже загружаются.
Правило, стоящее за каждым баннером cookie
Cookie это небольшое значение с названием, которое сайт просит браузер хранить и отправлять обратно при следующих посещениях. Так магазин помнит вашу корзину. Так же рекламная сеть узнаёт одного и того же человека на тысячах сайтов.
В Европейском союзе и Великобритании правила ePrivacy (британская версия называется PECR) требуют сначала получить согласие, прежде чем что-либо хранить или читать на устройстве посетителя, если только это не строго необходимо для услуги, которую человек запросил. GDPR затем уточняет, что такое согласие: ясное действие, совершённое добровольно, для заявленной цели, и отозвать его так же легко, как дать. Заранее отмеченная галочка не считается, как и продолжение прокрутки.
В других местах подход другой. Ряд штатов США, первой Калифорния, разрешают аналитику и рекламу по умолчанию, но дают людям право отказаться, в том числе через сигнал Global Privacy Control, который отправляет браузер. В обеих моделях важен момент первого захода, и именно его смотрит эта проверка.
Что читает проверка
- Cookie, отправленные сервером. Каждый заголовок
Set-Cookieпо всей цепочке перенаправлений, с его сроком жизни. Имена делятся на три группы: известные трекеры (_ga,_gid,_fbp,_hjSessionUser,_clck,hubspotutk…), cookie, без которых сайт не работает (PHPSESSID,csrftoken,__cf_bm, корзины, язык, память самого баннера), и неизвестные. Для неизвестного имени проверка ищет вашу политику конфиденциальности и смотрит, описан ли там этот cookie. - Внешние сервисы в HTML. Адреса скриптов, встроенные фрагменты вроде
gtag('config', 'G-…')илиfbq('init'), iframe, таблицы стилей, подсказкиpreconnectи изображения сравниваются со списком примерно из сорока сервисов. - Признаки блокировки. Скрипт с
type="text/plain"или iframe, который хранит адрес вdata-src, ничего не делает, пока инструмент согласия его не перепишет. Такие отмечаются как «Ждёт согласия». - Инструмент согласия. По названию распознаются более двадцати, среди них Cookiebot, OneTrust, CookieYes, Complianz, Didomi, Usercentrics, iubenda и Klaro, а также самодельные баннеры с кнопками «принять» и «отклонить».
Как оценивается каждая строка
| Что загружается при заходе | Отметка | Причина |
|---|---|---|
| Аналитика (Google Analytics, Tag Manager, Hotjar, Clarity, HubSpot) | Красная | Создана, чтобы опознавать посетителя и следить за ним. |
| Реклама (Meta Pixel, Google Ads, LinkedIn, TikTok, рекламные сети) | Красная | То же самое, только общее для многих сайтов. |
Отслеживающий cookie в заголовке Set-Cookie | Красная | Сохраняется ещё до того, как страница отрисована. |
| Встроенное видео, карта или виджет соцсети; веб-шрифты; онлайн-чат | Жёлтая | Поставщик получает IP-адрес посетителя и может ставить cookie. |
CAPTCHA, публичный CDN скриптов, youtube-nocookie.com | Заметка | Указано для полноты картины. |
Одна красная строка делает красным весь результат. Два случая смягчаются до жёлтого, потому что скрипт загружается, но может сдерживаться: теги Google, когда страница объявляет Consent Mode с analytics_storage или ad_storage в значении denied, и любой трекер, когда Cookiebot работает в режиме автоматической блокировки.
Как заставить трекеры ждать «да»
Все инструменты согласия используют один приём. Тег остаётся на странице в виде, который браузер игнорирует, и инструмент включает его после нажатия.
<script type="text/plain" data-category="analytics"
src="https://www.googletagmanager.com/gtag/js?id=G-XXXXXXX"></script>Название атрибута у каждого инструмента своё (data-cookieconsent, data-category, data-service). Если ваши теги живут в Google Tag Manager, настройте каждый на срабатывание по событию согласия вашего баннера вместо «All Pages». Для жёлтых строк раздавайте файлы шрифтов со своего домена, замените видеоплееры на превью с загрузкой по клику и запускайте виджет чата, когда кто-то нажимает кнопку чата.
Проверка не выполняет JavaScript. Она видит тег скрипта трекера, но не cookie, которые этот скрипт записал бы, и не то, что менеджер тегов вставит позже. Многие сайты к тому же показывают разный баннер в зависимости от страны, а наш сервер видит только одну версию. Для полной картины откройте страницу в приватном окне с инструментами разработчика на вкладках Network и Application. Это техническое прочтение, а не юридическая консультация.
Частые вопросы
Нужен ли на моём сайте баннер cookie?
Только если сайт хранит или читает что-то не строго необходимое и у него есть посетители там, где требуется согласие, например в ЕС или Великобритании. Сайту с сессионным cookie и без аналитики, рекламы и встраиваний баннер не нужен.
Для каких cookie не нужно согласие?
Для тех, без которых запрошенная услуга не работает: сессии входа, корзины, токены безопасности, балансировка нагрузки, выбор языка и cookie, который запоминает ответ на баннер. Cookie аналитики и рекламы в эту группу не входят.
Можно ли использовать Google Analytics без согласия?
В ЕС и Великобритании в стандартной настройке нельзя, потому что он записывает cookie _ga. С Consent Mode в режиме denied он вместо этого отправляет сигналы без cookie, и регуляторы расходятся во мнениях на их счёт. Некоторые ведомства освобождают от согласия узко настроенные инструменты измерения аудитории, так что проверьте правила страны, для которой вы работаете.
Требуют ли Google Fonts согласия?
Google Fonts не ставят cookie, но при каждом посещении IP-адрес посетителя уходит в Google. В январе 2022 года суд Мюнхена вынес за это решение против владельца сайта. Разместите файлы шрифтов на своём сервере, и вопрос отпадёт.
Почему проверка не находит cookie, когда мой браузер показывает их много?
Большинство cookie записываются скриптами после загрузки страницы, а проверка скрипты не выполняет. Она сообщает о скрипте, который бы их записал, в разделе «Сторонние сервисы при загрузке», и только о cookie, которые ставит непосредственно сервер.
Обязательна ли кнопка «Отклонить все»?
По GDPR отказаться должно быть так же легко, как согласиться. Органы защиты данных Франции, Великобритании и ряда других стран понимают это как вариант отказа на первом экране баннера, такой же заметный, как кнопка согласия.