Развёртывание GA4 на сайте: отслеживание событий, электронная торговля, кросс-домен и отладка
1. Глобальный код GA4: ставить gtag напрямую или через GTM
Многие команды мучаются вопросом: “вставить gtag.js напрямую или использовать контейнер GTM”. Критерий только один: есть ли у вашего сайта потребность менять теги без участия инженера. Если коллегам из маркетинга нужно самим добавлять пиксели и менять события конверсии — используйте GTM; если сайт поддерживаете только вы, gtag.js легче: меньше на один контейнер, меньше на одну точку отказа.
Контринтуитивный момент: GTM — не панацея. Небольшим командам GTM, наоборот, усложняет отладку: три уровня вложенности — теги, триггеры, переменные — и при проблеме сначала нужно понять, какой из уровней сломался. На B2B-сайте теги меняются несколько раз в год, поэтому прямая установка gtag требует меньше затрат на поддержку. Об организации самого GTM читайте в Управление тегами, триггерами и переменными в GTM.
| Способ развёртывания | Для чего подходит | Плюсы | Цена |
|---|---|---|---|
| Прямая установка gtag.js | Один человек, мало тегов | Короткий код, короткая цепочка отладки | Для смены тега нужен релиз |
| Контейнер GTM | Несколько человек, часто добавляют пиксели | Маркетинг сам меняет теги | Три уровня вложенности, сложно искать ошибки |
| Google-тег (объединённый gtag) | Одновременно GA4 и Ads | Один код для нескольких продуктов | Привязка к пути обновления |
2. Отслеживание событий: что выбрать — автоматические или пользовательские события
GA4 автоматически собирает ряд событий: page_view, session_start, first_visit, scroll, click, view_search_results. Они работают без кода, но детализации не хватает. На сайте реально нужно определить всего 4 своих события: отправка формы (generate_lead), скачивание файла (file_download, своё), клик по CTA (cta_click), воспроизведение видео (video_start). Чем больше событий, тем не лучше: после 15 пользовательских событий отчёты становятся нечитаемыми.
Названия событий должны быть в snake_case, как рекомендует GA4: только строчные буквы, разделение подчёркиванием. Как только вы запустили событие и переименовали его, исторические данные обрываются — GA4 не позволяет автоматически сопоставить старое название события с новым, можно только вручную создать сопоставление в изменении события, и оно будет действовать только для будущих данных. О правилах именования событий читайте Чек-лист разметки структурированных данных Schema Принципы именования.
| Событие | Когда отправлять | Обязательные параметры | Зачем нужен |
|---|---|---|---|
| generate_lead | Успешная отправка формы запроса | form_id、page_location | Счётчик конверсий по запросам |
| cta_click | Клик по кнопке телефона/WhatsApp | cta_type、cta_text | Привлекательность кнопки связи |
| file_download | Скачивание PDF/спецификации | file_name、file_type | Использование контента |
| video_start | Начало воспроизведения видео о продукте | video_title | Вовлечённость по видео |
III. Отслеживание электронной коммерции: нужно ли ставить на B2B-сайте
Многие владельцы чисто B2B-сайтов с формами запросов думают: «У меня нет корзины, зачем мне отслеживание электронной коммерции». Это ошибка. События электронной коммерции в GA4 — это не только purchase. От view_item и view_item_list до begin_checkout — по сути это набор метрик, показывающих, как далеко пользователь продвинулся по каталогу. Даже если на B2B-сайте нет онлайн-оплаты, стоит настроить view_item (просмотр карточки товара) и view_item_list (просмотр списка товаров), чтобы понять, какую карточку действительно читают внимательно.
Если вы действительно продаёте онлайн (например, образцы или запчасти), событие purchase обязательно должно содержать параметры currency и value — без любого из них GA4 не посчитает доход. В currency используйте трёхбуквенный код, например USD, в value — число без символа валюты. Как настроить отслеживание вместе с формами, смотрите в Надёжность формы запроса и защита от спама.
| Событие электронной коммерции | Обязательно ли для B2B-сайта | Обязательные параметры | Последствия отказа |
|---|---|---|---|
| view_item | Обязательно | item_id、item_name | Не видно, какую карточку читают внимательно |
| view_item_list | Рекомендуется | item_list_id | Нет данных об эффективности страницы списка товаров |
| begin_checkout | Только при наличии корзины | value、currency | Не видно отказов на этапе оформления |
| purchase | Только при онлайн-оплате | transaction_id、value、currency | Невозможно атрибутировать доход |
IV. Кросс-доменное измерение: настройка поддоменов и сторонних страниц оплаты
Самая частая проблема с кросс-доменом на сайте: основной сайт на www.example.com, форма заявки отправляется на crm.example.com, или оплата уходит на pay.example.com. Если не настроить кросс-домен, после перехода с основного сайта на поддомен GA4 посчитает этот переход новым сеансом и потеряет источник трафика.
Настройка выполняется в административной панели GA4 в разделе «Потоки данных → Настройки тега → Настроить кросс-доменные измерения» — добавьте туда example.com. Не добавляйте домены сторонних платёжных систем (например, stripe.com) — это чужие домены. После настройки обязательно проверьте: перейдите с формы на основном сайте на поддомен и посмотрите в DebugView, не изменился ли session_id. Сопоставление полей для интеграции с CRM смотрите в Связка лидов с сайта и CRM.
| Кросс-доменный сценарий | Нужна ли настройка | Где настраивается | Способ проверки |
|---|---|---|---|
| С www на поддомен blog | Нужно | Добавить example.com в список кросс-доменных | В DebugView session_id не меняется |
| С основного сайта на поддомен оплаты | Нужно | То же | Параметры источника сохраняются после перехода |
| Переход на стороннюю страницу оплаты | Не нужно | Не добавлять сторонние домены | Восстанавливается ли сеанс после возврата |
| Многоязычные версии в разных подкаталогах | Не нужно | Один домен — кросс-доменность не нужна | Изменение пути не влияет на сеанс |
V. Отладка и проверка: без проверки — всё равно что не установлено
Для отладки есть три инструмента: GA4 DebugView, расширение GA4 Debugger для Chrome и режим предпросмотра GTM. Порядок запуска такой: сначала откройте DebugView и сами пройдите весь путь по сайту — просмотр главной, страница товара, отправка формы, скачивание файла. На каждом шаге проверяйте, появилось ли в DebugView нужное событие и все ли параметры на месте.
Ещё один пункт проверки, который легко упустить, — дедупликация событий. Если на кнопку отправки формы привязаны два триггера, одно нажатие отправит два generate_lead, и данные удвоятся. В DebugView нажмите один раз и посмотрите, ровно ли одно событие. После проверки наблюдайте за отчётом в реальном времени 3 дня подряд, чтобы убедиться, что данные идут не только от тестового трафика. Чек-лист ежедневного мониторинга сайта — в Мониторинг сайта и оповещения.
| Что проверяем | Инструмент | Критерий прохождения | Частые причины сбоев |
|---|---|---|---|
| Срабатывает ли page_view | DebugView | Появляется в течение 30 секунд после открытия страницы | Код стоит не в том месте или его блокирует кэш |
| Параметры пользовательских событий | Подробности в DebugView | И key, и value не пустые | Переменная взята не та или не определена |
| Событие не дублируется | Счётчик в DebugView | Одно действие — одно событие | Триггер привязан дважды |
| Непрерывность session при кросс-домене | DebugView session_id | ID не меняется после перехода между доменами | Не настроен один из доменов в списке кросс-домена |
| Данные попадают в основной отчёт | Отчёт в реальном времени | На следующий день данные нормально агрегируются | Режим отладки не выключен и портит данные |
VI. Ежемесячная проверка после запуска: как заметить дрейф данных
GA4 — это не «установил и забыл». Раз в месяц проводите проверку данных и следите за тремя аномалиями: число сессий вдруг упало вдвое — скорее всего, код перезаписал кэш или изменились правила CDN; какое-то пользовательское событие две недели подряд равно нулю — не пользователи перестали действовать, а сломался триггер; в источниках трафика вдруг появилась партия неизвестных каналов — проверьте, не злоупотребляет ли кто-то UTM.
Советуем добавить ежемесячную проверку в Шесть задач на месяц в период обслуживания сайта, запускать её 1-го числа каждого месяца. У B2B-сайтов трафик небольшой, по одной неделе проблему не увидеть: сравнивайте неделю к неделе и месяц к месяцу — так аномалии и всплывут. Каждый раз сохраняйте скриншот проверки: через три месяца сравнить тренды по ним полезнее, чем смотреть на сами цифры.
| Тревожный сигнал | Возможная причина | Порядок диагностики | Действие |
|---|---|---|---|
| Число сессий упало на 50% неделя к неделе | Код перезаписан кэшем или изменились правила CDN | Проверить правила кэширования CDN → проверить исходный код страницы → проверить историю публикаций GTM | Сбросить кэш или откатить версию тега |
| Пользовательское событие две недели равно нулю | Сломался триггер или изменился селектор | Открыть DebugView и нажать вручную один раз → проверить совпадение триггера | Исправить CSS-селектор или заново выбрать элемент |
| В источниках трафика резко выросло число неизвестных каналов | UTM используют неправильно или это вредоносные боты | Посмотреть страницы входа и домены-источники → отсеять ботов | Добавить правила фильтрации или исправить правила работы с UTM |
| Параметры события стали пустыми | Не удалось получить значение переменной | Посмотреть подробности в DebugView → проверить определение переменной | Исправить маппинг переменной |
FAQ: частые вопросы
Через сколько после установки GA4 данные появятся в отчётах?
Сайт с B2B-заявками не занимается электронной коммерцией — нужно ли вообще ставить события ecommerce?
После настройки кросс-доменного трекинга сессия всё равно обрывается — что делать?
Сколько пользовательских событий создавать?
В GA4 DebugView не видно моего тестового трафика?
Трафик за день очень низкий — есть ли смысл в данных GA4?
В заключение
Развернуть GA4 технически несложно. Сложно другое: после установки должен найтись человек, который проверит, что всё работает. Многие команды вставят gtag и считают задачу выполненной, а через три месяца обнаруживают, что события формы так и не срабатывали — и все решения, принятые на основе данных, оказались построены на песке.
Три шага к результату. Первый: выберите одно — либо gtag напрямую, либо GTM, не ставьте оба сразу. Второй: держите число кастомных событий в пределах 4–8, и каждое должно отвечать на конкретный бизнес-вопрос. Третий: в день запуска пройдите весь путь в DebugView, на третий день сверьтесь с отчётом в реальном времени, на седьмой убедитесь, что данные агрегируются нормально. Когда цепочка данных работает,Технологии независимого сайта вся остальная оптимизация получает основу для измерений.
Запомните одну фразу: выкатывать разметку GA4 без проверки в DebugView — всё равно что поставить электросчётчик и не подключить провода. Горит лампочка или нет, вы никогда не узнаете.
