GA4 на 1С-Битрикс: настройка целей и событий

Как настроить цели и события GA4 на 1С-Битрикс Стандартные компоненты 1С-Битрикс не генерируют события для GA4. Даже последние версии фреймворка не отправляют `purchase` или `add_to_cart` в [dataLayer](https://developers.google.com/analytics/devguides/collection/ga4/ecommerce) — это приходится ре
Услуги, которые мы предлагаем
Показано 1 из 1Все 1626 услуг
GA4 на 1С-Битрикс: настройка целей и событий
Простой
~1 день

Наши компетенции:

Часто задаваемые вопросы

Последние работы

  • image_website-b2b-advance_0.webp
    Разработка сайта компании B2B ADVANCE
    1440
  • image_bitrix-bitrix-24-1c_fixper_448_0.webp
    Разработка веб-сайта для компании ФИКСПЕР
    1013
  • image_bitrix-bitrix-24-1c_development_of_an_online_appointment_booking_widget_for_a_medical_center_594_0.webp
    Разработка на базе Битрикс, Битрикс24, 1С для компании Development of an Online Appointment Booking Widget for a Medical Center
    751
  • image_bitrix-bitrix-24-1c_mirsanbel_458_0.webp
    Разработка на базе 1С Предприятие для компании МИРСАНБЕЛ
    872
  • image_crm_dolbimby_434_0.webp
    Разработка сайта на CRM Битрикс24 для компании DOLBIMBY
    791
  • image_crm_technotorgcomplex_453_0.webp
    Разработка на базе Битрикс24 для компании ТЕХНОТОРГКОМПЛЕКС
    1153

Как настроить цели и события GA4 на 1С-Битрикс

Стандартные компоненты 1С-Битрикс не генерируют события для GA4. Даже последние версии фреймворка не отправляют purchase или add_to_cart в dataLayer — это приходится реализовывать вручную. На одном проекте мы столкнулись с тем, что GTM-контейнер получал только page_view, а все конверсии просто терялись. После аудита выяснилось: в шаблонах sale.order.ajax и catalog.element отсутствовала разметка ecommerce-слоя. Ошибка стоила магазину 40% неотслеженных заказов — это прямая потеря дохода. Далее — как мы это исправили и что нужно знать, чтобы избежать таких проблем.

Проблемы, которые решаем

1. Передача данных о транзакции в GA4. Компонент sale.order.ajax содержит ID заказа, сумму, состав корзины — но эти данные не уходят в Google Analytics. Мы создаём в result_modifier.php или JS-шаблоне массив dataLayer с событием purchase и ecommerce-объектом.

2. Отправка событий из форм обратной связи. В bitrix:main.feedback нет встроенного триггера для GA4. Используем BX.onCustomEvent('onWebFormSuccess', ...) — подписываемся в глобальном скрипте и пушим событие generate_lead.

3. Проблемы с кэшированием. Если в компоненте включено кэширование, разметка dataLayer не выполняется на каждый показ. Решение — использовать тегированное кэширование или передавать данные через $APPLICATION->AddHeadScript.

Как мы это делаем

Стек: 1С-Битрикс (любая редакция), PHP 8.1+, GA4, Google Tag Manager, JavaScript (ES6+). Для каждого проекта адаптируем стандартные компоненты.

Кейс: передача purchase в интернет-магазине с кастомизированным компонентом корзины. Заказчик использовал sale.order.ajax без доработок — ни одно оформление не попадало в GA4. Мы модифицировали шаблон компонента: в файле result_modifier.php добавили PHP-блок, собирающий данные о транзакции и сохраняющий их в глобальную переменную $ecommerceData. Затем в JavaScript-файле шаблона на событие BX.Sale.OrderAjaxComponent.onOrderCreated пушим dataLayer.push с этими данными. После этого в GTM создали триггер на Custom Event purchase и тег-конфигурацию GA4 Event с параметрами из dataLayer. Отладка через GA4 DebugView показала, что все события приходят корректно.

Почему GTM лучше прямого gtag?

GTM даёт гибкость: можно править теги без изменения кода сайта, добавлять триггеры на основе событий dataLayer, использовать переменные. Прямой gtag — жёсткая привязка к коду. На одном проекте мы перенесли 15 событий с gtag на GTM за 2 дня — время разметки сократилось втрое. Это особенно важно для крупных каталогов, где каждая конверсия критична. Согласно документации Google, GTM рекомендуется для сложных схем тегирования.

Как правильно передавать ecommerce-данные в dataLayer?

Недостаточно просто вставить gtag('event', 'purchase', {...}) в PHP-шаблон. Это приводит к смешиванию серверного и клиентского кода. Мы используем единый JavaScript-буфер:

window.dataLayer = window.dataLayer || []; dataLayer.push({ event: 'purchase', ecommerce: { transaction_id: '<?= $arResult['ORDER_ID'] ?>', value: <?= $arResult['PRICE'] ?>, currency: '<?= $arResult['CURRENCY'] ?>', items: <?= CUtil::PhpToJSObject($arResult['BASKET_ITEMS_GA4']) ?> } }); 

Процесс работы

Этапы настройки GA4 на Битриксе
Этап Длительность Результат
Анализ требований 0.5 дня Список конверсий и точек интеграции
Разметка dataLayer 1-3 дня Модифицированные шаблоны компонентов
Настройка GTM 1 день Теги, триггеры, переменные для каждого события
Отладка 1 день Подтверждение корректной отправки через GA4 DebugView
Деплой и инструкция 0.5 дня Рабочий контейнер и документация

Сроки и что входит

Ориентировочные сроки — от 3 до 7 рабочих дней в зависимости от количества типов конверсий. В стоимость входит:

  • Разметка dataLayer для всех указанных событий (до 5 типов)
  • Настройка GTM-контейнера с тегами и триггерами
  • Отладка и исправление ошибок
  • Инструкция по добавлению новых событий
  • 30 дней постпроектной поддержки

Также предоставляем документацию со схемой dataLayer и списком используемых триггеров. Если вам нужна настройка аналитики на Битрикс, свяжитесь с нами — мы оценим ваш проект бесплатно. Закажите консультацию для точного расчёта сроков.

Типичные ошибки при самостоятельной настройке

Ошибка Последствие Решение
Отправка gtag прямо в PHP при кэшировании События не выполняются Использовать JS-буфер или AddHeadScript
Отсутствие массива items в ecommerce GA4 не засчитывает покупку Формировать массив items с id, name, price, quantity
Не помечены конверсии в интерфейсе GA4 Событие не считается ключевым Вручную отметить как конверсию
Используется устаревший gtag.js Нет поддержки Enhanced Measurement Перейти на GTM с GA4-шаблоном

Гарантии и опыт

Наши специалисты имеют сертификацию 1С-Битрикс и 7+ лет опыта в настройке аналитики. Мы гарантируем, что все выбранные конверсии будут корректно передаваться в GA4. Для расчёта точной стоимости и сроков получите консультацию — мы ответим в течение дня.