GA4
Сеансы, пользователи, события generate_lead.
В первой части темы 10 мы разбирали отчёты и исследования GA4: источники, кампании, события, воронку и пути. По ним видно, как посетители приходят на сайт и что на нём делают.
Реальные заявки GA4 при этом не хранит. Их записывает форма в Google Таблицу leads из темы 7. Чтобы видеть посещения и заявки вместе, нужен отчёт, который читает оба источника.
Сеансы, пользователи, события generate_lead.
request_id, дата, источник, кампания, статус заявки.
Для таких отчётов в программе курса был выбран Google Data Studio (до апреля 2026 года он назывался Looker Studio). При подготовке занятия 14.10.2026 оба адреса сервиса открылись из России с ошибкой.
DataLens — сервис Яндекса для отчётов и дашбордов. Он открывается по адресу datalens.ru, вход выполняется через Яндекс ID. Данные DataLens берёт из подключённых источников: Google Таблиц, Яндекс Метрики, файлов и баз данных.
Сейчас, чтобы ответить на вопрос о заявках из Instagram, нужно открыть отчёт GA4, затем таблицу leads и сопоставить числа вручную. Дашборд собирает эти числа на одном экране и пересчитывает их при смене периода или источника.
По дашборду по порядку отвечают на четыре вопроса:
Дашборд в этой теме состоит из трёх вкладок. Первые две показывают по одному источнику, третья сопоставляет их по паре полей source и campaign.
Данные GA4: сеансы, пользователи, generate_lead, источники, устройства.
Данные листа leads: сколько заявок и в каком они статусе.
Числа GA4 и заявок в одной строке для каждой пары source + campaign.
Данные проходят четыре этапа. GA4 выгружает исследование в Google Таблицу, таблица заявок уже существует, а DataLens читает обе таблицы и строит по ним отчёт.
Работа в DataLens идёт с пятью видами объектов. Каждый следующий строится на предыдущем, поэтому создаются они в таком же порядке.
Доступ к источнику: какие таблицы и листы читать.
Набор полей из подключения: типы, формулы, скрытые поля.
Одна визуализация: индикатор, график, таблица.
Страница из чартов и селекторов, можно с вкладками.
Папка, в которой лежат все объекты одного проекта.
Чаще всего путают подключение и датасет. Подключение отвечает только за доступ к таблице. Датасет описывает поля: какого они типа, как их складывать и какие формулы на них построены.
| Объект | Что хранит | Пример |
|---|---|---|
| Подключение | Ссылки на таблицы и доступ к ним | Google Sheets — заявки и GA4 |
| Датасет | Поля, их типы и формулы | Заявки: Lead Count, Done Count |
| Чарт | Какие поля и как показать | Индикатор Actual Leads |
GA4 выгружает исследование «Свободная форма» в Google Таблицу. Выгружаем две таблицы с разной детализацией: трафик по дням и устройствам и события generate_lead по дням.
| Лист | Одна строка | Числа |
|---|---|---|
| ga4_traffic | день × источник × кампания × устройство | Сеансы, активные пользователи |
| ga4_leads | день × источник × кампания | События generate_lead |
Выгрузка начинается в разделе «Исследования» ресурса Tvuya Sreda Website из прошлых тем.
Шаблон открывается с готовыми полями: «Город» в строках и «Тип устройства» в столбцах. Эти поля уберём и соберём свои.
По названию исследование находится, когда выгрузку понадобится повторить.
Параметры — это поля, по которым GA4 делит данные на строки. Первой добавляем дату: по ней на дашборде будет работать выбор периода.
В том же окне отметьте «Источник сеанса». В этом поле записан источник визита: instagram, (direct) и другие.
Кампания в русском интерфейсе GA4 называется «Кампания, связанная с сеансом». Отметьте её и закройте окно кнопкой «Подтвердить».
Показатели — это числа, которые GA4 считает для каждой строки. В шаблоне уже есть «Активные пользователи» и «Количество событий», добавить нужно «Сеансы».
Таблица собирается в панели «Настройки». Поля шаблона удаляем, а свои добавляем в строки в нужном порядке.
По умолчанию таблица показывает 10 строк, и в выгрузку попадут только они. Число строк увеличиваем до 500.
Каждая строка таблицы — один день, один источник, одна кампания и одно устройство. В строке «Всего» GA4 считает уникальных пользователей за весь период, поэтому это число не равно сумме строк.
Кнопка экспорта находится справа над таблицей исследования. Выгружается только открытая вкладка.
После выбора в браузере открывается новая вкладка Google Таблиц. Кнопка «Импортировать данные» создаёт новую таблицу на вашем Google Диске.
В таком виде выгрузку нельзя подключать к DataLens. Сверху GA4 добавил 6 строк с названием ресурса и периодом, а под заголовками — строку «Общий итог».
DataLens считает каждую строку записью. Строку «Общий итог» он сложит с остальными, и сумма сеансов удвоится.
Сначала удаляем строку итога: пока служебные строки на месте, она восьмая.
Затем удаляем строки с названием ресурса и периодом.
Заголовки GA4 длинные и на русском языке. Заменяем их короткими латинскими именами; источник и кампанию называем так же, как в листе leads: utm_source и utm_campaign.
date utm_source utm_campaign device active_users sessionsТаблицу называем «GA4 для DataLens», лист — ga4_traffic. По этим названиям таблица находится в DataLens при подключении.
События generate_lead выгружаем отдельной таблицей. Если отфильтровать по событию вкладку трафика, в ней останутся только сеансы с этим событием, и общее число сеансов будет неверным.
Фильтр добавляется только на вкладку-копию. Вкладка трафика остаётся без фильтра.
Во вкладке-копии осталось шесть строк: дни, в которые хотя бы раз сработало событие generate_lead.
Вторую вкладку выгружаем тем же способом и переносим её строки на новый лист ga4_leads в таблице «GA4 для DataLens». Служебные строки и итог удаляем так же, как на первом листе.
До работы в DataLens записываем числа из исходных систем. После сборки дашборда каждый показатель сверяется с этой таблицей, а расхождение объясняется.
| Где | Что | Число |
|---|---|---|
| GA4, 16.09–13.10 | Сеансы | 90 |
| GA4, 16.09–13.10 | Активные пользователи (уникальные) | 60 |
| GA4, 16.09–13.10 | События generate_lead | 11 |
| Лист leads, на 14.10 | Заявки (уникальные request_id) | 7 |
| Лист leads | new / in_progress / done | 5 / 1 / 1 |
Данные подготовлены, дальше работа идёт в DataLens.
DataLens работает внутри организации Yandex Cloud. Выберите свою организацию или создайте новую и нажмите «Продолжить».
На главной странице четыре раздела: Подключения, Датасеты, Чарты и Дашборды. Работа начинается с подключения.
Тип подключения выбирается из списка источников. Google Sheets находится в разделе «Файлы и сервисы».
Таблицы курса открыты только владельцу. Такую таблицу DataLens прочитает после входа в аккаунт Google, где она лежит. Нажмите «Войти через Google».
Google показывает, какие права получит DataLens. В запросе только просмотр таблиц Google, права на изменение в нём нет.
После входа рядом с названием подключения появляется надпись «Аутентификация пройдена». Теперь таблицы добавляются кнопкой «Добавить файл».
Первой добавляем таблицу с заявками. Вставьте ссылку на таблицу «GA4 Analytics Lab — Leads» и нажмите «Добавить».
DataLens показывает все листы таблицы. Отметьте только leads; лист sverka_t10 из темы 10 для дашборда не нужен.
В предпросмотре видно, какой тип DataLens присвоил каждому столбцу. У created_at стоит значок календаря: это поле распознано как дата и время.
Вторая таблица — выгрузка GA4. Добавьте её по ссылке через «Добавить файл» и отметьте оба листа: ga4_traffic и ga4_leads.
У листов GA4 переключатель «Показывать заголовки столбцов» стоит в положении «Нет». Столбцы получили имена A, B, C, а строка заголовков попала в данные.
Переключите «Показывать заголовки столбцов» на «Да», затем сделайте то же для листа ga4_leads.
При сохранении DataLens просит выбрать воркбук — папку, где будут лежать все объекты проекта. Создайте его кнопкой «Создать воркбук» с названием «ОП03 Маркетинг и заявки».
Выберите созданный воркбук, нажмите «Создать» и задайте название подключения: «Google Sheets — заявки и GA4».
В подключении три листа: leads, ga4_traffic и ga4_leads. Следующий шаг — датасеты, их создаёт кнопка «Создать датасет».
Для каждого листа создаётся свой датасет. В нём настраиваются типы полей и добавляются формулы, которые понадобятся в чартах.
| Датасет | Лист | Что настроить |
|---|---|---|
| GA4 трафик | ga4_traffic | Числовые типы, дату из текста, поля source и campaign |
| GA4 generate_lead | ga4_leads | То же для событий |
| Заявки | leads | Скрыть name и email, добавить Lead Count и Done Count |
Кнопка «Создать датасет» в подключении открывает редактор датасета. Слева перечислены листы подключения, справа — пустая область.
Перетащите лист ga4_traffic в правую область. Внизу появится предпросмотр строк.
На вкладке «Поля» все шесть полей имеют тип «Строка» и агрегацию «Нет». Строки текста DataLens не складывает, поэтому сумма сеансов пока не посчитается.
Тип поля меняется в колонке «Тип». Для sessions выбираем «Целое число».
Агрегация задаёт, как DataLens объединяет строки в чарте. Для сеансов и пользователей нужна сумма.
То же делаем для active_users.
В поле date записано 20261007 — восемь цифр подряд. Для DataLens это текст, а выбор периода работает только с полем типа «Дата». Поэтому нужно отдельное поле с датой.
Первая попытка — собрать дату из частей текста функциями LEFT, MID и RIGHT — не прошла проверку датасета.
Функция DATE_PARSE разбирает текст с датой и возвращает значение типа «Дата». Формат ГГГГММДД она разбирает без дополнительных настроек.
DATE_PARSE([date])Чтобы сопоставить визиты и заявки, значения источника и кампании должны совпадать посимвольно. Для прямых заходов GA4 и форма записывают их по-разному.
| Визит | В GA4 | В листе leads |
|---|---|---|
| Прямой заход: источник | (direct) | direct |
| Прямой заход: кампания | (direct) | not_set |
| Визит без кампании | (not set) | not_set |
| instagram / backend_guide | instagram / backend_guide |
Поле source оставляет источник без изменений, кроме одного случая: значение (direct) заменяется на direct, как в форме.
IF([utm_source] = "(direct)", "direct", [utm_source])В поле campaign значения (direct) и (not set) заменяются на not_set.
IF([utm_campaign] = "(direct)" OR [utm_campaign] = "(not set)", "not_set", [utm_campaign])В предпросмотре прямые заходы теперь записаны так же, как в листе leads.
Второй датасет строится из листа ga4_leads тем же способом. Поля Дата, source и campaign называем точно так же, как в «GA4 трафик»: по одинаковым именам DataLens свяжет датасеты в сводной таблице.
Третий датасет — из листа leads. Поле created_at уже имеет тип «Дата и время», остальные поля строковые.
Для анализа заявок достаточно request_id, даты, источника, кампании и статуса. Имена и почты на дашборде не нужны, поэтому эти поля скрываем.
Число заявок считается по уникальным request_id: у каждой заявки свой номер. Функция COUNTD возвращает число разных значений поля.
COUNTD([request_id])Если форма запишет одну заявку дважды, в листе станет на строку больше, а request_id у обеих строк будет одинаковым. COUNTD посчитает такую заявку один раз.
строк = 8
уникальных request_id = 7Done Count считает уникальные request_id только у заявок со статусом done. Условие записано внутри формулы, поэтому статус не нужно добавлять в разрезы чарта.
COUNTD(IF([status] = "done", [request_id], NULL))Если все заявки в листе в статусе new, карточки «В обработке» и Done покажут ноль, и их работу проверить не получится. Поэтому двум тестовым заявкам статус меняется вручную.
В датасет добавлены пять полей. Дата, source и campaign названы так же, как в датасетах GA4.
Чарты первой вкладки строятся по датасету «GA4 трафик». Кнопка «Создать чарт» открывает редактор: слева поля датасета, измерения отмечены зелёным, показатели — синим.
Список типов открывается щелчком по названию текущего типа «Столбчатая диаграмма». Для одного числа подходит тип «Индикатор».
Перетащите sessions в секцию «Показатель». Индикатор показывает сумму сеансов по всем строкам.
В GA4 в строке «Всего» было 90 сеансов, а индикатор показывает 92. Индикатор складывает строки по дням и устройствам. Сеанс, который начался до полуночи и закончился после неё, GA4 записывает в обе даты, и при сложении строк такой сеанс учитывается дважды.
Вместо технического имени sessions на индикаторе должно стоять понятное название.
Чарт сохраняется в воркбук под тем названием, которое потом будет видно на дашборде.
Второй индикатор строится так же по полю active_users. В подписи указываем, что это сумма по дням: «Активные пользователи (сумма по дням)».
Если один человек заходил на сайт в понедельник и в среду, в выгрузке он записан двумя строками, по одному пользователю в каждой. В сумме строк он учтён дважды. Число уникальных пользователей за период есть только в отчёте GA4.
GA4 «Всего»: 60
сумма строк: 70Третий индикатор строится по датасету «GA4 generate_lead»: поле lead_events в секции «Показатель», подпись «GA4 Lead Events (generate_lead)».
Индикатор показывает итог за период, а график по дням показывает, как трафик менялся. Выберите тип «Линейная диаграмма» и перетащите «Дата» в секцию X.
В секцию Y добавляются sessions и active_users. Каждое поле даёт свою линию.
Таблица показывает, из каких источников и кампаний пришли сеансы. Тип «Таблица», в секцию «Столбцы» добавляются source, campaign, sessions и active_users.
Доля сеансов с компьютеров и телефонов показана круговой диаграммой: device в секции «Цвет», sessions в секциях «Показатели» и «Подписи».
Чарты второй вкладки строятся по датасету «Заявки». В списке полей нет name и email: они скрыты в датасете. Индикатор с полем Lead Count подписываем «Actual Leads».
Карточка «Новые» — тот же индикатор с фильтром по статусу new.
Кнопка «Сохранить» перезапишет чарт Actual Leads. Новую карточку сохраняем отдельным чартом через меню рядом с кнопкой.
Карточка «В обработке» делается из копии «Новых». В фильтре status сначала убирается значение new кнопкой «Очистить», затем выбирается in_progress.
Переименуйте показатель и сохраните копию под названием «В обработке».
Для заявок со статусом done фильтр не нужен: условие уже записано в поле Done Count. Индикатор с этим полем подписываем «Done».
Столбчатая диаграмма показывает распределение заявок по статусам: status в секции X, Lead Count в секциях Y и «Подписи».
Таблица с полями source, campaign, Lead Count и Done Count показывает, из каких кампаний пришли заявки и сколько из них завершено.
Динамика заявок строится по полю «Дата» из created_at. Заявок за период мало, поэтому столбцы читаются лучше линии: «Дата» в секции X, Lead Count в секции Y.
На двух вкладках уже есть числа по паре instagram / backend_guide, но они находятся в разных чартах. Третья вкладка ставит их в одну строку.
instagram / backend_guide: 29 сеансов, 1 generate_lead.
instagram / backend_guide: 2 заявки, Done 0.
Строки разных источников сопоставляются по ключу. Одного источника недостаточно: у instagram может быть несколько кампаний, и тогда заявки разных кампаний смешаются. Поэтому ключ состоит из двух полей.
GA4 трафик.source = Заявки.source
GA4 трафик.campaign = Заявки.campaignВ DataLens данные двух таблиц соединяются либо в датасете, либо в чарте. Результаты у этих способов разные.
Строки соединяются до подсчёта. Если на одну строку трафика приходится две заявки, строка трафика повторится дважды, и её сеансы посчитаются два раза.
Каждый датасет сначала считает свои итоги по ключу, затем итоги ставятся рядом по связям. Сеансы не повторяются.
Модель показывает, что происходит при JOIN строк. Выберите ключи и детализацию правой таблицы и сравните сумму сеансов до и после соединения.
Условный набор: три кампании Instagram; слева 180 сеансов. Выберите ключи и детализацию справа.
Сводная таблица начинается как обычный чарт из «GA4 трафик» с типом «Таблица». Остальные датасеты добавляются в него через меню датасетов.
После выбора «Заявки» у полей с одинаковыми именами появляется значок цепочки. Так DataLens отмечает связь между датасетами.
Так же добавляется «GA4 generate_lead».
Связи DataLens создал автоматически по всем полям с одинаковыми именами. Среди них есть utm_source, utm_campaign и date — исходные поля, в которых GA4 пишет (direct). Связи по ним сопоставят строки неверно.
Связь удаляется в её окне кнопкой «Удалить». Удалите все связи по utm_source, utm_campaign и date.
После удаления остаются связи только по подготовленным полям.
Поля добавляются в секцию «Столбцы» кнопкой «+». Датасет, из которого берётся поле, выбирается в списке слева.
Сеансы в сводной таблице совпадают с вкладкой Web Analytics: direct 52, instagram 29. Значит, при соединении строки не повторились.
| Источник / кампания | Сеансы | generate_lead | Заявки | Done |
|---|---|---|---|---|
| direct / not_set | 52 | 8 | 4 | 0 |
| instagram / backend_guide | 29 | 1 | 2 | 0 |
| tagassistant / (referral) | 8 | 2 | null | null |
| telegram / lesson07 | null | null | 1 | 1 |
null означает, что в этом датасете нет строк с такой парой. Это отсутствие данных, читать его как ноль нельзя.
DataLens показывает строки из всех датасетов, даже если пары в другом датасете нет. Поэтому заявка без визита в отчёте сохраняется.
Событий generate_lead больше, чем заявок в листе. По каждой паре записывается возможная причина и способ её проверить.
| Пара | generate_lead | Заявки | Возможная причина |
|---|---|---|---|
| direct / not_set | 8 | 4 | События 16.09 отправлены до появления текущей таблицы; повторные отправки формы |
| instagram / backend_guide | 1 | 2 | Заявка от 14.10 появилась после даты выгрузки GA4 (13.10) |
| tagassistant | 2 | — | Тестовые отправки при отладке тега |
| telegram / lesson07 | — | 1 | GA4 записал визит под другим источником |
Выгрузка GA4 заканчивается 13.10, а в листе уже есть заявка от 14.10. Пока периоды разные, сравнение итогов неточное, поэтому перед выводом на дашборде выбирается общий период.
GA4: 16.09–13.10
leads: 24.09–14.10В подписях столбцов указываем, из какого источника взято число.
По сводной таблице считается, сколько заявок приходится на 100 сеансов каждой пары. Это отношение двух сумм. Долю сеансов, закончившихся заявкой, оно не показывает: заявка могла прийти без сеанса в выгрузке.
| Пара | Заявки | Сеансы | Заявок на 100 сеансов |
|---|---|---|---|
| instagram / backend_guide | 2 | 29 | 6,9 |
| direct / not_set | 4 | 52 | 7,7 |
Поля разных датасетов в этом чарте в одну формулу не объединяются, поэтому отношение считается вручную по таблице.
Все созданные объекты лежат в воркбуке: подключение, три датасета и чарты. Здесь же создаётся дашборд.
Дашборд создаётся из меню «Создать» в воркбуке.
Новый дашборд открывается в режиме редактирования. Внизу экрана панель элементов: Чарт, Селектор, Текст, Заголовок. Начинаем с чартов первой вкладки.
Чарт добавляется на дашборд виджетом. Заголовок виджета подставляется из названия чарта.
Так же добавляются остальные чарты первой вкладки: Активные пользователи, GA4 Lead Events, Динамика трафика, Источники и кампании, Устройства. DataLens ставит их друг под другом, раскладку настраиваем вручную.
Перед раскладкой дашборд сохраняется, чтобы добавленные виджеты не потерялись.
Виджет перемещается за заголовок, а размер меняется за правый нижний угол. Порядок сверху вниз: итоговые числа, затем динамика, затем детали.
Селектор — элемент дашборда, которым зритель задаёт фильтр для связанных виджетов. Первый селектор выбирает период по полю «Дата».
Второй селектор добавляется в ту же группу кнопкой «Добавить»: поле source, тип «Список», «Множественный выбор», заголовок «Источник».
Значок булавки у группы селекторов закрепляет её в верхней части дашборда: при прокрутке селекторы остаются на виду. Растяните группу на всю ширину.
Три части дашборда размещаются на отдельных вкладках.
Селектор фильтрует только связанные с ним виджеты. Связи открываются значком у группы селекторов. Виджеты из датасета «GA4 трафик» связаны автоматически, а у GA4 Lead Events другой датасет, и связь для него «Не определена».
Алиас указывает DataLens, что поля разных датасетов означают одно и то же. Для GA4 Lead Events выберите тип связи «Исходящая»: откроется «Настройка алиасов».
На вкладке «Заявки» тем же способом добавляются чарты: четыре карточки, статусы, кампании и динамика. Селекторы строятся по датасету «Заявки»: Период, Источник, Кампания, Статус.
После сохранения карточки «Новые» и «В обработке» показали 7 — столько же, сколько Actual Leads. Селектор «Статус» связан с этими карточками, и его значение заменяет фильтр по status, заданный в самих чартах. Пока в селекторе ничего не выбрано, фильтр по статусу снят.
Связь этих двух карточек с селектором «Статус» отключается, связи с остальными селекторами остаются.
После отключения связи карточки снова используют собственный фильтр.
Третья вкладка содержит сводную таблицу на всю ширину и текстовый виджет с пояснением, что означает null. Селекторы строятся по датасету «GA4 трафик»: Период, Источник, Кампания.
Проверка выполняется в режиме просмотра, в котором дашборд открывают зрители. Сохраните дашборд и выйдите из редактирования: в этом режиме селекторы работают, а структура не меняется.
Выберите в селекторе «Источник» значение instagram. После выбора должны пересчитаться все виджеты вкладки.
Сеансы изменились на 29, а GA4 Lead Events остался 11. Связь селектора с этим виджетом есть, но алиаса для поля source нет, поэтому фильтр по источнику к нему не применяется.
Алиас добавляется в режиме редактирования в связях виджета GA4 Lead Events.
После добавления алиаса фильтр по источнику применяется ко всем виджетам вкладки.
В календаре селектора «Период» есть готовые диапазоны: 7, 30, 90 и 365 дней. Свой диапазон задаётся щелчками по первой и последней дате.
У instagram все визиты пришлись на октябрь, поэтому числа не изменились. Для direct период 01.10–13.10 даст меньше сеансов, чем весь период выгрузки.
На вкладке «Маркетинг и заявки» выберите кампанию backend_guide. В таблице останется одна строка, числа в ней совпадают с первыми двумя вкладками.
Перед сдачей селекторы очищаются крестиком в поле, и итоговые числа сверяются с контрольными: 92 сеанса, 11 событий, 7 заявок.
Права в DataLens выдаются на воркбук целиком, вместе со всеми чартами, датасетами и подключением. Роль определяет, что человек может сделать.
Открывать дашборд, переключать вкладки и селекторы.
Менять чарты, датасеты и подключение.
Управлять правами на воркбук.
Настройки доступа открываются кнопкой «Поделиться» на дашборде, вкладка «В организации». Сейчас доступ есть только у автора. Приглашения в этой работе не отправляются, настройки только просматриваются.
Вкладка «Публично» открывает дашборд любому человеку в интернете. В отчёте есть данные заявок, поэтому публичная ссылка не создаётся.
Надпись «Аутентификация пройдена» означает, что таблицы читаются через доступ автора к Google. Зрителю дашборда доступ к самой Google Таблице не нужен.
На дашборд выводятся только поля, нужные для анализа: request_id, дата, источник, кампания и статус. Имена и почты в чарты не добавляются, а для практики используются тестовые заявки.
Дашборд показывает состояние: сколько заявок, откуда они пришли и в каком они статусе. Назначить ответственного, записать действие или запланировать следующий шаг в нём нельзя. Для этого используют CRM — систему, в которой ведут каждую заявку.
Сколько заявок, откуда они пришли, в каком статусе.
Кто отвечает за заявку, что уже сделано, какой следующий шаг.
К сдаче готовы пять объектов.
| Объект | Название |
|---|---|
| Таблица выгрузки GA4 | GA4 для DataLens: ga4_traffic, ga4_leads |
| Подключение | Google Sheets — заявки и GA4 |
| Датасеты | GA4 трафик, GA4 generate_lead, Заявки |
| Дашборд | Маркетинг и заявки: три вкладки |
| Файлы | dashboard-spec.md, reconciliation.csv |
Скриншоты подтверждают ключевые настройки.
По готовому дашборду ответьте на вопросы и подкрепите ответы числами.
Вопросы по механизмам, разобранным в теме.
В теме данные GA4 и таблицы заявок собраны в одном дашборде: от визита на сайт до статуса заявки.