Налаштування динамічного колтрекінгу на 1С-Бітрікс
Динамічний колтрекінг вирішує одну конкретну проблему: яке рекламне оголошення або канал привів клієнта, який зателефонував. Без нього у звіті по рекламі видно кліки та конверсії на сайті, але дзвінки випадають із картини. У e-commerce і сфері послуг, де 40–60% заявок надходить по телефону, це робить аналітику марною.
Принцип роботи: кожному відвідувачу показується унікальний підмінний номер телефону з пулу. Система колтрекінгу зіставляє номер із візитом і фіксує UTM-мітки, джерело, ключове слово. Після дзвінка номер повертається в пул.
Вибір провайдера та встановлення скрипта
Основні провайдери на ринку: Callibri, CoMagic, Roistat, Ringostat, Mango Office. У кожного — свій JS-скрипт і API. Архітектурно всі вони працюють однаково: вставляєте скрипт у <head>, він підміняє телефони на сторінці за CSS-селектором або через span із data-атрибутом.
Для Бітрікс скрипт додаємо через стандартний механізм Bitrix\Main\Page\Asset:
// /local/php_interface/init.php
\Bitrix\Main\EventManager::getInstance()->addEventHandler(
'main',
'OnEpilog',
function () {
if (\Bitrix\Main\Application::getInstance()->getContext()->getRequest()->isAdminSection()) {
return;
}
$asset = \Bitrix\Main\Page\Asset::getInstance();
$asset->addString(
'<script type="text/javascript">
(function(w,d,n,t){
// Код скрипта провайдера колтрекінгу
w[n] = w[n] || function(){(w[n].q=w[n].q||[]).push(arguments)};
t = d.createElement("script");
t.async = 1;
t.src = "https://tracker.callibri.ru/callibri.js";
d.head.appendChild(t);
})(window,document,"callibri");
callibri("setCounter", "YOUR_COUNTER_ID");
</script>',
true // у head
);
}
);
Додавання через OnEpilog гарантує, що скрипт не потрапить у кеш сторінок Бітрікс і не буде вставлений двічі при AJAX-навігації.
Розмітка телефонів на сайті
Для коректної підміни телефон має бути розмічений. Рекомендований спосіб — data-атрибути на span:
<!-- Замість -->
<span class="phone">+7 (495) 123-45-67</span>
<!-- Використовуємо -->
<span class="calltracking-phone"
data-original-phone="+74951234567"
data-phone-display="+7 (495) 123-45-67">
+7 (495) 123-45-67
</span>
Скрипт провайдера знаходить елементи за класом або атрибутом і замінює вміст. Якщо телефон виводиться через компоненти Бітрікс (шапка, картка товару), правку робимо в шаблоні компонента — зазвичай header.php або власний шаблон.
Для сайтів із кількома телефонами (основний, відділ продажів, сервіс) — кожному можна призначити окремий пул номерів через групи підміни. Налаштовується в особистому кабінеті провайдера.
Налаштування пулу номерів
Розмір пулу визначає точність відстеження. Розрахунок: якщо на сайті одночасно 20 відвідувачів і середня тривалість сесії 3 хвилини, потрібно мінімум 20 номерів. Провайдери дають рекомендацію виходячи з трафіку.
Для Бітрікс-сайтів із кешуванням є нюанс: якщо сторінка закешована на рівні Бітрікс (керований кеш або nginx), скрипт колтрекінгу може завантажитися із затримкою або не завантажитися зовсім при вимкненому JS. Рішення — телефон у HTML ставити як fallback, а підміна відбувається через JS вже після завантаження.
Передача даних у Google Analytics / Яндекс.Метрику
Провайдери колтрекінгу вміють передавати дзвінки як події в GA4 і Метрику. Для цього в налаштуваннях провайдера вказуємо ID лічильників. Додатково — прокидання User ID для зшивки сесій:
// Після ініціалізації лічильника GA4
callibri('onCallStart', function(callData) {
gtag('event', 'phone_call_start', {
'call_id' : callData.callId,
'utm_source' : callData.utmSource,
'utm_campaign': callData.utmCampaign,
});
});
callibri('onCallEnd', function(callData) {
gtag('event', 'phone_call_end', {
'call_id' : callData.callId,
'duration' : callData.duration,
'is_target': callData.isTarget,
});
});
Перевірка коректності підміни
Після встановлення потрібно перевірити, що підміна працює для всіх каналів. Чеклист:
- Відкрити сайт з UTM-мітками
?utm_source=yandex&utm_medium=cpc— телефон має змінитися - Відкрити без UTM (прямий захід) — має відображатися дефолтний номер із пулу
- Перевірити закешовані сторінки: після прогріву кешу
bitrix:cacheтелефон все одно має підмінятися - Переконатися, що телефон в og:image і Schema.org (якщо є) — статичний, не підмінюваний
- Перевірити мобільну версію — click-to-call має вести на підмінний номер
Склад робіт
- Реєстрація акаунта у провайдера, формування пулу номерів
- Встановлення JS-скрипта в шаблон Бітрікс через Asset API
- Розмітка телефонів у шаблонах компонентів
- Налаштування груп підміни (якщо кілька телефонів)
- Інтеграція з GA4 / Яндекс.Метрикою через події
- Тестування підміни по всіх джерелах трафіку
Терміни: базове налаштування (один телефон, один пул) — 3–5 робочих днів. Складні схеми з кількома телефонами, групами та інтеграцією в CRM — 1–2 тижні.







