Cookie-баннер прячет половину посетителей: поднимите свою аналитику
Cookie-баннер по 152-ФЗ не грузит Метрику до клика «Принять» — и 40–70% посетителей не попадают в статистику. Решение — поднять свою обезличенную аналитику (Umami), которая считает всех и не зависит от согласия.
Cookie-баннер по 152-ФЗ не запускает Яндекс.Метрику до клика «Принять», поэтому счётчик видит только согласившихся — а 40–70% посетителей не попадают в статистику. Решение — поднять свою аналитику и не зависеть от согласия. Нижний уровень — Umami на своём сервере: он обезличенный (без куки, не хранит IP, суточная соль), считает всех посетителей, источники, UTM и события — и для этого согласие не нужно. Верхний — Яндекс.Метрика после «Принять»: полное поведение, Вебвизор, обучение Директа. А воронку «источник → оплата» считаете в своей базе по зарегистрированным. Главная граница: согласие нужно не из-за куки, а когда по данным можно узнать конкретного человека.
Вы настроили cookie-баннер по 152-ФЗ — и трафик в Яндекс.Метрике просел на 40–70%. Это не баг и не реальная потеря посетителей: баннер не запускает счётчик до клика «Принять», поэтому Метрика просто не видит тех, кто не согласился. Но решения по продукту и рекламе вы принимаете по всей аудитории — значит, понимать поведение отказавшихся всё равно нужно.
Хорошая новость: можно поднять свою аналитику, которая считает всех посетителей законно и не зависит от согласия. Разберём, как это устроено — без сложного кода, на уровне «что поставить и почему это законно».
Проблема
Корректный cookie-баннер по 152-ФЗ не загружает аналитику и трекеры до клика «Принять». Следствие: в Яндекс.Метрике (и любом счётчике на куках) вы видите только тех, кто нажал «Принять». Все, кто отказался или проигнорировал баннер, для счётчика невидимы — а это 40–70% посетителей. Сами посетители никуда не делись: они так же заходят и пользуются сайтом — вы просто не видите их в аналитике.
Обойти это, оставаясь в рамках закона, нельзя: аналитика на куках по определению требует согласия и по определению не видит тех, кто согласие не дал.
Решение — не «обойти», а перестать зависеть от одного инструмента. Считаем в два уровня, и нижний из них — ваш собственный.
Если самого баннера ещё нет или он «для галочки» (грузит Метрику сразу при загрузке страницы) — сначала закройте этот риск: Cookie-баннер без штрафов: 7 критериев правильного согласия. Готовый скрипт с правильной логикой загрузки трекеров даёт генератор Ревиизора.
Решение: своя аналитика в два уровня
Двухуровневая аналитика — это схема, при которой посещаемость считают два инструмента: обезличенный счётчик на вашем сервере работает до согласия и видит всех посетителей, а полный счётчик с cookie (Яндекс.Метрика) включается только после клика «Принять». Так вы законно видите весь трафик и сохраняете глубину по согласившимся.
| Уровень | Когда работает | Что собирает | Согласие |
|---|---|---|---|
| Нижний — Umami на вашем сервере | всегда, ещё до баннера | посещения, источники, UTM, события — обезличенно | не нужно |
| Верхний — Яндекс.Метрика | только после «Принять» | уникальные, поведение, Вебвизор, обучение рекламы | нужно |
Нижний уровень видит всех и принадлежит вам. Верхний даёт глубину по тем, кто согласился. Плюс отдельно — воронка «источник → оплата» в вашей базе по зарегистрированным пользователям.
Нижний уровень: Umami на своём сервере
Umami — бесплатная аналитика с открытым кодом, которую вы ставите на свой сервер. Ключевое отличие от Метрики: она изначально privacy-friendly и данные хранятся только у вас.
- Без cookie. Не требует баннера и согласия для себя.
- Не сохраняет IP. IP используется только чтобы на лету посчитать внутренний хэш посетителя и тут же отбрасывается — на диск не пишется.
- Суточная «соль». Хэш, по которому Umami отличает посетителей, меняется каждые сутки. Постоянной личности нет: завтра тот же человек — уже новый «аноним».
- Данные у вас. Ни Яндекс, ни Google к этим логам доступа не имеют.
Что вы при этом видите — по всем посетителям, включая отказавшихся: посещаемость, источники и кампании (UTM), популярные страницы, события (клики по кнопкам, отправки форм), конверсии по каналам. И всё это — с нормальным интерфейсом для маркетолога, а не «сырыми логами».
Как поднять (для разработчика). Umami разворачивается на любом VPS через Docker за ~15 минут, нужна база PostgreSQL или MySQL. Дальше вставляете её счётчик на сайт — он грузится сразу, ещё до баннера. Полный счётчик (Метрику) подключаете только после согласия.
Где проходит граница закона
Согласие нужно не из-за самих cookie, а из-за того, можно ли по собранным данным узнать конкретного человека и связать его визиты между собой. Закон считает персональными данные, относящиеся к «прямо или косвенно определяемому» лицу (ст. 3 п. 1 152-ФЗ); а обезличенные (п. 9) — те, по которым нельзя без дополнительной информации определить, кому они принадлежат.
- Храните только обобщённую статистику, по которой нельзя выделить конкретного посетителя, — это обезличенные данные. Согласие не требуется.
- Появился постоянный идентификатор (кука с id или «отпечаток», узнающий человека между визитами) — это уже персональные данные, и нужно согласие.
Umami на своём сервере держится по «безопасную» сторону этой границы: без куки, без хранения IP, с суточной солью. Честно: это защитимая позиция, а не железобетонная — IP Роскомнадзор трактует как персональные данные, особенно в связке с user-agent и временем (эту позицию поддерживают и суды — например, в деле № А40-198848/2019 IP вместе с учётной записью признан персональными данными). Поэтому два условия обязательны: не сохранять IP и описать обезличенную статистику в политике. Абсолютно бесспорна без согласия только полностью агрегированная статистика без какой-либо идентификации.
Верхний уровень: Яндекс.Метрика после согласия
Для тех, кто нажал «Принять», подключается привычная Метрика: уникальные посетители между визитами, подробное поведение, Вебвизор и — главное для рекламы — обучение автостратегий Яндекс.Директа. Это то, что обезличенный нижний уровень дать не может, и ради этого и нужно согласие.
Полезная деталь: серверные события согласившихся (например, оплату, офлайн-конверсии) можно досылать в Метрику через Measurement Protocol по их ClientID. Это усиливает верхний уровень точной воронкой до денег — но работает только для тех, кто уже дал согласие.
Деньги по источникам: воронка в своей базе
Самый ценный слой не зависит от баннера вообще и считается в вашей собственной базе:
- На первом заходе сохраните метку источника (
utm_*,yclid) в куку своего сайта. Стандартные utm-метки сами по себе — не персональные данные, а просто ярлык кампании. - Когда человек регистрируется, привяжите метку к его аккаунту. С этого момента есть правовое основание — договор с пользователем; обработку отразите в политике.
- Дальше видите конверсию по источникам — по всем зарегистрированным, независимо от того, что они нажали на баннере.
Для оценки окупаемости рекламы это надёжнее счётчика: счётчик не видит отказавшихся, а в базе остаются все, кто зарегистрировался.
Честные ограничения
Своя обезличенная аналитика решает не всё — и это нормально:
- Длинный цикл сделки. Из-за суточной соли Umami не свяжет визиты между днями: пришёл по рекламе сегодня, вернулся и купил завтра — посчитается как новый прямой заход. Для дорогих и B2B-продаж с долгим выбором атрибуцию точнее даст воронка в базе (по зарегистрированным), а не счётчик.
- Обучение Яндекс.Директа. Автостратегиям нужны данные внутри Яндекса. Из своей аналитики их туда не передать — поэтому Метрика на верхнем уровне остаётся обязательной для тех, кто рекламируется в Директе.
Отсюда и два уровня: своя аналитика — чтобы видеть всех, Метрика — для глубины и рекламы по согласившимся.
Итог
При корректном баннере Яндекс.Метрика показывает только согласившийся сегмент. Чтобы видеть картину целиком и не зависеть от согласия, поднимите свою обезличенную аналитику (Umami на своём сервере): она законно считает всех посетителей, источники и конверсии. Метрика остаётся для глубины и обучения рекламы по тем, кто согласился, а окупаемость по каналам считается в вашей базе по зарегистрированным.
Материал носит информационный характер и не заменяет юридическую консультацию: практика Роскомнадзора по обезличенным данным строгая и меняется. Опишите обе схемы в политике, а при сомнениях — свяжитесь со специалистом. Проверить, не уходит ли у вас аналитика до согласия и корректен ли cookie-баннер, можно автоматически — запустите аудит сайта в Ревиизоре.
Частые вопросы
Можно ли считать посещаемость сайта без согласия на cookie?
Да — если статистика обезличенная: вы храните только обобщённые цифры и ничего, по чему можно узнать конкретного человека, включая IP-адрес. Такие данные не считаются персональными (ст. 3 152-ФЗ), и согласие на них не требуется. Self-hosted Umami по умолчанию настроен именно так: без куки, IP не сохраняется, идентификатор обновляется каждые сутки.
Нужно ли согласие на Яндекс.Метрику?
Да. Яндекс.Метрика ставит cookie и собирает IP-адрес — это персональные данные, поэтому её скрипт нужно загружать только после согласия пользователя (клик «Принять» в cookie-баннере). До согласия запускать Метрику нельзя — иначе данные собираются без правового основания. Базовую обезличенную статистику без cookie и без хранения IP можно вести и без согласия.
Почему Яндекс.Метрика показывает меньше посетителей после установки cookie-баннера?
Корректный cookie-баннер по 152-ФЗ не загружает Метрику и трекеры до клика «Принять». Поэтому счётчик видит только тех, кто нажал «Принять», а все, кто отказался или проигнорировал баннер (обычно 40–70%), в статистику не попадают. Это не ошибка настройки, а так и должно работать по закону.
Законно ли использовать Umami без согласия пользователя?
Это защитимая позиция. Umami self-hosted не ставит куки, не хранит IP и не создаёт постоянного идентификатора (суточная соль) — формально это обезличенные данные, на которые согласие не требуется. Но практика Роскомнадзора по IP строгая, поэтому: храните только обезличенную статистику, не сохраняйте IP и опишите подход в политике. Абсолютно бесспорна без согласия только полностью агрегированная статистика без какой-либо идентификации посетителей.
Cookieless-аналитика автоматически не требует согласия?
Нет. Отсутствие cookie не равно отсутствию персональных данных. Согласие нужно не из-за куки как таковых, а когда по данным можно узнать конкретного человека и связать его визиты. Например, IP Роскомнадзор относит к персональным данным — поэтому важно, чтобы нижний уровень не сохранял IP и не строил по нему постоянный идентификатор.
Как измерить эффективность рекламы, если часть посетителей отказалась от cookie?
Двумя слоями. Umami на своём сервере покажет переходы и конверсии по UTM-меткам для всех посетителей, даже отказавшихся. А точную воронку «источник → оплата» считайте в своей базе: метку источника привязываете к пользователю при регистрации (основание — договор) и видите окупаемость по каналам по всем зарегистрированным.