Главная → 1С-Битрикс

Баннер согласия на cookie для сайта на 1С-Битрикс

Как подключить баннер согласия на cookie на 1С-Битрикс строкой в шаблоне: куда вставить, почему важен порядок относительно ShowHead, какие cookie ставит сам Битрикс и что делать при истёкшей лицензии.

Подключение к 1С-Битрикс

После установки счётчики на сайте 1С-Битрикс не запустятся, пока посетитель не нажмёт «Принять», а каждое его решение попадёт в журнал.

Одна строка в header.php выше ShowHead, затем сброс кэша. Если шаблонов на сайте несколько — строку нужно добавить в каждый используемый.

header.php шаблона сайта

<head>
<!-- LoveCookie -->
<script src="https://app.lovecookie.ru/embed-script/SITE_ID.js"></script>
<?$APPLICATION->ShowHead();?>

Строка обязана стоять выше ShowHead. Если поставить ниже, баннер появится, но Метрика успеет отработать до согласия — и проверка это покажет.

Позиция: сразу после открывающего тега <head>, до вызова $APPLICATION->ShowHead(). ShowHead выводит подключённые скрипты и счётчики. Всё, что вставлено после него, выполнится позже трекеров, и блокировать будет уже нечего.
Не добавляйте к тегу async или defer. С ними загрузчик может стартовать позже счётчиков, и блокировка не сработает.
  1. Откройте header.php шаблона

    В админке: Настройки → Настройки продукта → Сайты → Шаблоны сайтов, выберите используемый шаблон и откройте его на редактирование. Шаблонов на сайте может быть несколько — мобильный, печатный, отдельные разделы или домены при мультисайте. Строку нужно добавить в каждый используемый.

    НастройкиНастройки продуктаСайтыШаблоны сайтов

    Через FTP или репозиторий: /bitrix/templates/{шаблон}/header.php

  2. Вставьте строку сразу после <head>

    Поставьте строку выше вызова $APPLICATION->ShowHead() — так, как показано в примере слева. Именно порядок, а не сам факт вставки, определяет, успеет ли счётчик отработать до согласия. Сохраните файл.

  3. Сбросьте кэш

    Настройки → Настройки продукта → Автокеширование → Очистить файлы кеша. Если на сайте включён Композит, сбросьте отдельно и кэш композитных страниц: иначе часть посетителей продолжит получать старую страницу без загрузчика.

  4. Проверьте установку

    Мы откроем сайт и посмотрим, найден ли загрузчик, где он стоит и какие счётчики срабатывают до согласия.

Подключение требует доступа к файлам шаблона сайта. Это делается один раз и занимает у разработчика несколько минут — но лезть в шаблон самому не нужно.

Скопируйте письмо ниже и отправьте тому, кто ведёт ваш сайт: студии, подрядчику или системному администратору. В нём есть всё, что ему потребуется.

Нужно подключить баннер согласия на cookie по 152-ФЗ.

Установка — одна строка в шаблоне сайта. Инструкция целиком:
https://lovecookie.ru/bitrix/

Строка:
<!-- LoveCookie -->
<script src="https://app.lovecookie.ru/embed-script/SITE_ID.js"></script>

Куда: /bitrix/templates/{шаблон}/header.php, сразу после открывающего <head>
и обязательно ВЫШЕ вызова $APPLICATION->ShowHead(). Если поставить ниже,
баннер появится, но счётчики успеют отработать до согласия.

Если шаблонов на сайте несколько (мобильный, печатный, отдельные разделы) —
строку нужно добавить в каждый используемый.

После правки сбросить кэш: Настройки → Настройки продукта → Автокеширование →
Очистить файлы кеша. Если включён Композит — сбросить и кэш композитных страниц.

Проверить результат можно там же по ссылке, кнопкой «Проверить установку».
Или напишите нам — подключим за вас

Способ работает на любой редакции 1С-Битрикс, включая копию с неактивной лицензией.

При мультисайте шаблон у каждого сайта свой — строку нужно добавить в header.php каждого.

Если правку делает подрядчик, попросите его не добавлять к тегу async или defer.

Корзина, авторизация и отправка форм используют технические cookie, которые загрузчик не трогает.

Какие cookie ставит сам Битрикс

Проверено на десяти клиентских сайтах на Битриксе. Все эти cookie ставит сервер, а не браузерный скрипт: загрузчик LoveCookie их не создаёт и не удаляет. Обязательные отключать нельзя — без них ломается корзина и авторизация.

CookieЧто делаетКто ставитОснование
PHPSESSIDсессия PHP — корзина, авторизация, отправка формсервер, ядро Битриксаобязательная
BITRIX_SM_SALE_UIDпривязка корзины к посетителю в интернет-магазинесервер, модуль «Интернет-магазин»обязательная
BX_USER_IDидентификатор авторизованного пользователясервер, модуль «Главный»обязательная
BITRIX_CONVERSION_CONTEXT_s1источник перехода для отчётов по конверсиям внутри Битриксасервер, модуль «Конверсии»по согласию
BITRIX_SM_GUEST_IDидентификатор посетителя для модуля веб-аналитикисервер, модуль «Веб-аналитика»по согласию
BITRIX_SM_LAST_VISITвремя предыдущего визита для той же статистикисервер, модуль «Веб-аналитика»по согласию

Cookie из модулей «Конверсии» и «Веб-аналитика» ставятся сервером до того, как браузер выполнит хоть один скрипт, поэтому загрузчик на них не влияет. Если они вам не нужны — соответствующие модули отключаются в настройках Битрикса. Из десяти проверенных сайтов BITRIX_CONVERSION_CONTEXT встретилась на восьми, cookie веб-аналитики — на одном.

Если лицензия не продлена

Решения из каталога Маркетплейс устанавливаются только на копии продукта с активным коммерческим статусом технической поддержки. Если лицензия не продлена, установить решение из каталога не получится.

Подключение строкой в шаблоне от статуса лицензии не зависит и работает на любой редакции, включая копию с истёкшей поддержкой.

Обновлять сам Битрикс для этого не требуется: строка ссылается на внешний файл, вся логика остаётся на стороне сервиса.

Баннер-уведомление и управление загрузкой — в чём разница

Сравниваем два класса решений, а не конкретные продукты. В каталоге есть и те, и другие; понять, что именно у вас стоит, можно кнопкой проверки выше.

Что сравниваемБаннер-уведомлениеУправление загрузкой и журнал согласий
Показывает уведомление о cookieДаДа
Задерживает выполнение счётчиков до согласияНетДа
Сохраняет, на что именно согласился посетительОбычно только факт закрытияДа, по категориям
Где хранится журнал согласийВ базе того же сайтаВо внешнем сервисе, отдельно от сайта
Список трекеровЗафиксирован в версии решенияОбновляется на стороне сервиса, без обновления сайта
Установка при истёкшей лицензииИз каталога недоступнаРаботает, каталог не задействован

В таблице только проверяемые технические различия. Мы не оцениваем соответствие чужих решений закону и не называем конкретные продукты — посмотрите, что делает ваше текущее решение, кнопкой проверки.

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

Что происходит, когда посетитель нажимает «Отклонить»?

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

Сохраняются ли логи согласий и где?

Каждое решение посетителя записывается на стороне сервиса с датой, временем и составом выбранных категорий. Журнал выгружается в CSV из личного кабинета. Он лежит отдельно от вашего сайта, поэтому переустановка Битрикса или потеря базы на него не влияют.

Работает ли на мультисайте?

Да. У каждого сайта в мультисайтовой конфигурации свой шаблон, строку нужно добавить в header.php каждого из них. В личном кабинете сайты заводятся отдельно, и журнал согласий по каждому ведётся свой.

Баннер появился, а Метрика всё равно срабатывает до согласия?

Строка стоит ниже вызова ShowHead или ниже кода счётчика в шаблоне. Поднимите её сразу после открывающего тега <head> и сбросьте кэш. Проверка выше покажет, какие именно счётчики объявлены раньше загрузчика.

Нужно ли ставить строку в каждый шаблон?

В каждый, который реально отдаётся посетителям. Мобильный и печатный шаблоны часто забывают, и на них баннера не будет. Проверить можно, открыв сайт с телефона и запустив проверку по тому же адресу.

Обязателен ли модуль или решение из Маркетплейса?

Нет. Подключение — это строка в шаблоне, никакой установки в систему не происходит, и статус лицензии значения не имеет.

Сломается ли корзина или личный кабинет?

Нет. PHPSESSID, BITRIX_SM_SALE_UID и BX_USER_ID относятся к техническим, загрузчик их не блокирует и не удаляет.

Правовая оговорка. Сервис носит информационный характер и не является юридической консультацией. Состав требований зависит от того, какие данные обрабатывает конкретный сайт; в спорной ситуации проверьте решения с юристом.