M cenaly.ru
🧩 Виджеты для вашего сайта

🍪 Cookies и согласие (CMP)

Баннер согласия, блокировка трекеров, сканер cookies, политика и журнал согласий

Документация

Cookies и согласие (CMP)

CMP (Consent Management Platform) — это баннер согласия на cookies плюс механика, которая реально блокирует сторонние скрипты до того, как посетитель нажал «Принять». Одной «плашки внизу экрана» для GDPR недостаточно: до согласия аналитика и рекламные пиксели не должны выполняться вовсе.

Наш CMP работает и на нашей витрине, и на вашем собственном сайте — одним и тем же кодом.

Где настраивается:

  • Маркетинг → «Мой сайт» → карточка «Cookies и согласие» (для внешнего сайта);
  • либо Сайт → «Настроить сайт» → секция «Cookies и согласие (CMP)» (для нашей витрины).

Как включить#

  1. Вставьте на сайт код установки из раздела «Мой сайт» — cookie-баннер грузится первым из всех виджетов, чтобы остальные скрипты увидели уже принятое решение.
  2. Включите тумблер виджета.
  3. Запустите сканер — он соберёт список cookies вашего сайта.
  4. Опубликуйте страницу «Политика cookies» или укажите ссылку на свою.

Баннер сам определяет язык страницы и показывается на нём — переводы на 45 языков уже готовы.

Для WordPress есть отдельный плагин Cenaly Consent: ставите его в своей админке WP, нажимаете «Подключить», выбираете локацию в открывшемся окне — тег и настройки прилетают сами, вставлять код руками не нужно.


Сколько это стоит#

Сам баннер и блокировка трекеров бесплатны на любом тарифе — и на нашей витрине, и на вашем собственном сайте. Соответствие закону не продаётся кусками: 45 языков, автоблокировка, Consent Mode v2, центр предпочтений и hosted-страница «Политика cookies» входят в платформу.

Отдельно продаётся уровень «Cookies Pro» — карточка «Cookies и согласие» в Магазине приложений, 9 $ в месяц или 90 $ в год на локацию. Это не доступ к разделу, а масштаб сервиса: более глубокий и частый скан сайта (включая закрытые разделы), ИИ-классификация найденных cookie, длинный журнал согласий с выгрузкой-доказательством, свои правила по странам, полная настройка дизайна и тексты-оверрайды по языкам, снятие бейджа «Работает на Cenaly». Актуальный состав уровня и цена — на самой карточке в магазине.


Категории и что блокируется до согласия#

Четыре стандартные категории:

Категория Что в неё попадает По умолчанию
Необходимые Корзина, сессия, безопасность Всегда включены, отключить нельзя
Предпочтения Язык, валюта, ранее выбранная локация По решению гостя
Статистика Google Analytics, Яндекс.Метрика, Matomo, Clarity По решению гостя
Маркетинг Facebook Pixel, VK, TikTok, рекламные пиксели и ремаркетинг По решению гостя

Пока согласия нет, скрипты и iframe этих категорий не загружаются: их адреса сверяются со встроенным реестром трекеров, а вы можете добавить свои паттерны. Заблокированный iframe (например, видео с YouTube) показывает заглушку со ссылкой «разрешить».

Дополнительно передаются сигналы согласия рекламным системам: Google Consent Mode v2 (до согласия — режим без cookies), Microsoft UET, Meta (fbq), Clarity Consent API. Учитываются сигналы браузера GPC и Do Not Track.

Срок жизни согласия настраивается (по умолчанию 365 дней, допустимо 30–730), после чего баннер спросит заново. Отказ гостя запоминается — повторно спрашивать при каждом визите мы не будем. Можно включить общее согласие для всех поддоменов и указать ссылку на список сайтов, которые оно покрывает.


Режимы по странам#

Один сайт — разные требования. Режим задаётся по странам (по IP), плюс режим по умолчанию:

  • opt-in — всё запрещено до явного согласия (ЕС, UK, Турция, Россия);
  • opt-out — разрешено до явного отказа, в баннере появляется «Do Not Sell or Share» (США);
  • мягкий — баннер информационный, ничего не блокируется;
  • уведомление — первый слой сообщает одной строкой и согласия не спрашивает (там, где оно не требуется);
  • скрытый — баннер не показывается вообще, а настройки доступны по ссылке-триггеру на вашем сайте (модель, привычная по нативным баннерам Shopify).

Внешний вид и тексты#

  • Раскладка: полоса, карточка, модальное окно; позиция — любой из шести вариантов кромки/угла.
  • Экран настроек: разворот в карточке или выезжающая боковая панель.
  • Палитра по элементам отдельно для светлой и тёмной темы, свой логотип, свой CSS (до 10 КБ).
  • Тумблеры кнопок: крестик, «Отклонить всё», «Настроить». Кнопку «Принять» скрыть нельзя, а в opt-in-режиме админка предупредит о рисках, если убрать «Отклонить».
  • Категории можно вынести галками прямо на первый слой баннера.
  • Любой текст баннера правится по языкам поверх наших переводов.
  • Превью в кабинете переключается между desktop, планшетом и мобильным.
  • Отдельно настраивается плавающая кнопка «Настройки cookies» (слева/справа/выключена) и список страниц, на которых баннер не показывается.

Сканер cookies и декларация#

Сканер открывает ваш сайт в браузере и собирает реальные cookies и сторонние сервисы. Каждая страница проходится дважды — без согласия (так видно нарушения prior consent) и с полным согласием (так собирается полная декларация):

  • обход по robots.txt, sitemap.xml и ссылкам со стартовых страниц, ограничение по числу страниц;
  • расписание: ежемесячно или еженедельно, в кабинете видна дата следующего скана;
  • история сканов — сколько страниц пройдено, сколько cookies найдено и сколько из них новых по сравнению с прошлым разом;
  • скан за логином — для страниц личного кабинета;
  • ИИ-классификатор: незнакомые cookies получают предложенную категорию с объяснением, вы подтверждаете или меняете.

Декларация cookies — таблица всех cookies по категориям: имя, поставщик, срок хранения, назначение. Можно добавлять свои записи, править описания и переводы. Из этой же таблицы собирается список для баннера и для страницы политики.


Страница «Политика cookies»#

Ссылка в баннере ведёт либо на вашу существующую страницу, либо на документ, который мы сгенерируем и разместим сами: он собирается из результатов скана, публикуется на 45 языках и обновляется вместе с декларацией — таблица cookies на нём всегда живая.

Если нужны и остальные юридические страницы (политика конфиденциальности, условия, возвраты, доставка) — см. Юридические документы.


Журнал согласий и отчёты#

Журнал — это доказательство согласия (proof of consent) на случай проверки:

  • дата, анонимный идентификатор, выбранные категории, версия политики, страна и язык;
  • выгрузка CSV и отдельной записи;
  • тренды: принято / отклонено / частично по дням и по странам;
  • счётчик показов баннера.

Кнопка «Переспросить всех сейчас» поднимает версию политики — после существенных изменений баннер спросит всех заново.


Ограничения#

  • Строгий «prior consent» требует отдельного тега. Через единый загрузчик cookie-баннер поднимается первым из наших виджетов, но чужую аналитику, прибитую в <head> выше нашего кода, он не опередит. Если нужно, чтобы ни один сторонний скрипт не стартовал до ответа гостя, ставьте тег баннера первой строкой в <head>, до всех остальных.
  • Сломанный или недоступный конфиг снимает блокировку, а не включает её. Виджет выключен, страница в исключениях, конфиг не прочитался — трекеры на сайте работают как обычно. Держать чужой сайт заблокированным из-за нашего сбоя нельзя, поэтому проверяйте, что баннер действительно показывается.
  • Блокируется то, что известно. Скрипты и iframe сверяются со встроенным реестром трекеров; нестандартный или самописный счётчик нужно добавить своим паттерном — иначе он загрузится до согласия.
  • Возрастной гейт 18+ — отдельная секция и отдельные тексты. Он выключен по умолчанию, а его надписи есть на английском, русском, грузинском и турецком с падением на английский, тогда как сам баннер говорит на 45 языках: формулировку для своего рынка задавайте своими текстами.
  • Баннер не заменяет политику. Ссылка на страницу «Политика cookies» (нашу опубликованную или вашу собственную) должна быть заполнена — без неё гостю некуда посмотреть, на что он соглашается.

Устранение неполадок#

Баннера на сайте нет. Тег не вставлен или стоит не на всех страницах шаблона (нажмите «Проверить установку»); в теге чужой data-domain; тумблер виджета выключен; изменения ещё не доехали — файлы виджетов раздаются через CDN с кэшем 5 минут. Тег, который вставляет уже в браузере Google Tag Manager, проверка установки не увидит — это не ошибка, смотрите сайт глазами.

Баннер есть, но трекеры грузятся до согласия. Скорее всего, чужой скрипт стоит в <head> выше нашего тега — переставьте наш тег первым. Второй частый случай — счётчика нет во встроенном реестре: добавьте его адрес своим паттерном.

Баннер показывается снова и снова. Проверьте срок жизни согласия и не была ли переиздана политика: переиздание поднимает версию, и баннер спрашивает заново — так и задумано.

Инструменты диагностики:

  • Проверить установку — читаем исходный HTML вашей страницы и говорим, найден ли код и стоит ли он внутри <head>.
  • Отправить код разработчику — открывает готовое письмо со сниппетом в вашей почтовой программе.
  • Гайд по Google Tag Manager — как поставить баннер тегом GTM.
  • Режим отладки: откройте сайт с ?cenaly_consent_debug=1 — в консоль пойдут события Consent Mode (default/update) и определённый режим региона, видно, что именно получают Google и другие системы.

Связанные разделы#


Частые вопросы#

Баннер обязателен? Если у вас есть посетители из ЕС/UK и вы используете аналитику или рекламные пиксели — да. В США логика другая (opt-out и «Do Not Sell»), в остальных странах баннер чаще информационный. Режим настраивается по странам.

Заблокирует ли CMP мою собственную аналитику? До согласия — да, это его работа. Платформенная аналитика при этом продолжает считать визиты в cookieless-режиме Consent Mode v2.

Что будет со старыми согласиями после правки политики? Ничего, пока вы не нажмёте «Переспросить всех сейчас» или не переиздадите политику — тогда версия поднимется и баннер спросит заново.

Работает ли это, если сайт не на нашей платформе? Да — это основной сценарий. Один тег на любом сайте, а для WordPress — плагин Cenaly Consent, который ставит тег за вас.