Колл-трекинг

1. Введение

1.1 Описание системы

Колл-трекинг - это система отслеживания источников звонков, которая позволяет подменять номера телефонов на сайте в зависимости от источника трафика посетителя. Система помогает анализировать эффективность различных рекламных каналов.

1.2 Основные возможности

  • Динамическая подмена номеров телефонов

  • Статическая подмена номеров телефонов

  • Отслеживание источников трафика

  • Интеграция с Google Analytics и Яндекс.Метрика

  • Гибкая настройка правил подмены

  • Сбор статистики по звонкам

1.3 Технические требования

  • Доступ к редактированию HTML-кода сайта

  • Современный браузер с поддержкой JavaScript

  • Доступ к API колл-трекинга

2. Установка

2.1 Подключение скрипта

Добавьте следующий код в секцию <head> или перед закрывающим тегом </body>:

<script src="https://pbx.runtel.org/assets/widgets/call-tracking/call-tracking.js"></script>

2.2 Базовая конфигурация

Добавьте скрипт инициализации:

<script>
    const HOST = "https://pbx.runtel.org/integration/traffic_collector/"
    const CHANNEL_ID = "ваш_channel_id"
    const API_KEY = "ваш_api_key"

    window.onload = function() {
        runCalltracking({
            targets: ['.phone-number'],
            pattern: '+# (###) ###-##-##',
        }, window, HOST, CHANNEL_ID, API_KEY);
    }
</script>

3. Расширенные настройки виджета

Если вы используете виджет колл-трекинга в связке с другими инструментами, то можете определить подстановку номеров, в случае если правила в интеграции не заданы. Для этого необходимо сопоставить источники и статически заданные телефонные номера.

3.1 Основные параметры конфигурации

Параметр

Тип

Описание

targets

Array

Селекторы элементов с телефонными номерами

pattern

String

Шаблон форматирования номера

sources

Object

Правила определения источников трафика

phones

Array

Массив телефонных номеров для подмены

callback

Function

Функция обратного вызова

3.2 Настройка источников трафика

sources: {
    'organic': {
        'ref': /:\/\/(?:www\.)?(google|yandex)(?:\.(\w+))?/ig
    },
    'social': {
        'ref': /:\/\/[^\/]*(facebook|vk\.com)/ig
    },
    'direct': {
        'utm_source': 'direct.yandex.ru'
    }
}

3.3 Настройка телефонных номеров

phones: [
    {'src': 'organic', 'phone': ['84951234567']},
    {'src': 'social', 'phone': ['84957654321']},
    {'src': 'direct', 'phone': ['84951111111']}
]

4. Использование

4.1 Базовый пример

runCalltracking({
    targets: ['.phone-number'],
    pattern: '+# (###) ###-##-##',
    sources: {
        'organic': {'ref': /:\/\/(?:www\.)?google(?:\.(\w+))?/ig},
    },
    phones: [
        {'src': 'organic', 'phone': ['84951343060']}
    ],
    callback: function(phone, srcUrl, dstUrl, session) {
        console.log('Подставлен номер:', phone);
    }
}, window, HOST, CHANNEL_ID, API_KEY);

5. API

5.1 Отправка данных о посетителе

Метод: POST
Endpoint: https://pbx.runtel.org/integration/traffic_collector/

Параметры запроса:

{
    "action": "visitor_update",
    "obj": "DEPTrafficCollector",
    "params": {
        "channel_id": "ваш_channel_id",
        "ymClientId": "ID из Яндекс.Метрики",
        "gaClientId": "ID из Google Analytics",
        "ref_url": "URL источника",
        "land_url": "URL текущей страницы",
        "user_id": "ID пользователя",
        "ip": "IP пользователя",
        "public_ip": "Публичный IP",
        "agent": "User Agent браузера"
    }
}

6. Troubleshooting

6.1 Типичные проблемы

  1. Номера не подменяются:

  • Проверьте правильность селекторов в параметре targets

  • Убедитесь, что скрипт загружается после DOM-элементов

  • Проверьте консоль браузера на наличие ошибок

  1. Неправильное определение источника:

  • Проверьте корректность регулярных выражений в sources

  • Убедитесь, что параметры UTM передаются корректно

6.2 Отладка

Для отладки используйте callback-функцию:

callback: function(phone, srcUrl, dstUrl, session) {
    console.log('Номер:', phone);
    console.log('Источник:', srcUrl);
    console.log('Текущий URL:', dstUrl);
    console.log('Сессия:', session);
}

6.3 Поддержка

При возникновении проблем обращайтесь в техническую поддержку:

7. Примечания по безопасности

  • Храните API_KEY в безопасном месте

  • Не передавайте конфиденциальные данные в открытом виде

  • Регулярно обновляйте версию скрипта

8. Обновления и версии

Текущая версия: 1.0.0

  • Добавлена поддержка динамической подмены

  • Улучшена производительность