Інтеграція Hotjar з 1С-Бітрікс
Hotjar записує сесії користувачів, будує теплові карти кліків і рухів миші, збирає відповіді на опитування прямо на сторінці. Для інтернет-магазину на 1С-Бітрікс це інструмент відповіді на питання «що роблять користувачі», яке не пояснює Яндекс.Метрика. Встановлення простіше, ніж у більшості аналітичних інструментів — складніше правильно налаштувати під специфіку 1С-Бітрікс.
Встановлення трекінг-коду
<!-- У шаблоні Бітрікс, перед </head> або перед </body> -->
<script>
(function(h,o,t,j,a,r){
h.hj=h.hj||function(){(h.hj.q=h.hj.q||[]).push(arguments)};
h._hjSettings={hjid: YOUR_HJID, hjsv: 6};
a=o.getElementsByTagName('head')[0];
r=o.createElement('script');r.async=1;
r.src=t+h._hjSettings.hjid+j+h._hjSettings.hjsv;
a.appendChild(r);
})(window,document,'https://static.hotjar.com/c/hotjar-','.js?sv=');
</script>
У 1С-Бітрікс додавайте через Налаштування → Налаштування продукту → JS-фрагменти або у файл шаблону. Використовуйте «до закриваючого </head>» — так Hotjar починає завантажуватися якомога раніше і не пропускає початок сесії.
Ідентифікація авторизованого користувача
Hotjar підтримує ідентифікацію користувачів через hj('identify', userId, attributes). Це дозволяє фільтрувати записи сесій за атрибутами та будувати теплові карти лише для певних сегментів.
<?php if ($USER->IsAuthorized()):
$userId = $USER->GetID();
$ordersCount = getUserOrdersCount($userId);
$totalSpent = getUserTotalSpent($userId);
$loyaltyLevel = getUserLoyaltyLevel($userId);
?>
<script>
window.hj = window.hj || function(){(hj.q=hj.q||[]).push(arguments)};
hj('identify', <?= $userId ?>, {
email: <?= json_encode($USER->GetEmail()) ?>,
orders_count: <?= $ordersCount ?>,
total_spent: <?= $totalSpent ?>,
loyalty_level: <?= json_encode($loyaltyLevel) ?>,
is_b2b: <?= getUserIsB2B($userId) ? 'true' : 'false' ?>,
});
</script>
<?php endif; ?>
Після цього в інтерфейсі Hotjar можна фільтрувати записи: «покажи лише сесії користувачів з orders_count > 5» або «лише B2B-користувачі». Це радикально скорочує час на аналіз.
Налаштування подій для теплових карт
За замовчуванням Hotjar будує теплові карти за URL сторінок. Для 1С-Бітрікс це працює коректно на статичних сторінках, але є нюанси:
Фасетний фільтр змінює URL. catalog.smart.filter додає параметри фільтру в URL — /catalog/electronics/filter/price-from-1000-to-5000/. Hotjar створюватиме окрему теплову карту для кожної комбінації фільтру. Рішення: у налаштуваннях Hotjar створіть правило групування сторінок — «всі URL, що містять /catalog/electronics/filter/» об'єднуються в одну теплову карту.
Пагінація. /catalog/?PAGEN_1=2 — окрема теплова карта. Аналогічно — створіть правило групування для пагінованих сторінок.
Динамічні сторінки кошика та оформлення. sale.order.ajax змінює вміст без зміни URL. Hotjar коректно це обробляє — записує зміни DOM. Але теплова карта показує кліки на всіх станах сторінки разом. Використовуйте записи сесій для аналізу конкретних кроків оформлення.
Надсилання подій у Hotjar
Для маркування ключових дій у записах сесій:
// Додавання до кошика
function onAddToCart(productId, productName) {
hj('event', 'add_to_cart');
hj('tagRecording', ['add_to_cart', 'product-' + productId]);
}
// Початок оформлення замовлення
hj('event', 'checkout_started');
// Помилка у формі оформлення
hj('event', 'checkout_form_error');
hj('tagRecording', ['checkout_error']);
Теги tagRecording дозволяють фільтрувати записи в Hotjar: «покажи лише сесії, де був тег checkout_error» — це миттєво виділяє проблемні шляхи користувачів.
Налаштування опитувань на 1С-Бітрікс
Hotjar Surveys працює без додаткової інтеграції — налаштовується в інтерфейсі Hotjar за умовами відображення (URL, час на сторінці, відсоток прокрутки). Для специфічних сценаріїв 1С-Бітрікс:
Опитування після оформлення замовлення. Умова: сторінка /order/success/ або URL містить ?ORDER_ID=. Запитання: «Що ледь не завадило вам оформити замовлення?»
Опитування при покинутому кошику. Умова: сторінка /basket/, користувач збирається покинути сторінку (exit intent). Запитання: «Не знайшли те, що шукали?»
Відповідність вимогам GDPR та ЗУ «Про захист персональних даних»
Hotjar записує сесії користувачів — це персональні дані. Необхідно:
- Додати Hotjar до політики конфіденційності
- Реалізувати згоду користувача (cookie-банер)
- Ініціалізувати Hotjar лише після отримання згоди:
// Ініціалізуємо Hotjar лише після згоди
document.addEventListener('cookieConsentGiven', function() {
(function(h,o,t,j,a,r){ /* ... код Hotjar ... */ })();
});
У 1С-Бітрікс cookie-згода реалізується через стандартний компонент bitrix:main.cookie.agreement або кастомний банер.
Виключення адміністративної частини
Hotjar не повинен записувати сесії в /bitrix/admin/:
if (window.location.pathname.indexOf('/bitrix/admin') === -1 &&
window.location.pathname.indexOf('/area51') === -1) {
// ініціалізація Hotjar
}
Склад робіт і терміни
- Встановлення трекінг-коду, cookie-згода — 4–8 годин
- Ідентифікація користувачів, передача атрибутів — 4 години
- Налаштування правил групування сторінок (фільтри, пагінація) — 2–4 години
- Налаштування подій і тегів записів — 4–8 годин
- Перший аналіз теплових карт і записів — через 1–2 тижні після запуску
Разом на інтеграцію — 2–3 робочих дні. Аналіз і висновки — регулярний процес, а не разова робота.







