Проверить сайт

Яндекс Метрика и 152-ФЗ: как запускать счётчик только после согласия

Счётчик Метрики стоит почти на каждом коммерческом сайте, и почти везде он запускается в первую же долю секунды — раньше, чем посетитель увидит cookie-баннер. Разберём, почему это проблема, как это проверить и как настроить запуск только после согласия.

Почему Метрика — это обработка персональных данных

Счётчик записывает в cookie идентификаторы посетителя (_ym_uid, _ym_d), получает IP-адрес, данные браузера и историю действий на сайте. По этим данным посетителя можно выделить среди других, поэтому такие сведения могут считаться персональными данными. Надёжное основание для их сбора — согласие. Согласие должно быть конкретным, предметным, информированным, сознательным и однозначным (ч. 1 ст. 9 152-ФЗ).

Отдельной статьи именно про cookie в законе нет — требование вытекает из общих правил о согласии, ст. 9 закона. Поэтому плашка «Продолжая пользоваться сайтом, вы соглашаетесь…» не решает задачу: к моменту, когда человек её прочитал, счётчик уже отправил данные.

Как проверить свой сайт за две минуты

  1. Откройте окно в режиме инкогнито — так у браузера нет сохранённых согласий.
  2. Нажмите F12 и откройте вкладку Network («Сеть»).
  3. В поле фильтра введите mc.yandex.
  4. Откройте свой сайт и ничего не нажимайте, даже кнопки баннера.
  5. Если в списке появились запросы tag.js или watch — счётчик работает до согласия.

Повторите то же для googletagmanager, vk.com, top-fwz1.mail.ru и сервисов коллтрекинга.

Три способа запускать Метрику после согласия

1. Вручную: тег с type="text/plain"

Браузер не выполняет скрипт, у которого тип text/plain. Библиотека баннера после согласия заменяет тег на исполняемый:

<script type="text/plain" data-category="analytics">
  (function(m,e,t,r,i,k,a){ … })(window, document, "script",
  "https://mc.yandex.ru/metrika/tag.js", "ym");
  ym(XXXXXXXX, "init", { webvisor: true });
</script>

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

2. Через Google Tag Manager с режимом согласия

Счётчики переносятся в GTM, а их запуск привязывается к событию согласия. Плюсы: гибкость. Минусы: сам контейнер GTM — это запрос к Google до согласия; нужен человек, который поддерживает контейнер; трекеры, вставленные мимо GTM, остаются без контроля.

3. Плагином, который переписывает HTML на сервере

Плагин находит теги трекеров в готовой странице и переводит их в text/plain до отдачи браузеру. Плюсы: ловит трекеры, вставленные темой, конструктором и другими плагинами, работает с кешем страниц. Минусы: плагин нужно проверить на совместимость с оптимизаторами JavaScript — они умеют склеивать скрипты и обходить блокировку.

Так работает «Согласно»: блокировка на сервере, журнал согласий в базе сайта, проверенная совместимость с кешем.

Что будет со статистикой

Метрика продолжит считать тех, кто согласился на аналитические cookie. Остальные посетители в отчёты не попадут — данные станут честнее, но объём визитов уменьшится. Долю согласившихся заранее предсказать нельзя: она зависит от аудитории и текста баннера. Если в коде темы есть вызовы целей ym(…, 'reachGoal', …), позаботьтесь, чтобы они не ломались у отказавшихся: нужна заглушка функции ym.

Чек-лист из 7 пунктов

  • До клика по баннеру в Network нет запросов к mc.yandex.
  • В баннере равнозначные кнопки «Принять» и «Только необходимые».
  • После «Только необходимые» счётчик так и не запускается.
  • После «Принять» счётчик запускается без перезагрузки страницы.
  • Посетитель может изменить решение — ссылка или кнопка «Настройки cookie».
  • При отказе удаляются cookie _ym_*.
  • Каждое решение записывается в журнал на сервере с версией текста.

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

Проверить сайт бесплатно

Источник: Федеральный закон от 27.07.2006 № 152-ФЗ «О персональных данных». Статья не является юридической консультацией.