Как настроить цели и события 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. Для расчёта точной стоимости и сроков получите консультацию — мы ответим в течение дня.







