Настройка целей и событий Google Analytics на 1С-Битрикс

Наша компания занимается разработкой, поддержкой и обслуживанием решений на Битрикс и Битрикс24 любой сложности. От простых одностраничных сайтов до сложных интернет магазинов, CRM систем с интеграцией 1С и телефонии. Опыт разработчиков подтвержден сертификатами от вендора.
Предлагаемые услуги
Показано 1 из 1 услугВсе 1626 услуг
Настройка целей и событий Google Analytics на 1С-Битрикс
Простая
~1 рабочий день
Часто задаваемые вопросы
Наши компетенции:
Этапы разработки
Последние работы
  • image_website-b2b-advance_0.png
    Разработка сайта компании B2B ADVANCE
    1173
  • image_bitrix-bitrix-24-1c_fixper_448_0.png
    Разработка веб-сайта для компании ФИКСПЕР
    811
  • 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
    564
  • image_bitrix-bitrix-24-1c_mirsanbel_458_0.webp
    Разработка на базе 1С Предприятие для компании МИРСАНБЕЛ
    745
  • image_crm_dolbimby_434_0.webp
    Разработка сайта на CRM Битрикс24 для компании DOLBIMBY
    655
  • image_crm_technotorgcomplex_453_0.webp
    Разработка на базе Битрикс24 для компании ТЕХНОТОРГКОМПЛЕКС
    976

Настройка целей и событий Google Analytics на 1С-Битрикс

GA4 полностью отказался от классических «целей» в пользу событий — теперь конверсией становится любое событие, помеченное как ключевое. На сайтах Битрикс основные точки конверсии: оформление заказа, заявка через форму, звонок через коллтрекинг, добавление в корзину. Проблема в том, что стандартные компоненты Битрикс не генерируют события GA4 из коробки — нужна ручная интеграция через dataLayer.

Архитектура через dataLayer и GTM

Правильный подход — не вставлять gtag() напрямую в PHP-шаблоны, а проталкивать события через dataLayer в JavaScript, а GTM-тригеры слушают этот массив.

В шаблоне компонента оформления заказа sale.order.ajax (файл result_modifier.php или JS-файл шаблона):

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

Для форм обратной связи компонент bitrix:main.feedback вызывает событие после отправки через BX.onCustomEvent('onWebFormSuccess', ...). Подписываемся на него:

BX.addCustomEvent('onWebFormSuccess', function(form) {
  dataLayer.push({ event: 'form_submit', form_id: form.data.FORM_ID });
});

Ключевые события для интернет-магазина

Событие GA4 Триггер в Битрикс Компонент
view_item Загрузка карточки товара catalog.element
add_to_cart Клик «В корзину» catalog.element, catalog.section
begin_checkout Переход к оформлению sale.basket.basket
purchase Успешное создание заказа sale.order.ajax
generate_lead Отправка формы bitrix:main.feedback

Передача данных о товарах

Для add_to_cart нужно передать массив items. Данные о товаре доступны в шаблоне компонента через $arResult['ITEM_PRICES'] и $arResult['PROPERTIES']. Формируем JSON в result_modifier.php и передаём в глобальную переменную:

$APPLICATION->AddHeadScript(
    '<script>window.__itemData = ' . CUtil::PhpToJSObject($itemData) . ';</script>'
);

Разметка в GTM

В GTM создаём тег типа «Google Analytics: событие GA4», триггер — Custom Event с именем, соответствующим полю event в dataLayer. Переменные dataLayer типа Data Layer Variable вытягивают нужные поля (ecommerce.value, ecommerce.transaction_id).

Что настраиваем

  • Разметку dataLayer.push() для всех ключевых событий: корзина, оформление, заявка
  • GTM-контейнер с тегами и триггерами для GA4
  • Отладку через GA4 DebugView и GTM Preview Mode
  • Пометку событий purchase и generate_lead как конверсий в интерфейсе GA4