Главная » Интеграции » Google Analytics 4 на сайте Битрикс

Google Analytics 4 на сайте Битрикс

Схема передачи события purchase электронной коммерции GA4 при оформлении заказа в 1С-Битрикс

Google Analytics 4 работает принципиально иначе, чем привычная Universal Analytics, — модель событий вместо сессий и просмотров требует другого подхода к настройке электронной коммерции. Разберём, как подключить GA4 к сайту на 1С-Битрикс и настроить отслеживание покупок корректно.

Установка базового кода отслеживания

Код GA4 подключается либо напрямую в шаблон сайта через файл header.php, либо, что предпочтительнее для гибкости дальнейшей настройки, через Google Tag Manager, установленный на сайте однократно, — второй вариант позволяет управлять дальнейшими тегами и событиями без правки кода шаблона при каждом изменении аналитики.

События электронной коммерции: другая модель, чем в UA

GA4 использует стандартизированный набор событий электронной коммерции — view_item, add_to_cart, begin_checkout, purchase — с определённой структурой параметров для каждого. Прямой перенос кода настройки из старой Universal Analytics не работает: структура данных и логика передачи товаров в событие в GA4 отличаются, что делает простое копирование кода со старых инструкций источником ошибок трекинга.

Нужна помощь с Битрикс?





    Передача события purchase при оформлении заказа

    <script>
    gtag('event', 'purchase', {
        transaction_id: 'getId() ?>',
        value: getPrice() ?>,
        currency: 'RUB',
        items: [
            getBasket() as $item): ?>
            {
                item_id: 'getProductId() ?>',
                item_name: 'getField('NAME')) ?>',
                price: getPrice() ?>,
                quantity: getQuantity() ?>
            },
            
        ]
    });
    </script>

    Событие purchase должно срабатывать ровно один раз на странице подтверждения заказа — повторное срабатывание при обновлении страницы покупателем (например, случайном F5) задваивает данные о выручке в отчётах, если страница подтверждения не защищена от повторной генерации события при перезагрузке.

    Защита от повторной отправки purchase

    <?php
    // проверка, что событие для этого заказа ещё не отправлялось
    if (!$order->getField('UF_GA4_SENT')) {
        // вывод скрипта события purchase
        $order->setField('UF_GA4_SENT', 'Y');
        $order->save();
    }

    Флаг на стороне сервера, отмечающий факт отправки события для конкретного заказа, надёжнее, чем расчёт только на клиентские механизмы вроде проверки через sessionStorage, — серверная проверка работает независимо от того, как именно пользователь повторно оказался на странице подтверждения.

    Подключение через Google Tag Manager вместо прямого кода

    Настройка через GTM позволяет передавать данные заказа через dataLayer, а не через прямой вызов gtag() в шаблоне, — это отделяет логику формирования данных (на стороне сайта) от логики их отправки в конкретную систему аналитики (настраивается в GTM), что удобно, если позже потребуется подключить ещё одну систему аналитики без повторной правки шаблона.

    Настройка целей и конверсий в интерфейсе GA4

    Событие purchase автоматически считается ключевым событием конверсии в стандартной настройке электронной коммерции GA4 — но другие важные для бизнеса события (отправка заявки, звонок через виджет) нужно явно пометить как ключевые в интерфейсе GA4, иначе они останутся простыми событиями без отражения в отчётах по конверсиям.

    Для проектов, ориентированных в том числе на европейскую аудиторию, GA4 требует настройки Consent Mode — трекинг должен учитывать согласие пользователя на использование cookie аналитики, полученное через баннер согласия, а не собирать данные безусловно для всех посетителей независимо от их выбора.

    Частые ошибки

    • Код настройки скопирован из инструкций для старой Universal Analytics. Структура событий электронной коммерции в GA4 другая.
    • Событие purchase не защищено от повторной отправки. Обновление страницы подтверждения задваивает данные о выручке.
    • Дополнительные важные события не помечены как ключевые в GA4. Не попадают в отчёты по конверсиям без явной настройки.

    Итог

    Настройка GA4 для интернет-магазина на 1С-Битрикс требует передачи событий электронной коммерции в формате, специфичном для GA4, а не переноса кода из инструкций для устаревшей Universal Analytics. Отдельного внимания требует защита события purchase от повторного срабатывания при обновлении страницы подтверждения заказа, иначе отчёты по выручке систематически завышаются.

    Нужна помощь с Битрикс?

    Исправим ошибку, доработаем сайт, ускорим Битрикс или поможем разобраться с проблемой.

    Услуги
    Инструменты
    База знаний