Налаштування 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
    1262
  • image_bitrix-bitrix-24-1c_fixper_448_0.png
    Розробка веб-сайту для компанії ФІКСПЕР
    851
  • 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
    585
  • image_bitrix-bitrix-24-1c_mirsanbel_458_0.webp
    Розробка на базі 1С Підприємство для компанії МИРСАНБЕЛ
    751
  • image_crm_dolbimby_434_0.webp
    Розробка сайту на CRM Бітрікс24 для компанії DOLBIMBY
    657
  • image_crm_technotorgcomplex_453_0.webp
    Розробка на базі Бітрікс24 для компанії ТЕХНОТОРГКОМПЛЕКС
    989

Налаштування Enhanced Ecommerce в Google Analytics для 1С-Бітрікс

Enhanced Ecommerce — це набір специфічних подій і об'єктів, які GA4 приймає для побудови воронки продажів: від перегляду товару до завершеної покупки. Без цієї розмітки в GA4 немає звітів за списком товарів, промокодами і поведінкою у воронці. На магазинах 1С-Бітрікс інтеграція вимагає втручання в шаблони компонентів каталогу і кошика — готового рішення з коробки не існує.

Структура об'єкта 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 }).

Розмітка за компонентами 1С-Бітрікс

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: 'UAH',
    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 перед кожною подією