Перейти до основного вмісту

Огляд

Phone Swap — це функція атрибуції дзвінків, яка динамічно замінює телефонні номери на вашому сайті залежно від джерела трафіку відвідувача. Коли відвідувач приходить з конкретної кампанії — Google Ads, Facebook, партнерського реферала або будь-якого UTM-посилання — трекер автоматично замінює ваш основний номер на виділений трекінговий номер. Коли відвідувач дзвонить на цей номер, ви точно знаєте яка кампанія привела дзвінок.
Вкладка Phone Swap

Як це працює

1

Налаштуйте підміну в кампанії

Відкрийте кампанію та встановіть Original Phone (номер на вашому сайті) і Replacement Phone (трекінговий номер для цієї кампанії). Детальніше у розділі Кампанії — Phone Swap.
2

Відвідувач заходить на сайт

Відвідувач натискає посилання кампанії (з UTM-параметрами) і скрипт трекера завантажується. Трекер отримує активні правила підміни з сервера.
3

Збіг UTM-параметрів

Трекер перевіряє UTM-параметри відвідувача проти кожного правила. Всі ненульові поля збігу (utm_source, utm_medium, utm_campaign, rvl_ref) повинні збігатися точно. Перше правило, що збіглося, перемагає.
4

Номер замінюється

Трекер знаходить всі екземпляри оригінального номера на сторінці — у tel: посиланнях, у тексті з атрибутом data-revol-phone — і замінює їх трекінговим номером. Заміна зберігає форматування оригінального номера.
5

Подія записується

Записується подія phone_swap з оригінальним та замінним номерами. Ця подія відображається у Activity Log та таблиці Campaign Performance.
6

Відвідувач дзвонить

Відвідувач дзвонить на трекінговий номер. Ви бачите дзвінок, атрибутований до конкретної кампанії — без здогадок.

Вкладка Phone Swap

Вкладка Phone Swap показує всі активні правила підміни з ваших кампаній в одній таблиці:
КолонкаОпис
CampaignНазва кампанії з UTM-умовами (source, medium тощо) нижче
Phone SwapОригінальний номер → Замінний номер
StatusАктивний або неактивний
Ця вкладка лише для перегляду — щоб додати або змінити правила підміни, відкрийте кампанію у вкладці Кампанії та налаштуйте секцію Phone Swap.

Додавання номерів на сайт

Трекер замінює телефонні номери двома способами:

1. Tel-посилання (автоматично)

Будь-яке посилання <a href="tel:..."> на сторінці виявляється автоматично. Якщо href збігається з оригінальним номером з правила, він замінюється — і атрибут href, і видимий текст.
<!-- До підміни -->
<a href="tel:+380441234567">+380 (44) 123-45-67</a>

<!-- Після підміни (відвідувач з кампанії Google Ads) -->
<a href="tel:+380449876543">+380 (44) 987-65-43</a>
Додаткові атрибути не потрібні — трекер знаходить tel: посилання автоматично.

2. Data-атрибут (явний)

Для номерів, які не в tel: посиланнях (простий текст, span, div), додайте атрибут data-revol-phone:
<!-- Номер у span -->
<span data-revol-phone>+380441234567</span>

<!-- Номер у div -->
<div class="contact-phone" data-revol-phone>+380 44 123 45 67</div>
Елементи з data-revol-phone приховуються (visibility: hidden) до завершення підміни, запобігаючи миготінню оригінального номера.
Використовуйте data-revol-phone для всіх номерів, які хочете замінювати — навіть якщо вони всередині tel: посилань. Це дає трекеру явний контроль і запобігає будь-якому миготінню.

Збереження формату

Трекер зберігає форматування оригінального номера при заміні. Якщо оригінальний і замінний мають однакову кількість цифр, замінний форматується за шаблоном оригінального:
ОригіналЗаміна (сира)Результат
+380 (44) 123-45-67+380949876543+380 (94) 987-65-43
044 123 45 670949876543094 987 65 43
+380441234567+380949876543+380949876543
Якщо кількість цифр відрізняється, замінний вставляється як є, без форматування.

Підтримка SPA

Модуль підміни використовує MutationObserver для спостереження за динамічно доданими елементами. Якщо ваш сайт побудований на React, Vue, Angular або будь-якому фреймворку, що рендерить контент після завантаження сторінки — трекер виявляє нові елементи з номерами при їх появі в DOM і замінює їх автоматично. Observer спостерігає за всім body документа на предмет:
  • Нових посилань <a href="tel:...">
  • Нових елементів з атрибутом data-revol-phone
Observer відключається при вивантаженні сторінки для запобігання витоків пам’яті.

Правила збігу

Правила підміни формуються з кампаній. Кожна кампанія з встановленими Original Phone та Replacement Phone створює правило.

Як працює збіг

Трекер перевіряє UTM-параметри відвідувача проти полів збігу правила. Всі ненульові поля повинні збігатися точно (логіка AND):
Правило: { utm_source: "google", utm_medium: "cpc" }

✓ Відвідувач з utm_source=google, utm_medium=cpc        → ЗБІГ
✗ Відвідувач з utm_source=google, utm_medium=organic     → НЕМАЄ ЗБІГУ
✗ Відвідувач з utm_source=facebook, utm_medium=cpc       → НЕМАЄ ЗБІГУ
Якщо у кампанії встановлено utm_source, але utm_medium порожній — достатньо збігу лише source. Порожні поля ігноруються при збігу.

Пріоритет

Якщо кілька кампаній відповідають UTM-параметрам відвідувача, використовується перше правило, що збіглося. Правила повертаються у порядку створення.

Події підміни

Кожна підміна генерує подію phone_swap, що записується один раз за сесію відвідувача. Подія містить:
{
  "from": "+380441234567",
  "to": "+380949876543"
}
Події підміни відображаються у:
  • Activity Log — як тип події phone_swap з даними from/to
  • Таблиці Campaign Performance — у колонці Phone Swaps
  • Деталях сесії — у хронології подій сесії відвідувача

Сценарії використання

Створіть кампанію з utm_source=google, utm_medium=cpc. Встановіть оригінальний номер як ваш основний бізнес-номер, а замінний — як виділений трекінговий номер. Кожен дзвінок від відвідувачів Google Ads атрибутується до цієї кампанії.Результат: Ви бачите скільки саме дзвінків генерують ваші витрати на Google Ads — у тому ж дашборді, що й чат-розмови, відправлення форм та перегляди сторінок.
Створіть окремі кампанії для кожного джерела трафіку — Google, Facebook, Instagram, email-розсилка — кожна зі своїм трекінговим номером. Один і той же оригінальний номер на сайті замінюється по-різному залежно від того, звідки прийшов відвідувач.
КампаніяДжерелоТрекінговий номер
Google Brandgoogle / cpc+380 44 111 1111
Facebook Adsfacebook / paid+380 44 222 2222
Розсилкаnewsletter / email+380 44 333 3333
Органіка— (без підміни)Оригінальний номер
Створіть кампанію для друкованої реклами з унікальним параметром rvl_ref. Додайте виділений номер. Коли хтось дзвонить з номера на флаєрі — ви знаєте, що це з друку, а не з диджиталу. Поєднайте з QR-кодом для цифрового трекінгу тих самих матеріалів.
Дайте кожному партнеру власну кампанію з rvl_ref=partner_name та виділений трекінговий номер. Відстежуйте точну кількість дзвінків від кожного партнера — разом із сесіями, переглядами сторінок та AI-розмовами.
Створіть дві кампанії з однаковим джерелом, але різними значеннями utm_content (напр., landing-v1 vs landing-v2), кожна з різним трекінговим номером. Порівнюйте обсяги дзвінків між варіантами.

Інтеграція з SIP

Phone Swap стає значно потужнішим у поєднанні з інтеграцією SIP (VoIP) номерів. Коли ви використовуєте SIP-трекінгові номери як замінні, весь життєвий цикл дзвінка фіксується в Revol:
1

Відвідувач бачить SIP-трекінговий номер

Трекер замінює оригінальний номер на SIP-номер для відвідувачів з конкретної кампанії.
2

Відвідувач дзвонить на SIP-номер

Дзвінок маршрутизується через вашого VoIP-провайдера (Binotel, Twilio тощо) і з’єднується з вашою командою.
3

Дзвінок записується та аналізується

З активною VoIP-інтеграцією дзвінок записується, транскрибується і прив’язується до сесії відвідувача. Ви бачите повний шлях: яку рекламу натиснув, які сторінки переглянув, і що сказав під час дзвінка.
4

AI аналізує розмову

Якщо ваш AI-агент налаштований для каналу інтеграції, він може проаналізувати транскрипт дзвінка — визначити намір відвідувача, витягнути дані ліда, оцінити якість дзвінка і навіть запропонувати наступні кроки.

Що ви отримуєте

З Phone Swap + SIP-інтеграцією разом ви маєте повний пайплайн атрибуції дзвінків:
ДаніДжерело
Яка кампанія привела відвідувачаUTM-параметри → Збіг кампанії
Які сторінки відвідувач переглянув перед дзвінкомПотік сторінок сесії
Скільки часу провів на сайтіТривалість сесії
Що сказав під час дзвінкаЗапис + транскрипт VoIP
Якість ліда та намірAI-аналіз дзвінка
На який трекінговий номер подзвонивДані події phone_swap
Вартість дзвінка (якщо відомі витрати на рекламу)Атрибуція кампанії + дані рекламної платформи
Це створює замкнутий цикл зворотного зв’язку: ви бачите, що клік з Google Ads привів до 3 переглядів сторінок, 45-секундного перегляду, телефонного дзвінка де відвідувач питав про ціни, і AI оцінив його як ліда з високим наміром — все в одній хронології сесії.

Найкращі практики

Не використовуйте один трекінговий номер для кількох кампаній — це зводить нанівець атрибуцію. Кожна кампанія повинна мати унікальний замінний номер.
Навіть якщо ви використовуєте tel: посилання (які виявляються автоматично), додавання data-revol-phone запобігає миготінню оригінального номера до завершення підміни.
Використовуйте один і той же оригінальний номер у всіх кампаніях. Трекер шукає саме цей номер на сторінці — якщо на сайті різні номери в різних секціях, створіть окремі правила підміни для кожного.
Після налаштування правила підміни відвідайте свій сайт з відповідними UTM-параметрами (напр., ?utm_source=google&utm_medium=cpc) та перевірте, що номер змінюється. Перевірте Activity Log на наявність події phone_swap.

Технічні деталі

ДетальЗначення
Модульtracker/modules/phone-swap.js — завантажується ліниво, лише коли є правила
ЗбігТочний збіг всіх ненульових UTM-полів (логіка AND)
ВиявленняПосилання <a href="tel:..."> + елементи [data-revol-phone]
Підтримка SPAMutationObserver на document.body (childList + subtree)
Запобігання миготіннюCSS visibility: hidden на [data-revol-phone] до підміни
Трекінг подійОдна подія phone_swap за сесію (лише перша підміна)
Оновлення конфігуКожні 5 хвилин через фонове опитування
Нормалізація номерівВидаляє пробіли, дефіси, дужки, крапки перед порівнянням