Как я перешёл с Google Analytics на Яндекс.Метрику
2 мин. чтенияС 1 июля 2024 года вступили в силу изменения в законодательстве, которые ограничивают использование Google Analytics для российских сайтов. Расскажу, как перенёс аналитику на Яндекс.Метрику и настроил всё правильно с точки зрения защиты персональных данных.
Почему пришлось уходить
Новые требования ограничивают передачу данных российских пользователей в страны, которые не обеспечивают должный уровень защиты персональных данных. Google Analytics хранит всё на серверах в США, что теперь создаёт правовые риски.
Выбор простой: или переходим на отечественные решения, или готовимся к возможным штрафам.
Что понадобится
Для миграции нужно:
- Аккаунт в Яндексе
- Доступ к коду сайта
- Понимание, где сейчас установлен Google Analytics
Создание счётчика
Процесс довольно простой:
- Заходим на metrika.yandex.ru
- Нажимаем «Добавить счётчик»
- Указываем адрес сайта
- Получаем код
Но не спешите его сразу устанавливать.
Правильная установка с учётом GDPR
Главное правило — счётчик должен запускаться только после явного согласия пользователя на использование cookies.
Базовый код
<!-- Yandex.Metrika counter -->
<script type="text/javascript">
(function(m,e,t,r,i,k,a){
m[i]=m[i]||function(){(m[i].a=m[i].a||[]).push(arguments)};
m[i].l=1*new Date();
for (var j = 0; j < document.scripts.length; j++) {
if (document.scripts[j].src === r) { return; }
}
k=e.createElement(t),a=e.getElementsByTagName(t)[0],k.async=1,k.src=r,a.parentNode.insertBefore(k,a)
})(window, document, "script", "https://mc.yandex.ru/metrika/tag.js", "ym");
window.yaCounterInit = false;
</script>
<!-- /Yandex.Metrika counter -->
Логика запуска
const initYandexMetrika = function() {
if (typeof ym !== 'undefined' && !window.yaCounterInit) {
ym(12345678, "init", {
clickmap: true,
trackLinks: true,
accurateTrackBounce: true,
webvisor: true
});
window.yaCounterInit = true;
}
}
// Проверяем сохранённое согласие
if (localStorage.getItem('cookies_accepted')) {
initYandexMetrika();
} else {
document.getElementById('cookie-banner').style.display = 'block';
}
// Обработка согласия
document.getElementById('accept-cookies').addEventListener('click', function() {
localStorage.setItem('cookies_accepted', 'true');
document.getElementById('cookie-banner').style.display = 'none';
initYandexMetrika();
});
Простой баннер внизу экрана
Важный момент про noscript
Яндекс.Метрика предлагает добавить такой код для пользователей без JavaScript:
<!-- Не используйте это -->
<noscript>
<div><img src="https://mc.yandex.ru/watch/12345678" style="position:absolute; left:-9999px;" alt="" /></div>
</noscript>
Проблема в том, что эта картинка загружается всегда, даже когда пользователь не давал согласия. Это нарушение принципа информированного согласия. Просто не добавляйте этот код.
Настройка параметров
Рекомендуемые настройки:
ym(12345678, "init", {
clickmap: true, // Карта кликов
trackLinks: true, // Отслеживание внешних ссылок
accurateTrackBounce: true,// Точный показатель отказов
webvisor: false, // Лучше отключить для соблюдения GDPR
ecommerce: "dataLayer" // Для интернет-магазинов
});
Частые проблемы
Данные не поступают
Блокировщики рекламы. AdBlock и подобные расширения блокируют счётчики. Для тестирования временно отключите их.
Проблемы с геолокацией. Если ваш трафик идёт через зарубежные серверы (корпоративная сеть, спутниковый интернет), Метрика может некорректно определять местоположение.
Режим инкогнито. В приватном режиме localStorage работает только до закрытия окна.
Проверка работы
- Откройте консоль разработчика (F12)
- Перейдите на вкладку Network
- Введите в фильтр
mc.yandex
- Обновите страницу и дайте согласие
- Проверьте, что запросы отправляются
Перенос целей
Если использовали цели в Google Analytics, их нужно адаптировать:
// Google Analytics
gtag('event', 'purchase', {
value: 1000,
currency: 'RUB'
});
// Яндекс.Метрика
ym(12345678, 'reachGoal', 'purchase', {
order_price: 1000,
currency: 'RUB'
});
Чек-лист после миграции
- Удалён код Google Analytics
- Установлена Яндекс.Метрика
- Настроен запуск после согласия
- Удалён noscript-код
- Проверена работа в разных браузерах
- Обновлена политика конфиденциальности
- Перенесены важные цели
Итог
Переход на Яндекс.Метрику — вынужденная, но не такая уж страшная мера. Основной функционал похож, есть свои интересные возможности вроде карты скроллинга и аналитики форм. Главное — правильно настроить с учётом требований о защите персональных данных.