Счётчики и cookie
Яндекс Метрика и 152‑ФЗ: как подключить счётчик по закону
Метрика — российский сервис, поэтому многие уверены, что с ней всё в порядке. Но проблема не в том, куда уходят данные, а в том, когда счётчик запускается. Если он стартует сразу при открытии страницы — ещё до того, как человек что-то нажал в баннере cookie, — сайт собирает персональные данные без согласия.
Коротко
- Метрика ставит cookie с идентификатором и получает IP-адрес посетителя — это персональные данные.
- Для их сбора нужно согласие, поэтому счётчик должен запускаться только после нажатия «Принять».
- Баннер «Мы используем cookie [ОК]» без возможности отказаться согласием не считается.
- Исправляется за час: код ниже, плюс инструкции для Тильды и WordPress.
Почему Метрика — это персональные данные
По 152-ФЗ персональные данные — это любая информация, которая прямо или косвенно относится к определённому или определяемому человеку (ст. 3). Имя и телефон для этого не нужны.
Когда открывается страница со счётчиком, Метрика:
- ставит в браузер cookie с уникальным идентификатором посетителя (
_ym_uid) — по нему его узнают при следующих визитах; - получает IP-адрес, сведения о браузере, устройстве и разрешении экрана;
- записывает, откуда пришёл человек, какие страницы смотрел и куда нажимал, а с включённым Вебвизором — ещё и запись всей сессии.
Вместе эти данные позволяют выделить конкретного посетителя среди остальных. Поэтому аналитические cookie считают персональными данными, а для их обработки нужно основание — согласие человека. Технические cookie, без которых сайт не работает (корзина, авторизация), согласия не требуют. Аналитика к ним не относится.
Роскомнадзор проверяет сайты автоматически: смотрит, какие cookie и запросы появляются до согласия, есть ли в баннере возможность отказаться и опубликована ли политика cookie.
Что считается нарушением
Согласие по закону должно быть конкретным, предметным, информированным, сознательным и однозначным (ст. 9 152-ФЗ). Отсюда понятно, что не работает:
Так нельзя
- Код Метрики в
<head>— как в стандартной инструкции. - Баннер с одной кнопкой «ОК» или «Понятно».
- «Продолжая пользоваться сайтом, вы соглашаетесь…»
- Заранее отмеченные галочки.
- Счётчик грузится, даже если нажать «Отказаться».
Так можно
- Счётчик запускается только после «Принять».
- В баннере есть «Только необходимые» — отказ так же прост, как согласие.
- Выбор запоминается, баннер не всплывает на каждой странице.
- Решение можно поменять — ссылка «Настройки cookie» в подвале.
- Есть политика cookie, где названа Метрика.
Какой штраф
Сбор данных без законного основания подпадает под ч. 1 ст. 13.11 КоАП. Если на сайте вообще нет политики обработки персональных данных — это отдельное нарушение по ч. 3.
Суммы — по действующей редакции КоАП. Как квалифицировать конкретный случай, решают Роскомнадзор и суд; повторное нарушение наказывается строже.
Метрика на вашем сайте стартует до согласия?
Проверим бесплатно за 30 секунд: откроем сайт как новый посетитель и покажем всё, что запускается до клика.
Как сделать правильно
- Уберите код Метрики со страницУдалите его из
<head>, из настроек конструктора и из Google Tag Manager — везде, откуда он запускается автоматически. - Поставьте баннер с выборомМинимум две кнопки: «Принять» и «Только необходимые». Можно добавить «Настроить» с отдельными переключателями для аналитики и рекламы.
- Запускайте счётчик по согласиюМетрика подключается, только когда посетитель разрешил аналитику — сразу после клика и на следующих страницах.
- Запоминайте выбор и дайте его изменитьСохраните решение в браузере (например, на полгода) и добавьте в подвал ссылку «Настройки cookie».
- Обновите документыОпубликуйте политику cookie и упомяните Метрику в политике обработки персональных данных: какие данные, зачем, кто их получает.
Готовый код
Этот фрагмент показывает баннер, запоминает выбор и подключает Метрику только после согласия. Вставьте его перед </body> на всех страницах и замените номер счётчика на свой. Стили баннера оформите под свой сайт.
<div id="cookie-banner" hidden>
Мы используем cookie. Аналитические — только с вашего согласия.
<a href="/cookies.html">Подробнее</a>
<button data-consent="all">Принять</button>
<button data-consent="necessary">Только необходимые</button>
</div>
<script>
(function () {
var METRIKA_ID = 12345678; // номер вашего счётчика
var KEY = "cookie-consent";
var banner = document.getElementById("cookie-banner");
function loadMetrika() {
if (window.ym) return; // уже запущена
window.ym = function () { (ym.a = ym.a || []).push(arguments); };
ym.l = 1 * new Date();
var s = document.createElement("script");
s.async = true;
s.src = "https://mc.yandex.ru/metrika/tag.js";
document.head.appendChild(s);
ym(METRIKA_ID, "init", { clickmap: true, trackLinks: true,
accurateTrackBounce: true, webvisor: true });
}
var saved = null;
try { saved = localStorage.getItem(KEY); } catch (e) {}
if (saved === "all") loadMetrika(); // согласие уже было
if (!saved) banner.hidden = false; // выбора ещё нет — спрашиваем
banner.addEventListener("click", function (e) {
var choice = e.target.getAttribute("data-consent");
if (!choice) return;
try { localStorage.setItem(KEY, choice); } catch (e) {}
banner.hidden = true;
if (choice === "all") loadMetrika();
});
})();
</script>
Цели Метрики (ym(…, "reachGoal", …)) вызывайте только после проверки if (window.ym) — иначе без согласия они будут падать с ошибкой.
Тильда и WordPress
Тильда
- В настройках сайта, в разделе аналитики, удалите номер счётчика Метрики — иначе Тильда вставит его на все страницы сама.
- Вставьте код выше в блок T123 («HTML-код») на странице-подвале (Footer), которая подключена ко всем страницам сайта. Если общего подвала нет — добавьте блок на каждую страницу.
- Если у вас уже стоит баннер cookie из библиотеки блоков, проверьте, что он не просто показывает текст, а действительно блокирует счётчик до согласия.
WordPress
- Найдите, откуда подключена Метрика: код в теме (
header.php), плагин вставки кода или отдельный плагин Метрики — и отключите его. - Подключите код выше через плагин вставки кода в подвал сайта.
- Если используете плагин cookie-баннера, убедитесь, что он умеет блокировать скрипты, а не только показывать уведомление, и что Метрика внесена в список блокируемых.
Как проверить себя за 2 минуты
- Откройте сайт в режиме инкогнитоТак браузер «забудет» ваше прежнее согласие. В баннере ничего не нажимайте.
- Откройте инструменты разработчикаF12 → вкладка Network (Сеть), в фильтре напишите
mc.yandexи обновите страницу. Запросов быть не должно. - Посмотрите cookieВкладка Application → Cookies: до согласия там не должно быть
_ym_uid,_ym_dи похожих. - Нажмите «Принять»Запросы к
mc.yandex.ruдолжны появиться. Потом повторите всё и нажмите «Только необходимые» — их быть не должно.
Или проще: Радар 152 делает то же самое автоматически и заодно проверяет остальные счётчики, формы, документы и сервер.
Вопросы
Если отключить Вебвизор, можно запускать Метрику без согласия?
Нет. Без Вебвизора счётчик всё равно ставит cookie с идентификатором посетителя и получает его IP-адрес и данные об устройстве. Отключение Вебвизора уменьшает объём данных, но не убирает необходимость в согласии.
Статистика в Метрике упадёт?
Да, посетители, которые нажали «Только необходимые» или закрыли сайт, не попадут в отчёты. Обычно большинство людей соглашаются, а данные оставшихся остаются законными.
Метрика российская — почему это вообще проблема?
Страна сервиса отвечает только за вопрос трансграничной передачи. Согласие нужно из-за самого факта сбора данных о посетителе: Метрика собирает их на любом сайте, где установлена.
Проверьте свой сайт сейчас
30+ проверок: cookie, счётчики, формы, документы, сервер. Бесплатно и без регистрации.
Источники
- Федеральный закон № 152-ФЗ «О персональных данных», ст. 3 и 9
- Федеральный закон от 24.06.2025 № 156-ФЗ — согласие отдельным документом с 1 сентября 2025 года
- КоАП РФ, ст. 13.11 — в действующей редакции
Статья носит информационный характер и не является юридической консультацией. Решения по вашему бизнесу принимайте с юристом.