Настройка Enhanced Ecommerce в Google Analytics для 1С-Битрикс

Наша компания занимается разработкой, поддержкой и обслуживанием решений на Битрикс и Битрикс24 любой сложности. От простых одностраничных сайтов до сложных интернет магазинов, CRM систем с интеграцией 1С и телефонии. Опыт разработчиков подтвержден сертификатами от вендора.
Предлагаемые услуги
Показано 1 из 1 услугВсе 1626 услуг
Настройка Enhanced Ecommerce в 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

Настройка Enhanced Ecommerce в Google Analytics для 1С-Битрикс

Enhanced Ecommerce (расширенная электронная торговля) — это набор специфических событий и объектов, которые GA4 принимает для построения воронки продаж: от просмотра товара до завершённой покупки. Без этой разметки в GA4 нет отчётов по списку товаров, промокодам, поведению в воронке. На Битрикс-магазинах интеграция требует вмешательства в шаблоны компонентов каталога и корзины — коробочного решения не существует.

Структура объекта ecommerce в GA4

Каждое событие передаёт объект ecommerce с массивом items. Минимальный состав элемента:

{
  item_id: 'SKU_123',
  item_name: 'Название товара',
  price: 1990.00,
  quantity: 1,
  item_category: 'Электроника',
  item_brand: 'Samsung'
}

Перед каждым событием ecommerce нужно сбрасывать предыдущие данные: dataLayer.push({ ecommerce: null }).

Разметка по компонентам Битрикс

view_item_list — просмотр списка товаров (catalog.section):

В result_modifier.php компонента формируем массив items из $arResult['ITEMS']:

$items = [];
foreach ($arResult['ITEMS'] as $item) {
    $items[] = [
        'item_id' => $item['PROPERTIES']['ARTICLE']['VALUE'] ?: $item['ID'],
        'item_name' => $item['NAME'],
        'price' => (float)$item['MIN_PRICE']['PRICE'],
        'item_category' => $arResult['SECTION']['NAME'],
        'index' => $item['INDEX'],
    ];
}
$APPLICATION->AddHeadString('<script>window.__catalogItems = ' . json_encode($items) . ';</script>');

В JS-файле шаблона:

dataLayer.push({ ecommerce: null });
dataLayer.push({ event: 'view_item_list', ecommerce: { items: window.__catalogItems } });

view_item — просмотр карточки товара (catalog.element):

Аналогично, но один элемент. Данные берутся из $arResult['ITEM_PRICES'][0] и свойств товара.

add_to_cart / remove_from_cart — навешиваются на событие OnSuccessAdd2Basket / OnSuccessRemove2Basket компонента корзины.

view_cart — при загрузке страницы /basket/, данные из компонента sale.basket.basket через $arResult['BASKET_ITEMS'].

begin_checkout — при переходе к оформлению из корзины.

purchase — самое важное событие, содержит финальные данные заказа:

dataLayer.push({ ecommerce: null });
dataLayer.push({
  event: 'purchase',
  ecommerce: {
    transaction_id: orderId,
    value: orderTotal,
    tax: orderTax,
    shipping: orderShipping,
    currency: 'RUB',
    coupon: couponCode,
    items: orderItems
  }
});

Данные для purchase берутся из шаблона страницы спасибо (sale.order.ajax в режиме STEP=FINAL) или из $arResult компонента sale.order.result.

Воронка Enhanced Ecommerce

Шаг Событие GA4 Источник данных
Список view_item_list catalog.section, $arResult['ITEMS']
Карточка view_item catalog.element, $arResult['ITEM_PRICES']
В корзину add_to_cart событие OnSuccessAdd2Basket
Корзина view_cart sale.basket.basket, $arResult['BASKET_ITEMS']
Оформление begin_checkout переход к /order/
Покупка purchase sale.order.ajax, ORDER_ID

Отладка и проверка

GA4 DebugView (в реальном времени) показывает каждое событие с раскрытым объектом ecommerce. Ошибки типа «missing required field» видны там же. Отчёт Монетизация → Покупки в электронной торговле начинает заполняться через 24–48 часов после корректной настройки.

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

  • Разметку dataLayer.push в шаблонах catalog.section, catalog.element, sale.basket.basket, sale.order.ajax
  • GTM-теги для всех шести событий воронки с переменными Data Layer
  • Передачу артикулов товаров (свойство ARTICLE), брендов и категорий
  • Сброс объекта ecommerce перед каждым событием