Онлайн-курс по аналитике стоит 25 000 ₸, и вся реклама ведёт на одну страницу с формой записи (цифры в уроке условные). Вчера её открыли двое: первый прочитал программу и закрыл вкладку, второй оставил заявку. В отчёте у обоих будет один и тот же page_view, и по нему не скажешь, кто из них стал клиентом. Чтобы их различать, в GA4 нужно событие заявки, причём такое, которому можно верить.
Просмотр страницы и принятая заявка
Два посетителя открывают одну страницу курса.
Посетитель 1
Прочитал программу и ушёл
page_viewОткрыта страница курса
Посетитель 2
Сервер принял форму
page_viewОткрыта страница курсаgenerate_leadЗаявка сохранена
- Параметр принятой заявки
form_name=course_signup
Отправляйте generate_lead после подтверждения заявки сервером.
Сначала план измерения
GA4 записывает события: открыл страницу, прокрутил, отправил форму. Вместе с каждым событием можно передать параметры, которые его уточняют. Прежде чем что-то настраивать, запишите в таблицу, на какие вопросы бизнеса вы хотите отвечать и каким событием. Это и есть план измерения. Для страницы курса хватит четырёх строк:
| Вопрос | Событие или параметр | Когда срабатывает |
|---|---|---|
| Открыли ли страницу курса? | page_view | При загрузке страницы, GA4 собирает его сам |
| Начали ли заполнять форму? | form_start | При первом взаимодействии с формой, если включена улучшенная статистика |
| Принята ли заявка? | generate_lead | Когда сервер ответил, что заявка сохранена |
| Из какой формы заявка? | параметр form_name | Передаётся вместе с generate_lead |
Часть событий GA4 собирает без вашего участия. page_view приходит всегда, а form_start и form_submit добавляет улучшенная статистика (enhanced measurement), которую Google советует включать при создании потока (какие события она собирает). Но form_submit ловит нажатие на отправку, а не ответ сервера: если форма вернула ошибку, событие всё равно придёт. А форму во встроенном виджете (iframe) GA4 со страницы вообще не видит.
Так что заявку описывают отдельным рекомендованным событием generate_lead. В списке рекомендованных событий Google оно означает отправку формы или запроса информации. Рядом есть qualify_lead для заявки, которую признали целевой, и purchase для покупки. Сами они не отправляются, их настраивают, например через GTM. Если ни одно рекомендованное событие не подходит, можно завести своё.
Событие и параметр
generate_lead отвечает на вопрос «что произошло», form_name - «в какой форме». На сайте две формы: запись на курс и бесплатная консультация. Событие одно, а параметр показывает, какая из форм принесла заявку.
Параметр доходит до GA4 сразу, но в отчётах его не будет, пока вы не зарегистрируете его как специальный параметр (custom dimension). Откройте «Администратор» → «Просмотр данных» → «Специальные определения», на вкладке «Специальные параметры» нажмите «Создать специальный параметр», в области действия выберите «Событие», а в поле «Параметр события» впишите form_name. В отчётах он появится через 24-48 часов.
Здесь легко запутаться: русский интерфейс GA4 называет «параметром» и то, что вы передаёте вместе с событием, и колонку отчёта (dimension). И не регистрируйте так значения, которые у каждой заявки свои: номер заявки, ID клиента, время отправки. Google предупреждает, что параметры с огромным числом разных значений портят отчёты и исследования. Номер заявки нужен для связи с CRM, и эту связь строят отдельно.
Создайте ресурс и подключите его через GTM
Порядок для тестового сайта или первого клиента:
- В GA4 откройте «Администратор», нажмите «Создать» и выберите «Ресурс» (property). Укажите название, валюту (тенге) и часовой пояс - тот же, что в рекламных кабинетах и CRM, иначе дневные цифры не сойдутся.
- Нажмите «Добавить поток», выберите «Веб» и укажите адрес сайта. Улучшенную статистику включите, Google это рекомендует.
- Скопируйте идентификатор потока данных (Measurement ID), он начинается с
G-. - В GTM создайте «Тег Google» (Google tag), впишите в него этот идентификатор и повесьте на триггер инициализации всех страниц.
- Для заявки нужен отдельный тег события GA4 в GTM с именем
generate_leadи параметромform_name. Он срабатывает по событию dataLayer, которое сайт отправляет, когда сервер принял форму, а не по клику на кнопку. - В «Администраторе» найдите «Хранение данных» (Data retention) и поставьте 14 месяцев, это максимум для стандартного ресурса. Настройка влияет на исследования и воронки: с коротким сроком через полгода вы не построите воронку за прошлый квартал.
- Опубликуйте контейнер, когда заявка появится в DebugView (об этом ниже).
Отметьте заявку ключевым событием
Ключевое событие (key event) - это действие, ради которого существует страница. Для курса это generate_lead. purchase GA4 отмечает ключевым сам.
- Если
generate_leadуже приходил, откройте «Администратор» → «Просмотр данных» → «События», найдите его в списке и нажмите на звёздочку. - Если ещё нет, на той же странице нажмите «Создать событие», впишите
generate_leadи включите «Отметить как ключевое событие». Так событие можно отметить заранее, до первой заявки.
Отметка действует с момента, когда вы её поставили, прошлые данные она не пересчитывает (как отметить ключевые события). Имя должно совпасть до буквы: для GA4 generate_lead и Generate_Lead - разные события (правила названий). Всего у стандартного ресурса может быть до 30 ключевых событий, но звёздочка на каждом третьем событии превращает отчёт в шум.
Отметка «ключевое событие» не делает событие правильным. Если generate_lead срабатывает по клику на кнопку, а не по принятой заявке, вы считаете клики под красивым названием. Google Ads от этой отметки тоже ничему не учится: чтобы он оптимизировался на заявки, из ключевого события создают конверсию, это отдельный шаг (ключевые события и конверсии).
Как найти заявку в DebugView
DebugView показывает события с вашего устройства почти сразу. Ему нужен режим отладки, и проще всего включить его через предварительный просмотр GTM: параметр отладки добавится сам.
- В GTM нажмите «Предварительный просмотр» (Preview) и откройте сайт.
- Отправьте тестовую заявку.
- В GA4 откройте «Администратор» → «Просмотр данных» → «DebugView». В ленте должны появиться
page_viewиgenerate_lead. - Нажмите на
generate_leadи посмотрите параметры:form_nameдолжен быть заполнен. - Отправьте форму с ошибкой, например с пустым email.
generate_leadна этот раз прийти не должен.
Если в DebugView пусто, пройдите по трём пунктам: сработал ли тег Google на странице, свой ли в нём идентификатор G- и не отказались ли вы от аналитики в баннере cookies. Когда на сайте стоит режим согласия (consent mode), без согласия на аналитику события в DebugView не видны.
Обычные отчёты отстают: на обработку у GA4 уходит несколько часов, иногда до двух суток (свежесть данных). Сегодня смотрят DebugView, а отчёты - завтра. Заявки по каналам будут в отчёте «Привлечение трафика»: переключите таблицу на «Источник/канал сеанса» и смотрите столбец «Ключевые события». Если ключевое событие у вас одно, это и есть заявки по тем UTM-меткам, которыми вы подписали ссылки.
Ценность заявки: почему не value=1
У generate_lead есть параметры value и currency, и если передаёте value, currency обязателен (справочник событий). Туда соблазнительно поставить value=1 и currency=KZT для каждой заявки, просто чтобы поле не пустовало. Получается, что каждая заявка стоит один тенге. В отчётах набегает сумма ценности, похожая на деньги, а если такую конверсию импортировать в Google Ads и включить стратегию на ценность, алгоритм будет считать, что заявка приносит вам один тенге.
Вариантов два. Можно вообще не передавать value и считать заявки штуками. Можно передавать оценку: цена курса, умноженная на долю заявок, которые доходят до оплаты. При курсе за 25 000 ₸ и оплате у каждой пятой заявки это 5 000 ₸. Оценку пересматривают, когда CRM покажет настоящую долю.
Если курс покупают онлайн
Когда оплата проходит на сайте, покупку передают событием purchase. Вот как оно выглядит для курса за 25 000 ₸ на сайте, где gtag.js вставлен прямо в код страницы:
Отправляют его, когда платёжная система подтвердила оплату, а не при открытии страницы «Спасибо». Если GA4 подключён через GTM, как в этом уроке, те же поля передают через dataLayer в тег события GA4 purchase, а не вторым вызовом gtag рядом.
value- суммаprice * quantityпо всем товарам, без доставки и налога: их передают отдельными параметрами.currencyобязателен, когда естьvalue, иначе выручка посчитается неточно.transaction_id- номер заказа из вашей системы. GA4 убирает дублиpurchaseс одинаковым номером, но только в веб-потоке. Номер нужен свой у каждого заказа: пустая строка или один номер на все заказы склеят разные покупки в одну.- Возврат передают событием
refundс тем жеtransaction_id(схема ecommerce).
Когда нужен экспорт в BigQuery
Когда события нужно связать с оплатами из CRM или посчитать что-то, чего нет в отчётах, подключают экспорт в BigQuery. Он есть и в бесплатном ресурсе, дневная выгрузка там ограничена миллионом событий. В BigQuery лежат сырые события без той обработки, которую GA4 делает для отчётов, и цифры с интерфейсом могут не совпасть. Выгрузка начинается с момента подключения, данные приходят в течение суток.
Посмотреть на данные можно в бесплатной песочнице BigQuery, но таблицы в ней удаляются через 60 дней. Если клиент собирается считать окупаемость по оплатам, к проекту с первого дня подключают платёжный аккаунт (billing account) и включают экспорт, иначе к моменту расчёта первые месяцы уже пропадут. Сама связка событий с оплатами строится поверх этой выгрузки.
Задание: свой GA4 и вопрос про 30 заявок
Сделайте тестовый сайт с формой: конструктор или одна HTML-страница.
Теперь вопрос, который вам зададут на первом же проекте. Через месяц клиент присылает скриншот GA4, где 30 generate_lead, и пишет в отчёт для руководителя: «30 новых покупателей». Что вы ему ответите?
30 событий - это 30 срабатываний тега. Среди них могут быть повторные отправки одной формы, тесты коллег и люди, которые потом не взяли трубку. При методе подсчёта «Один раз на событие», который Google рекомендует, две отправки формы за один сеанс дадут два ключевых события (метод подсчёта). Покупателей покажет только CRM, где у заявки есть статус оплаты. В отчёт лучше написать: «30 заявок по GA4, из них оплатили столько-то по данным CRM». А чтобы GA4 сам видел эту разницу, статусы из CRM потом передают обратно, событиями qualify_lead и purchase.
Видео: обзор GA4
Видео на английском, для первого знакомства с интерфейсом.