Без категорії
Кейс: аудит и настройка ecommerce в Google Analytics 4 (GA4) для сервиса продажи билетов
В этой статье мы задокументируем аудит модуля ecommerce в Google Analytics 4, который мы провели для одного из наших клиентов. Цель этой статьи — представить пример и объем работ, связанных с аудитом и настройкой GA4 для кастомных сервисов и интернет-магазинов.
Зачем отслеживать дополнительные данные в Google Analytics?
Основная цель отслеживания этих данных — дальнейший анализ рекламных каналов, зафиксированных в Google Analytics. Например, это помогает сравнивать эффективность рекламы Google Ads и Instagram. Настройка модуля ecommerce в GA4 не только позволяет нам сравнивать стоимость лидов по каналам, но и собирать данные о доходах от этих каналов для сравнения эффективности.
Результаты аудита и формат
Аудит конверсий и технические требования для настройки модуля ecommerce в GA4 задокументированы в Google Doc.
Вводная информация
Этот документ содержит анализ текущего состояния веб-аналитики, в частности данных о конверсиях. Он также описывает технические требования для дополнительной конфигурации.
Информация о проекте Веб-сайт – [project website]
Технологии веб-сайта
- Frontend: React.js, Next.js
- Backend: FastAPI (Python 3.11)
- База данных: PostgreSQL
- Тип API: REST
- Облако: DigitalOcean Apps, Spaces (S3)
- Контроль версий: GitHub
- CI/CD: GitHub Actions
- Unit-тесты (Backend): Pytest
- Контейнеризация: Docker Compose
Инструменты веб-аналитики
- ID свойства Google Analytics 4: 398895458
- ID потока данных GA4: 1265998177
- Measurement ID GA4: G-FCS3V6HH2L
- ID контейнера Google Tag Manager: GTM-HHLSGH5B
Обзор кода веб-аналитики
Размещение кодов аналитики Основные и дополнительные фрагменты кода GTM в целом реализованы корректно. Код включает несколько кастомизаций и дополнительных настроек. Также встроены коды GA4 и DataLayer, наряду с различными другими скриптами, некоторые из которых реализованы некорректно.
Обзор системы веб-аналитики
Обзор Google Tag Manager Контейнер GTM в целом настроен корректно.
Отслеживание ключевых действий GTM настроен для отслеживания значимых действий пользователей и передачи их в GA4.
Отслеживание конверсий В GTM и исходном коде сайта существуют настройки отслеживания конверсий для продажи билетов. Однако, как покажет аудит, отслеживание некорректно.
Тестирование конверсий Аудит и дальнейшая настройка были вызваны предположением, что GA4 корректно отслеживает покупки билетов — как мгновенные онлайн-платежи, так и бронирования с оплатой водителю. Однако анализ показал, что отслеживание конверсий имеет несколько существенных ошибок.
Тестовые покупки Мы провели тесты регистрации билетов, используя следующие данные:
- Имя: TEST
- Фамилия: TESTOVICH
- Телефон: повторяющийся шаблон цифр
- Email: [email protected]
Результаты тестирования 21.05.2024 мы провели несколько тестовых покупок с опцией «оплата водителю». Аналитика успешно зафиксировала конверсии, но общая стоимость конверсии отразила только последнюю транзакцию.
Анализ статистики конверсий
Обзор таблицы продаж Мы проанализировали текущий файл статистики заказов, который показывает:
- Апрель и начало мая 2024 г.: только 15–18% пользователей оплатили онлайн, что составило ~12–13% выручки.
- 82–85% предпочли оплату водителю, что составило ~86% от общей выручки за билеты.
Анализ отчетов ecommerce в GA4 Отчеты ecommerce в GA4 неточно отражают все данные о продажах. Доступны примеры фрагментов сводных отчетов, но записываются только частичные данные.
Сравнение таблицы и отчета Мы сравнили таблицу продаж билетов и отчет GA4 за период с 01.04.2024 по 21.05.2024:
- Апрель: 223 продажи всего (35 онлайн, 188 водитель); выручка = 636 553 грн (86 795 грн онлайн, 549 758 грн офлайн).
- Отчет GA4: 237 продаж, общая выручка 468 489 грн.
- 1–21 мая: 210 продаж (37 онлайн, 173 водитель); выручка = 590 055 грн (78 709 грн онлайн, 511 346 грн офлайн).
- Отчет GA4: 183 продажи, общая выручка 143 177 грн.
Расхождения существенны и требуют дальнейшего изучения.
Систематизация отслеживания конверсий
Общая информация
Поскольку проведенный анализ выявил существенные ошибки в отслеживании конверсий, имеет смысл не только выявить и локально исправить эти ошибки, но и провести более комплексную систематизацию отслеживания ecommerce-событий на сайте.
Билеты как товары
В рамках данного проекта целесообразно рассматривать билеты как отдельные товары, отличающиеся городом отправления и городом назначения.
Это позволит в будущем строить информативные отчеты на основе комбинаций городов отправления и назначения.
Билеты как пары товаров
Другой, несколько специфический, но интересный подход — фиксировать просмотр или покупку билета как комбинацию двух товаров — города отправления и города назначения.
В этом случае в будущем можно будет генерировать более удобные и информативные отчеты об экономической популярности конкретных городов.
Категории товаров
На верхнем уровне в качестве категории товара можно фиксировать страну.
Иерархия категорий товаров
Потенциальная структура может включать четыре уровня вложенных категорий каталога товаров:
- Первый уровень – страна отправления
- Второй уровень – страна назначения
- Третий уровень – город отправления
- Четвертый уровень – город назначения
Такая структура также позволит строить высокоинформативные отчеты по городам и странам.
Бренды
Название перевозчика можно отслеживать в системе веб-аналитики как бренд товара. Это позволит в будущем строить отчеты по различным перевозчикам.
Параметры товара
Дополнительная информация из товаров должна фиксироваться в системе веб-аналитики как параметры товара.
В частности, очень важным параметром является дата и время отправления купленного билета.
Другие параметры покупки включают имя и телефон пассажира.
Параметры транзакции
Дата и время покупки будут автоматически фиксироваться как параметры транзакции.
Еще одним ключевым параметром транзакции является выбранный способ оплаты.
Также возможна генерация и фиксация уникальных идентификаторов транзакций на уровне движка сайта в системе аналитики.
Ценность конверсии
На данном этапе настройки веб-аналитики ценностью конверсии может быть зафиксирована общая стоимость купленных или забронированных билетов.
Соответственно, ценностью продажи товара является цена, зафиксированная с учетом возможных скидок и льгот для определенных маршрутов или перевозчиков.
Отслеживание конверсий
Основным событием, которое должно отслеживаться, является завершенная конверсия — покупка одного или нескольких билетов.
Отслеживание просмотров товаров
Помимо конверсий и продаж товаров, мы также можем отслеживать просмотры товаров.
В частности, когда пользователь выбирает город отправления и город назначения в форме, это может быть зафиксировано как просмотр товара.
Отслеживание добавления в корзину
Нажатие на кнопку «Купить» может быть зафиксировано как действие «добавление в корзину».
В будущем это может позволить проводить ремаркетинг брошенных корзин.
Отслеживание этапов оформления заказа
Мы можем отслеживать прогресс пользователей на отдельных этапах оформления заказа.
В частности:
- Первый этап — ввод персональных данных.
- Затем — выбор вариантов оплаты.
- Затем — оплата через эквайринг.
- И наконец — подтверждение и доставка билета в электронном виде.
Отслеживание этих этапов поможет убедиться, что пользователи корректно проходят каждый этап и доходят до финальной страницы доставки билета.
Тестирование показывает наличие некоторых проблем, но только отслеживание в реальном времени, сбор данных и дальнейший анализ позволят понять, как часто они встречаются у реальных пользователей.
Отслеживание отмен
Фактическая посадка и процент оплаты водителю могут быть значительно ниже единицы. Они также могут сильно варьироваться в зависимости от городов, рекламных каналов и периодов времени.
Для мониторинга этого показателя и исключения заведомо некорректных транзакций целесообразно внедрить отслеживание отмен.
Это может быть реализовано как возврат товаров. Однако для этого требуется не только настройка сайта, но и базовая CRM-система для обработки заказов.
По сути, это первый шаг к сквозной аналитике маркетинга и продаж.
Отслеживание прибыли
Вторым шагом к сквозной аналитике является отслеживание не только объема продаж, но и валовой прибыли от конкретных продаж для компании.
Это позволит отслеживать и оптимизировать ROI сегментов платного трафика по кампаниям, группам объявлений, креативам, аудиториям и другим параметрам.
Технические задачи по подготовке Data Layer
Общая информация
В этом разделе описаны технические задачи, которые необходимо реализовать на стороне движка сайта.
Они касаются настройки специальной JavaScript-переменной под названием Data Layer.
На различных страницах и при различных условиях в эту переменную необходимо отправлять значения различных параметров. Эти значения должны быть извлечены из кода движка сайта.
Ниже параметры, которые должны быть заменены реальными значениями, указаны в угловых скобках (<>). Как скобки, так и содержимое внутри них должны быть заменены реальными значениями.
Внимание! Очень важно сохранять окружающие двойные кавычки (“”) в начале и конце значений, если они указаны в шаблонах и примерах кода.
Существующий код
Некоторые блоки кода, аналогичные приведенным ниже, ранее были добавлены в некоторые разделы сайта.
Они предназначались для отслеживания продаж. Однако, как указано ранее в этом документе, они содержат существенные ограничения и даже ошибки.
Поэтому, пожалуйста, задокументируйте расположение этих блоков кода. Также мы рекомендуем сохранить текущую версию сайта перед внесением каких-либо изменений.
После этого, при внедрении кодов, показанных ниже, пожалуйста, удалите или очень тщательно обновите существующий код, чтобы он точно соответствовал новой структуре.
Просмотр билетов по паре городов
Условия выполнения кода:
Этот код должен срабатывать при загрузке страницы, когда отображаются доступные или недоступные маршруты для выбранной пары городов отправления и назначения — то есть в процессе загрузки страницы с доступными маршрутами.
Шаблон страницы:
URL этих страниц начинается с [site URL] и далее содержит названия и коды городов отправления и назначения.
Код для размещения и срабатывания:

Пример назначения соответствующих значений параметров:

Выбор конкретного билета
Условия размещения и срабатывания кода:
Этот код должен срабатывать после нажатия на кнопку «Выбрать билет», когда пользователь выбрал дату и конкретный маршрут на эту дату.
Шаблон страницы:
Те же страницы, что описаны в предыдущем разделе.
Код для срабатывания:

Пример назначения соответствующих значений параметров:

Начало оформления билета
Условия размещения и срабатывания кода:
Этот код должен срабатывать при открытии страницы «Оформление билета».
Шаблон страницы:
URL этих страниц начинается с [site URL] и включает хэш-код выбранного маршрута.
Код для срабатывания:

Пример назначения соответствующих значений параметров:

Добавление пассажира
Условия размещения и срабатывания кода:
Этот код должен срабатывать на странице «Оформление билета» после каждого нажатия на кнопку «Добавить пассажира».
Внимание! Он должен срабатывать после каждого нажатия.
Шаблон страницы:
Та же страница, что и в предыдущем разделе.
Код для срабатывания:

Пример назначения соответствующих значений параметров:

Переход к параметрам оплаты
Условия размещения и срабатывания кода:
Этот код должен срабатывать на странице «Оформление билета» после каждого нажатия на кнопку «Далее», но только в том случае, если все необходимые данные заполнены и пользователь переходит на страницу параметров оплаты.
Внимание! Если какие-либо необходимые данные отсутствуют, этот код не должен выполняться.
Шаблон страницы:
Та же страница, что и в предыдущем разделе.
Код для срабатывания:


Пример корректного заполнения значений параметров:

Выбранная оплата на борту
Условия размещения и срабатывания кода:
Этот код должен срабатывать на втором этапе процесса «Бронирование билета», а именно после нажатия на кнопку «Оплата на борту».
Внимание! Этот код должен выполняться только в том случае, если пройдены все валидации, в частности, если установлен флажок «Я согласен с…».
Шаблон страницы:
URL этой страницы соответствует шаблону.
Код для выполнения:

Пример заполнения значений параметров:

Выбранная онлайн-оплата
Условия размещения и активации кода:
Этот код должен активироваться на втором этапе «Покупки билета», а именно после нажатия на кнопку «Онлайн-оплата».
Внимание! Этот код должен выполняться только в том случае, если все проверки пройдены, в частности, если выбран флажок «Я согласен с…».
Шаблон страницы:
Такой же, как и в предыдущем пункте.
Код для инициации:

Пример заполнения значений параметров:

Билеты проданы!
Условия размещения и активации кода:
Этот код должен активироваться при загрузке финальной страницы «Готово!», подтверждающей успешное бронирование и оплату билета, если этот вариант выбран.
Шаблон страницы:
Адрес этих страниц начинается с [website URL] и далее содержит код транзакции.
Код для инициации выполнения:

Пример заполнения значений параметров:

P.S. Если у вас возникнут вопросы по данному техническому заданию и аудиту, вы можете подать заявку на консультацию на сайте нашего агентства – https://spilnoagency.com.ua/
Часто задаваемые вопросы
Как я могу узнать больше по этой теме?
Мы рекомендуем изучить другие статьи в нашем блоге и официальную документацию. Наш контент регулярно обновляется, чтобы отражать последние изменения в 2025 году.
Могу ли я получить консультацию?
Да, вы можете связаться с нашей командой для бесплатной консультации через контактную форму на нашем сайте. Мы поможем вам найти лучшее решение для ваших бизнес-потребностей.
Существуют ли бесплатные инструменты?
Большинство инструментов, описанных в этой статье, предлагают бесплатные тарифы или пробные версии. Подробную информацию вы найдете в разделе цен статьи.