Як налаштувати цілі та події GA4 на 1С-Бітрікс
У цій статті розповідається про налаштування GA4 для 1С-Бітрікс, включно з інтеграцією GA4 бітрікс, налаштуванням google tag manager bitrix та передачею purchase bitrix. Ви дізнаєтесь про налаштування Google Analytics 4 Bitrix, цілі GA4 1С-Бітрікс, dataLayer Бітрікс та відстеження конверсій Бітрікс.
Стандартні компоненти 1С-Бітрікс не генерують події для GA4. Навіть останні версії фреймворку не відправляють purchase або add_to_cart у dataLayer — це доводиться реалізовувати вручну. На одному проекті ми зіткнулися з тим, що GTM-контейнер отримував лише page_view, а всі конверсії просто втрачалися. Після аудиту з'ясувалося: у шаблонах sale.order.ajax та catalog.element була відсутня розмітка ecommerce-шару. Помилка коштувала магазину 40% невідстежених замовлень — це пряма втрата доходу, що становила близько 50000 грн на місяць. Далі — як ми це виправили та що потрібно знати, щоб уникнути подібних проблем.
Проблеми, які вирішуємо
-
Передача даних про транзакцію в GA4. Компонент
sale.order.ajaxмістить ID замовлення, суму, склад кошика — але ці дані не йдуть у Google Analytics. Ми створюємо вresult_modifier.phpабо JS-шаблоні масивdataLayerз подієюpurchaseта ecommerce-об'єктом. Для інтернет-магазину критично налаштувати ecommerce GA4 для Бітрікс. -
Відправка подій із форм зворотного зв'язку. У
bitrix:main.feedbackнемає вбудованого тригера для GA4. ВикористовуємоBX.onCustomEvent('onWebFormSuccess', ...)— підписуємося в глобальному скрипті та пушимо подіюgenerate_lead. Це забезпечує відстеження конверсій на Бітрікс. -
Проблеми з кешуванням. Якщо в компоненті увімкнено кешування, розмітка
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 дні — час розмітки скоротився втричі. Використання GTM у 3 рази ефективніше, ніж прямий gtag, для складних схем тегування. Це особливо важливо для великих каталогів, де кожна конверсія критична. Згідно з документацією 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']) ?> } }); Процес роботи
Ось покрокова інструкція:
- Аналіз вимог (0.5 дня) — визначаємо конверсії та точки інтеграції.
- Розмітка dataLayer (1-3 дні) — модифікуємо шаблони компонентів.
- Налаштування GTM (1 день) — створюємо теги, тригери, змінні для кожної події.
- Налагодження (1 день) — перевіряємо через GA4 DebugView.
- Деплой та інструкція (0.5 дня) — надаємо документацію.
Етапи налаштування GA4 на Бітріксі
| Етап | Тривалість | Результат |
|---|---|---|
| Аналіз вимог | 0.5 дня | Список конверсій та точок інтеграції |
| Розмітка dataLayer | 1-3 дні | Модифіковані шаблони компонентів |
| Налаштування GTM | 1 день | Теги, тригери, змінні для кожної події |
| Налагодження | 1 день | Підтвердження коректної відправки через GA4 DebugView |
| Деплой та інструкція | 0.5 дня | Робочий контейнер та документація |
Терміни та що входить
Орієнтовні терміни — від 3 до 7 робочих днів залежно від кількості типів конверсій. У вартість входить:
- Розмітка dataLayer для всіх зазначених подій (до 5 типів)
- Налаштування GTM-контейнера з тегами та тригерами
- Налагодження та виправлення помилок
- Інструкція з додавання нових подій
- 30 днів постпроектної підтримки
Середня вартість налаштування GA4 на Бітрікс становить 8000-15000 грн залежно від складності. Також надаємо документацію зі схемою dataLayer та списком використовуваних тригерів. Якщо вам потрібне налаштування аналітики на Бітрікс, зв'яжіться з нами — ми оцінимо ваш проект безкоштовно. Замовте консультацію для точного розрахунку термінів.
Типові помилки при самостійному налаштуванні
| Помилка | Наслідок | Рішення |
|---|---|---|
| Відправка gtag прямо в PHP при кешуванні | Події не виконуються | Використовувати JS-буфер або AddHeadScript |
| Відсутність масиву items в ecommerce | GA4 не зараховує покупку | Формувати масив items з id, name, price, quantity |
| Не позначені конверсії в інтерфейсі GA4 | Подія не вважається ключовою | Вручну відзначити як конверсію |
| Використовується застарілий gtag.js | Немає підтримки Enhanced Measurement | Перейти на GTM з GA4-шаблоном |
Гарантії та досвід
Наші спеціалісти мають сертифікацію 1С-Бітрікс та 7+ років досвіду в налаштуванні аналітики. Ми гарантуємо, що всі вибрані конверсії будуть коректно передаватися в GA4. Для розрахунку точної вартості та термінів отримайте консультацію — ми відповімо протягом дня.







