Честно говоря, настройка веб-аналитики — это одна из первых вещей, которую я делаю на каждом новом проекте. За 10+ лет работы я видел слишком много сайтов, где владельцы принимают решения наугад, потому что не знают, откуда приходят пользователи и что они делают на сайте.
Почему веб-аналитика критически важна для любого сайта
Я помню случай с одним клиентом — владельцем интернет-магазина. Он тратил 50 тысяч в месяц на контекстную рекламу, но не мог понять, какие кампании работают. У меня ушло всего два часа на настройку Google Analytics 4 и Яндекс.Метрики, а уже через месяц он сократил расходы на рекламу в два раза при том же объёме продаж.
На практике аналитика решает несколько ключевых задач. Во-первых, показывает источники трафика — откуда приходят пользователи, какие каналы работают лучше. Во-вторых, помогает понять поведение посетителей на сайте — где они «застревают», на каких страницах уходят. В-третьих, позволяет отследить конверсии и рассчитать ROI рекламных кампаний.
Особенно это актуально для коммерческих проектов. Без аналитики вы работаете вслепую — не знаете, стоит ли вкладываться в SEO, какие товары популярны, какие страницы нужно улучшить. А ведь даже небольшая оптимизация может увеличить конверсию на 20-30%.
Пошаговая настройка Google Analytics 4
Google Analytics 4 (GA4) кардинально отличается от Universal Analytics, который прекратил работу в июле 2023 года. Новая версия строится на событийной модели — вместо просмотров страниц всё считается через события. Это поначалу сбивает с толку, но даёт гораздо больше возможностей для анализа.
Первый шаг — создание аккаунта и ресурса в GA4. Заходите на analytics.google.com, создаёте новый аккаунт (если его нет). При создании ресурса выбираете «Веб-сайт», указываете URL и часовой пояс. Обязательно включаете «Расширенные настройки измерения» — это автоматически отслеживает скроллинг, клики по ссылкам, просмотры файлов.
После создания ресурса получаете Measurement ID — строку вида G-XXXXXXXXXX. Это ваш идентификатор для установки кода. В GA4 есть несколько способов установки: через Google Tag Manager (рекомендую), через gtag.js напрямую или через плагины CMS.
Установка через Google Tag Manager
Я всегда рекомендую клиентам использовать Google Tag Manager (GTM) — это удобнее и гибче. Создаёте контейнер в tagmanager.google.com, получаете два кода для вставки. Первый код вставляете в <head> сразу после открывающего тега, второй — в <body> сразу после открывающего тега.
<!-- Google Tag Manager -->
<script>(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':
new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],
j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src=
'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f);
})(window,document,'script','dataLayer','GTM-XXXXXXX');</script>
<!-- End Google Tag Manager -->
<!-- Google Tag Manager (noscript) -->
<noscript><iframe src="https://www.googletagmanager.com/ns.html?id=GTM-XXXXXXX"
height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript>
<!-- End Google Tag Manager (noscript) -->
В GTM создаёте новый тег типа «Google Analytics: конфигурация GA4», указываете ваш Measurement ID. Триггер ставите «All Pages» — тег будет срабатывать на всех страницах. Сохраняете, публикуете контейнер.
Прямая установка через gtag.js
Если не хотите использовать GTM, можно установить GA4 напрямую. Код вставляется в <head> всех страниц сайта:
<!-- Google tag (gtag.js) -->
<script async src="https://www.googletagmanager.com/gtag/js?id=G-XXXXXXXXXX"></script>
<script>
window.dataLayer = window.dataLayer || [];
function gtag(){dataLayer.push(arguments);}
gtag('js', new Date());
gtag('config', 'G-XXXXXXXXXX');
</script>
Для WordPress рекомендую плагин GA Google Analytics — он правильно вставляет код и добавляет полезные настройки. Для Битрикс есть готовый компонент в административной панели: «Настройки» → «Веб-аналитика» → «Google Analytics».
Настройка целей и конверсий в GA4
В GA4 цели называются «конверсиями», и настраиваются они по-другому. Базовые события (page_view, session_start, first_visit) уже отслеживаются автоматически. Но для коммерческих целей нужно настроить дополнительные события.
Для интернет-магазина я обычно настраиваю такие конверсии: добавление товара в корзину (add_to_cart), начало оформления заказа (begin_checkout), покупка (purchase). Для лид-форм — отправка заявки (generate_lead), скачивание файла (file_download).
Конверсии настраиваются в разделе «Администратор» → «События» → «Создать событие». Можно создать событие на основе существующих (например, клик по определённой кнопке) или настроить отправку custom-событий через код.
Настройка Яндекс.Метрики: подробное руководство
Яндекс.Метрика для русскоязычного интернета — это must-have. Она лучше понимает российский трафик, корректно работает с кириллическими доменами, а главное — интегрируется с Яндекс.Директом. По моему опыту, для сайтов с российской аудиторией Метрика даёт более точные данные, чем Google Analytics.
Создание счётчика простое: заходите на metrika.yandex.ru, нажимаете «Добавить счётчик», указываете URL сайта. Обязательно включаете «Вебвизор» — это видеозаписи сессий пользователей. Звучит страшно, но на деле это золотая копальня инсайтов. Я регулярно смотрю записи и нахожу проблемы, которые никогда не заметил бы в обычных отчётах.
Также включаете «Карту кликов» — показывает, куда именно кликают пользователи на странице. «Анализ форм» поможет понять, где пользователи бросают заполнение заявок. «Точность определения поисковых фраз» — увеличивает количество ключевых слов в отчётах.
Установка кода Метрики
Код счётчика Метрики вставляется перед закрывающим тегом </head>. Выглядит он так:
<!-- 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();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");
ym(XXXXXXXX, "init", {
clickmap:true,
trackLinks:true,
accurateTrackBounce:true,
webvisor:true
});
</script>
<noscript><div><img src="https://mc.yandex.ru/watch/XXXXXXXX" style="position:absolute; left:-9999px;" alt="" /></div></noscript>
<!-- /Yandex.Metrika counter -->
Где XXXXXXXX — номер вашего счётчика. Для WordPress есть множество плагинов, но я предпочитаю вставлять код вручную — меньше нагрузка на сайт. В Битрикс код можно добавить через «Настройки» → «Веб-аналитика» → «Яндекс.Метрика» или в шаблон сайта.
Настройка целей в Яндекс.Метрике
Цели в Метрике настраиваются проще, чем в GA4. В настройках счётчика переходите в раздел «Цели», нажимаете «Добавить цель». Есть несколько типов целей: посещение страницы, JavaScript-событие, составная цель.
Для простых сайтов достаточно цели «Посещение страницы». Указываете URL страницы благодарности (например, /thanks/ или /spasibo/), и всё — цель готова. Для интернет-магазинов лучше использовать JavaScript-события — они точнее и не зависят от структуры URL.
У меня был клиент с медицинским центром — настроил цель на клик по номеру телефона. За месяц выяснили, что 60% звонков идёт с мобильных устройств в вечернее время. Скорректировали график работы и увеличили количество записей на 40%.
E-commerce в Яндекс.Метрике
Для интернет-магазинов обязательно настраивайте передачу данных о покупках. Метрика получает информацию о заказах, товарах, суммах — строит детальные отчёты по продажам. Данные передаются через JavaScript на странице успешного заказа:
ym(XXXXXXXX, 'ecommerce', 'purchase', {
'currency': 'RUB',
'goods': [{
'id': '12345',
'name': 'Товар 1',
'brand': 'Бренд',
'category': 'Категория/Подкатегория',
'quantity': 1,
'price': 1500,
'variant': 'Красный'
}]
});
Для популярных CMS есть готовые модули, которые автоматически передают данные о покупках. В Битрикс это модуль «Веб-аналитика», в WooCommerce — плагин Yandex.Metrica.
Google Analytics 4 vs Яндекс.Метрика: что выбрать
Честно говоря, я всегда ставлю обе системы. Они дополняют друг друга, и данные иногда сильно различаются. GA4 лучше подходит для международных проектов, глубокой сегментации аудитории, интеграции с Google Ads. Метрика превосходит в анализе российского трафика, юзабилити-исследованиях, интеграции с Яндекс.Директом.
По точности данных: GA4 может недосчитывать до 20-30% российского трафика из-за блокировщиков рекламы и региональных ограничений. Метрика работает стабильнее, но тоже не идеальна. Поэтому использую обе системы и сравниваю показатели.
GA4 сильнее в attribution modeling — можете настроить разные модели атрибуции (первый клик, последний клик, линейная). В Метрике модель атрибуции проще, но для большинства задач её хватает.
Метрика выигрывает в скорости обновления данных — отчёты обновляются практически в реальном времени. GA4 может «тормозить» до нескольких часов. Для быстрого реагирования на изменения трафика это критично.
Настройка отслеживания целевых действий
Правильная настройка целей — это 80% успеха веб-аналитики. Без целей вы получаете только базовые метрики: посещения, просмотры, время на сайте. А нужно знать, сколько людей совершили целевое действие и откуда они пришли.
Я всегда начинаю с макро-целей — главные действия, ради которых создавался сайт. Для интернет-магазина это покупка, для лендинга — заявка, для блога — подписка на рассылку. Потом добавляю микро-цели — промежуточные действия, которые ведут к макро-целям.
Настройка целей через Google Tag Manager
GTM — самый гибкий способ отслеживания целей. Можете настроить цель на любое действие: клик по кнопке, заполнение формы, скроллинг до определённой секции, время на сайте больше 3 минут.
Пример настройки цели «Клик по кнопке заказа». Создаёте триггер типа «Клик — все элементы», в условиях указываете CSS-селектор кнопки или её текст. Создаёте тег «Google Analytics: событие GA4», указываете название события (например, order_button_click).
Для отслеживания отправки форм использую триггер «Отправка формы». Он срабатывает при submit любой формы на странице. Можете добавить условия для конкретных форм через CSS-селектор или ID формы.
Настройка Enhanced Ecommerce
Для интернет-магазинов Enhanced Ecommerce — это святое. Система отслеживает весь путь покупателя: просмотр товара, добавление в корзину, начало оформления, покупка. В отчётах видите, на каком этапе теряются клиенты, какие товары чаще покупают вместе.
Базовая настройка включает отслеживание таких событий:
- view_item — просмотр товара
- add_to_cart — добавление в корзину
- begin_checkout — начало оформления заказа
- purchase — завершение покупки
Данные передаются через dataLayer в момент совершения действия. Например, при добавлении товара в корзину:
dataLayer.push({
'event': 'add_to_cart',
'ecommerce': {
'currency': 'RUB',
'value': 1500,
'items': [{
'item_id': 'SKU123',
'item_name': 'Товар 1',
'item_category': 'Категория',
'quantity': 1,
'price': 1500
}]
}
});
В GTM создаёте триггер на событие add_to_cart, тег отправляет данные в GA4. Аналогично настраиваются остальные события воронки.
Отслеживание телефонных звонков
Для многих бизнесов звонки — основной источник лидов. Есть несколько способов их отслеживания. Самый простой — цель на клик по номеру телефона. В GTM создаёте триггер на клик по ссылке tel:, отправляете событие в аналитику.
Более продвинутый способ — коллтрекинг. Сервисы вроде Calltouch или Roistat подставляют динамические номера телефонов в зависимости от источника трафика. Видите, из какой рекламной кампании пришёл звонок, можете прослушать запись разговора.
Интеграция аналитики с CRM-системами
Интеграция веб-аналитики с CRM — это следующий уровень работы с данными. Вместо просто «пришла заявка» видите полную картину: откуда пришёл клиент, какие страницы смотрел, сколько времени думал, сколько в итоге купил. Эти данные кардинально меняют подход к маркетингу.
У меня был клиент — автосалон. До интеграции считали, что лучше всего работает контекстная реклама по брендовым запросам. После настройки сквозной аналитики выяснилось, что клиенты с органического поиска покупают машины дороже на 30%, а конверсия из социальных сетей в продажу выше в 2 раза. Полностью пересмотрели рекламную стратегию.
Для интеграции использую несколько подходов. Первый — передача UTM-меток в CRM через скрытые поля форм. При отправке заявки в CRM попадает информация об источнике трафика. Второй — интеграция через API сервисов сквозной аналитики: Roistat, Calltouch, Comagic.
Передача данных через скрытые поля
Простой способ — добавить в формы скрытые поля с UTM-метками. JavaScript автоматически заполняет их значениями из URL. При отправке формы данные попадают в CRM вместе с контактами клиента.
// Получаем UTM-метки из URL
function getUTMData() {
const urlParams = new URLSearchParams(window.location.search);
return {
utm_source: urlParams.get('utm_source') || 'direct',
utm_medium: urlParams.get('utm_medium') || 'none',
utm_campaign: urlParams.get('utm_campaign') || 'none',
utm_content: urlParams.get('utm_content') || 'none'
};
}
// Заполняем скрытые поля формы
document.addEventListener('DOMContentLoaded', function() {
const utmData = getUTMData();
document.querySelector('input[name="utm_source"]').value = utmData.utm_source;
document.querySelector('input[name="utm_medium"]').value = utmData.utm_medium;
document.querySelector('input[name="utm_campaign"]').value = utmData.utm_campaign;
document.querySelector('input[name="utm_content"]').value = utmData.utm_content;
});
Более продвинутый вариант — сохранять данные о всём пути пользователя в cookies или localStorage. Тогда в CRM попадёт информация не только о последнем клике, но и о всех источниках, с которых приходил клиент.
Настройка сквозной аналитики
Сквозная аналитика связывает данные от первого клика до финальной продажи. Видите полную воронку: показы рекламы → клики → заявки → продажи → выручка. Можете рассчитать реальный ROI каждого канала маркетинга.
Я обычно рекомендую Roistat для крупных проектов — много возможностей настройки, качественная техподдержка. Для небольших сайтов подойдёт Calltouch — проще в настройке, дешевле. Comagic хорош для call-центров — отличная работа с телефонией.
Настройка сквозной аналитики включает несколько этапов. Сначала устанавливаете код счётчика на сайт — он отслеживает все действия посетителей. Потом настраиваете интеграцию с CRM — передачу лидов и сделок. Наконец, размечаете рекламные кампании UTM-метками для корректной атрибуции.
Более детально об интеграции CRM с сайтом я писал в отдельной статье — там есть практические примеры для разных систем.
Типичные ошибки при настройке аналитики
За годы работы я видел одни и те же ошибки десятки раз. Самая частая — дублирование кодов счётчиков. Код GA4 установлен и через GTM, и напрямую в шаблон. В результате каждый посетитель считается дважды, статистика завышена в 2 раза. Проверяйте это обязательно — в браузерных инструментах разработчика смотрите вкладку Network, ищите запросы к analytics.google.com или mc.yandex.ru.
Вторая популярная ошибка — неправильная настройка целей. Цель срабатывает на каждый клик по кнопке, а не на успешную отправку формы. Или наоборот — цель настроена на страницу благодарности, но до неё доходят не все клиенты из-за ошибок в форме. Всегда тестируйте цели после настройки — пройдите весь путь пользователя и убедитесь, что события срабатывают корректно.
Третья ошибка — игнорирование фильтрации внутреннего трафика. Ваши сотрудники, разработчики, вы сами регулярно заходите на сайт — это искажает статистику. В GA4 настраивается исключение трафика по IP-адресам в разделе «Администратор» → «Потоки данных» → «Настройка тегирования». В Метрике — в настройках счётчика, раздел «Фильтры».
Проблемы с межсайтовым отслеживанием
Если у вас несколько связанных сайтов (например, основной сайт и отдельный магазин на поддомене), нужно настроить кросс-доменное отслеживание. Иначе переход пользователя с одного сайта на другой будет считаться новой сессией, данные о источнике трафика потеряются.
В GA4 кросс-доменное отслеживание настраивается в конфигурации тега — добавляете все связанные домены в параметр linker. В Метрике — в настройках счётчика включаете опцию «Связанные сайты» и указываете список доменов.
Неправильная разметка UTM-меток
UTM-метки — основа корректной атрибуции трафика в аналитике. Но часто их используют неправильно. Основные ошибки: разный регистр букв (utm_source=Google и utm_source=google — это разные источники), пробелы в значениях, использование кириллицы.
Я всегда создаю единый стандарт UTM-разметки для клиентов. Например: utm_source только латиницей в нижнем регистре (google, yandex, facebook), utm_medium по типам трафика (cpc, cpm, email, social), utm_campaign — название кампании без пробелов, через подчёркивания.
Влияние аналитики на скорость сайта
Многие недооценивают влияние кодов аналитики на производительность сайта. А ведь каждый дополнительный скрипт увеличивает время загрузки. Я регулярно вижу сайты, где установлено 5-7 систем аналитики одновременно — GA4, Метрика, Facebook Pixel, коллтрекинг, чат-боты. Скорость загрузки падает на 30-40%.
Код GA4 весит около 35 КБ, Метрики — примерно 25 КБ. Плюс каждая система делает дополнительные запросы к своим серверам. На мобильном интернете это может добавить 1-2 секунды к времени загрузки. А Google учитывает скорость сайта в ранжировании — медленные сайты получают штраф в поисковой выдаче.
Оптимизация загрузки скриптов
Первое правило — используйте асинхронную загрузку. Все современные коды аналитики (GA4, Метрика) по умолчанию загружаются асинхронно, но старые версии или кастомные реализации могут блокировать рендеринг страницы.
Второе — группируйте все скрипты через Google Tag Manager. Вместо 5 отдельных кодов в шаблоне сайта у вас один GTM-контейнер. Он загружается асинхронно и сам управляет остальными скриптами. Это уменьшает количество запросов и упрощает управление.
Третье — используйте отложенную загрузку для некритичных скриптов. Например, коллтрекинг или чат-боты можно загружать через 2-3 секунды после загрузки страницы, когда пользователь уже видит контент.
// Отложенная загрузка Метрики
setTimeout(function() {
(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();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");
ym(XXXXXXXX, "init", {
clickmap:true,
trackLinks:true,
accurateTrackBounce:true,
webvisor:true
});
}, 3000);
Влияние на Core Web Vitals
Google всё больше внимания уделяет пользовательскому опыту, а Core Web Vitals стали официальным фактором ранжирования. Скрипты аналитики могут негативно влиять на все три метрики: LCP (время загрузки главного контента), FID (время отклика на первое взаимодействие), CLS (стабильность визуального макета).
Чтобы минимизировать влияние, использую несколько техник. Загружаю критичные скрипты (GA4, Метрика) с атрибутом async, некритичные — с defer или через setTimeout. Избегаю синхронных запросов в скриптах аналитики. Регулярно проверяю показатели Core Web Vitals в PageSpeed Insights — если они ухудшаются, пересматриваю список подключённых скриптов.
Подробнее об оптимизации Core Web Vitals я писал в специальной статье — там есть конкретные рекомендации и инструменты для измерения.
Анализ данных и построение отчётов
Установка аналитики — это только начало. Главная ценность в анализе собранных данных и принятии решений на их основе. За годы работы я выработал определённый подход к анализу, который помогает быстро находить точки роста и проблемы.
Первое, на что смотрю в любом проекте — воронка конверсий. Сколько людей пришло на сайт, сколько перешло на ключевые страницы, сколько совершило целевое действие. Где самые большие потери — там и нужно работать в первую очередь.
Второе — источники трафика и их качество. Не все посетители одинаково ценны. Трафик из органического поиска обычно конвертируется лучше платного, пользователи из социальных сетей дольше изучают сайт перед покупкой. Эти данные помогают правильно распределить маркетинговый бюджет.
Ключевые метрики для анализа
Для каждого типа сайта у меня есть набор ключевых метрик. Для интернет-магазина это: конверсия в покупку, средний чек, количество товаров в заказе, время от первого визита до покупки. Для лендинга: конверсия в заявку, стоимость привлечения лида, качество лидов (сколько превращается в продажи).
Обязательно анализирую поведенческие метрики: время на сайте, глубина просмотра, показатель отказов. Но интерпретирую их правильно. Высокий показатель отказов на лендинге может быть нормой — пользователь пришёл, оставил заявку и ушёл. А низкое время на сайте для справочного портала — проблема.
Сегментация аудитории
Средние показатели по сайту мало что говорят. Гораздо важнее анализировать сегменты аудитории отдельно. Я всегда создаю сегменты по источникам трафика, устройствам, географии, новые/возвращающиеся пользователи.
Часто оказывается, что проблемы локализованы в отдельных сегментах. Например, сайт плохо работает только на мобильных устройствах, или конверсия низкая только в определённых регионах. Без сегментации эти проблемы можно не заметить.
Автоматизация отчётности
Ручное создание отчётов отнимает много времени. Я использую несколько инструментов автоматизации. Google Data Studio (теперь Looker Studio) позволяет создавать красивые дашборды с данными из GA4, Метрики, рекламных кабинетов. Отчёты обновляются автоматически, можно настроить еженедельную отправку по почте.
Для клиентов создаю простые дашборды с ключевыми метриками: посещения, конверсии, источники трафика, топ-страницы. Сложные аналитические отчёты делаю в Excel или Google Sheets с подгрузкой данных через API.
У меня есть клиент — сеть автосервисов. Настроил автоматический еженедельный отчёт, который показывает количество заявок по каждому филиалу, их источники, конверсию из заявок в продажи. Директор получает актуальную картину без лишних телодвижений, может быстро реагировать на изменения.
Правильно настроенная аналитика — это инвестиция в развитие бизнеса. Потратив несколько часов на установку и настройку, получаете инструмент для принятия обоснованных решений. А это в итоге экономит деньги на рекламе и увеличивает прибыль от сайта.
Нужна помощь с настройкой аналитики?
Наши специалисты настроят Google Analytics и Яндекс.Метрику для вашего сайта.