Калтрекинг (Call Tracking)
Калтрекинг (Call Tracking)
Технология подмены телефонного номера в рекламе, чтобы по каждому входящему
звонку можно было понять, из какого именно источника (канала, кампании,
объявления, поискового запроса) пришёл этот конкретный клиент.
История
Первое коммерческое решение появилось в США в 1990 году — компания
Who's Calling начала выдавать рекламодателям уникальные номера 1-800 и
записывать разговоры, чтобы по номеру, на который позвонили, понять, из
какой газеты клиент увидел объявление. Это ещё до эпохи веба, чисто
оффлайн-задача: реклама в жёлтых страницах, на биллбордах, в местной
газете — каждый носитель получал свой номер.
Ключевой сдвиг произошёл ближе к 2007–2010 годам, когда компании
DialogTech (в 2008-м, до 2013-го — IfByPhone) и Marchex придумали
динамическую подмену номера (DNI, Dynamic Number Insertion). Это уже
про веб: не просто «один канал — один номер», а «каждому посетителю сайта
показать свой, уникальный номер», чтобы связать конкретную сессию с
конкретным звонком.
В России рынок сформировался позже, примерно 2011–2014:
- CoMagic — основан в 2011, один из первых российских игроков.
- Calltouch — 2013.
- Callibri — 2013.
- Ringostat — 2013 (Украина, работает и на российском рынке).
- UIS (Universal Interactive Services) / CoMagic объединились в
2016 году в одну группу. - Roistat — не сам калтрекинг, а сквозная аналитика, но с
калтрекингом-модулем.
К 2020 году практически все крупные рекламодатели в недвижимости,
автомобилях, медицине и B2B перешли на динамический калтрекинг — без него
атрибуция звонков к рекламным каналам просто не работает.
Что это такое
Калтрекинг — это связка «пул телефонных номеров + виртуальная АТС + модуль
подмены номера на сайте + аналитика». Работает как посредник между
клиентом и рекламодателем.
Логика такая: рекламодатель хочет знать, за что он платит. Он покупает
рекламу в Яндекс.Директе, в Google Ads, в контекстно-медийной сети, на
Циане, в 2ГИС, где-то ещё. Клиент звонит. Звонок один — а рекламных
каналов пять. Как узнать, какой из них сработал?
Ответ калтрекинга: показать разным клиентам разные номера. Клиенту,
который пришёл с Яндекс.Директа — номер A. Клиенту с Google Ads — номер B.
Клиенту, который зашёл напрямую по адресу сайта — номер C. Все три номера
физически ведут на один и тот же call-центр компании (переадресация
внутри виртуальной АТС), но по тому, на какой именно номер позвонили,
система понимает, откуда пришёл клиент.
Есть два принципиально разных вида:
- Статический калтрекинг — «один канал = один номер». Печатаешь номер
на баннере, в буклете, в ТВ-рекламе, на визитке — номер жёстко привязан
к каналу. Меньше номеров, дешевле, но не даёт детализации внутри
канала. - Динамический калтрекинг — «каждому посетителю сайта — свой номер».
На страницу приходит человек с Яндекс.Директа с запросом «купить
квартиру в Митино», JavaScript определяет источник и вставляет в
DOM-элемент с номером один из свободных номеров пула, «резервируя»
его на этого посетителя. Если этот же человек через час зайдёт снова —
ему покажут тот же номер (по cookie). Если позвонит — атрибуция
однозначная. Пул из 20 номеров при типичной посещаемости позволяет
раздавать номера сотням посетителей в день, потому что «занят» номер
только пока активна сессия + окно ожидания звонка (обычно 15–30 минут).
Чем отличается от простой переадресации? Простая переадресация не
даёт статистики по источникам — только один номер на всё. Калтрекинг
именно про соответствие показанного номера и источника трафика.
Чем отличается от отслеживания через веб-формы? Форму заполняют не
все — многие предпочитают позвонить. Без калтрекинга такие клиенты
исчезают из аналитики: конверсия по каналу выглядит хуже, чем она есть.
Аналогии из жизни
1. Парк такси у крупного диспетчера.
У службы такси в городе арендовано 100 машин (пул). За месяц через эти
100 машин проезжают тысячи разных клиентов. Если диспетчер говорит «у нас
работают 3000 клиентов», а вы приходите и считаете, сколько машин
одновременно на линии — их всего 100. Это два разных числа: ёмкость
парка (сколько машин работает одновременно) и проходной счётчик
(сколько клиентов прошло за период). Ровно этот разговор — «45 000
номеров» vs «12 500 активных» — и есть аудит калтрекинга.
Где ломается: у такси клиент во время поездки безусловно занимает одну
конкретную машину, и её никто другой в это время не занимает. В
калтрекинге номер может быть «занят» посетителем 15 минут — а если тот не
позвонил, номер уходит обратно в пул и достанется следующему. Так что
«одновременно активных» — это скользящее окно, а не мгновенный снимок.
2. Номера в гостинице.
У отеля 200 номеров, но за год через него проходит 40 000 гостей — потому
что номер 305 сегодня занимает Иванов, завтра — Петров, послезавтра —
Сидоров. Если спросить «сколько номеров?», это будет 200. Если спросить
«сколько уникальных гостей за год?» — 40 000. Разница огромная, но обе
цифры «правильные» — просто отвечают на разные вопросы.
Где ломается: в гостинице гость точно знает свой номер, и следующий
жилец не путается с предыдущим. В калтрекинге если два разных клиента,
пришедших с двух разных каналов, попали на один и тот же номер (например,
разгар акции, пул мал) — телефонная АТС не может по номеру определить, с
какого канала пришёл именно этот звонящий. Атрибуция путается.
3. Номер для талона в поликлинике.
Пришёл к врачу — тебе дают талон, скажем, №47. По талону №47 в этот час
принимают именно тебя. Но завтра талон №47 достанется другому пациенту,
послезавтра — третьему. Талон — это временная метка, привязанная к тебе
только на визит. Точно так же номер калтрекинга привязан к тебе только
пока идёт «окно ожидания звонка».
Где ломается: талон в поликлинике — это очередь, следующий идёт после
предыдущего, конфликта не бывает. А в калтрекинге номер может «застрять
занятым», если посетитель ушёл со страницы, но не позвонил — пул
подсаживается, пока номер не «разморозится».
Как это работает
Проследим весь путь одного клиента, шаг за шагом.
Шаг 0 (за неделю до захода). Рекламодатель покупает у провайдера
калтрекинга пул из, скажем, 20 виртуальных номеров. Провайдер их выдаёт,
подключает к своей виртуальной АТС (АТС в облаке, обычно на протоколе
SIP — Session Initiation Protocol, стандартный протокол VoIP-звонков).
На АТС настраивается правило: «любой звонок на любой из этих 20 номеров
переадресуй на единственный настоящий номер клиента, скажем, +7 495
100-20-30».
Шаг 1 (заход на сайт). Пользователь кликнул по объявлению в
Яндекс.Директе, попал на посадочную страницу застройщика. В URL
подтянулись метки: utm_source=yandex&utm_medium=cpc&utm_campaign=... и
yclid=xxx (Yandex Click ID — идентификатор конкретного клика).
Шаг 2 (запрос номера). На странице загружается JavaScript-скрипт
провайдера калтрекинга. Он читает document.referrer, метки в URL,
куку _ym_uid (Метрика) или _ga (Google Analytics), IP клиента — и
делает AJAX-запрос на API провайдера: «дай мне свободный номер для
источника „yandex/cpc/campaign42“».
Шаг 3 (резервирование номера). Сервер провайдера смотрит в свой пул:
какие номера сейчас свободны, какие «на удержании» за другими посетителями,
у каких закончилось окно. Выбирает свободный номер +7 495 100-20-31,
записывает в БД: «номер 100-20-31 закреплён за посетителем X (сессия
session_id) на 30 минут, источник — yandex/cpc/campaign42». Отдаёт этот
номер обратно на страницу.
Шаг 4 (подмена в DOM). JavaScript находит на странице все элементы с
номером телефона (обычно у них специальный CSS-класс типа
.js-phone или атрибут data-phone) и меняет содержимое: вместо
дефолтного номера показывает +7 495 100-20-31. Пользователь его видит.
Шаг 5 (звонок). Пользователь звонит на этот номер. Звонок приходит на
виртуальную АТС провайдера. АТС смотрит: «на номер 100-20-31 звонок». В БД
за этим номером закреплён источник yandex/cpc/campaign42 и sessионные
данные. АТС мгновенно переадресовывает звонок на реальный номер клиента
(+7 495 100-20-30) — оператор call-центра поднимает трубку, разговаривает,
не подозревая, что звонок «мечен».
Шаг 6 (лог + отчёт). Параллельно АТС пишет в БД: время звонка,
номер-подменка, источник, идентификатор посетителя, идентификатор
объявления. По API это уходит в CRM клиента (обычно amoCRM, Битрикс24) и
в аналитику (Яндекс.Метрика, Google Analytics — как «конверсия» с
привязкой к yclid/utm). Через какое-то время в отчёте видно: «за август с
кампании campaign42 пришло 47 звонков, средняя длительность 3:12, из них
14 стали сделками».
Шаг 7 (освобождение номера). Через 30 минут после закрытия сессии
(если звонка не было) или через фиксированное время после звонка номер
возвращается в пул и становится доступным следующему посетителю. Часто
между освобождением и следующей выдачей — «карантин» на 5–15 минут, чтобы
случайный поздний звонок «того самого» клиента не приписался чужому
источнику.
Всё, петля замкнута. Клиент даже не знает, что видел не «настоящий» номер
компании.
Где встречается в обычной жизни
- Когда открываешь сайт застройщика с рекламы — номер, который ты видишь
вверху страницы, скорее всего не совпадает с номером на визитке
застройщика. Это подмена. - В объявлениях на Циане, Авито, Домклике — у крупных застройщиков в
разных объявлениях разные номера (даже на одну и ту же квартиру),
чтобы отследить, с какой площадки звонит клиент. - Реклама на радио и ТВ — если рекламируют один и тот же продукт в разных
каналах (Первый vs Россия-1), нередко в них разные номера — тоже
калтрекинг, только статический. - В агентствах недвижимости внутри одной компании разные риелторы часто
ведут «свои» номера, привязанные к их персональным объявлениям — это
тоже разновидность. - Промо-акции с QR-кодом на баннере в метро — QR ведёт на страницу, где
подставляется отдельный номер, чтобы понять эффективность именно этой
наружки.
Где встречается в IT и бизнесе
- Недвижимость — где деньги за клиента огромные (лид стоит десятки
тысяч рублей, сделка — миллионы). Без калтрекинга нельзя понять, куда
вливать бюджет. - Автосалоны — большие рекламные бюджеты, длинные циклы принятия
решения, звонок остаётся главным каналом заявки. - Медицина (стоматология, клиники) — записи почти всегда по телефону,
а не через сайт. - Логистика/такси B2B — оперативные заказы, лендинги под разные
тарифы. - Юридические, финансовые, страховые услуги — звонок как основная
форма первого контакта. - Оффлайн-ретейл — телефон в буклете, на упаковке, в сервисной книжке
автомобиля — отдельный номер под каждый источник.
Кто пользуется
По оценкам самих провайдеров (за 2023–2024):
- CoMagic — около 15 000 клиентов, включая X5 Retail Group, ВТБ,
Мегафон, Донстрой. - Calltouch — по их заявлениям, свыше 20 000 клиентов, среди публично
указанных: ПИК, Level Group, Мегафон, Сбер. - Callibri — фокус на средний бизнес, 10 000+ клиентов.
- Roistat — сквозная аналитика поверх калтрекинга, часто в B2B и
недвижимости. - Ringostat — Восточная Европа, автосалоны и медицина.
Точных цифр «сколько всего номеров под калтрекинг в РФ активны
одновременно» публично нет. По косвенным оценкам, у крупного застройщика
может быть арендовано 10 000–50 000 номеров одновременно — а через
пул за год проходят сотни тысяч уникальных.
Отдельно про масштаб самой операции: одна крупная строительная компания в
Москве может тратить на калтрекинг несколько миллионов рублей в месяц
только за аренду номеров и виртуальную АТС, не считая инфраструктуры
сквозной аналитики поверх. Именно поэтому аудит «за сколько активных
номеров мы платим на самом деле» — это не мелочь, а прямой финансовый
контроль.
Альтернативы и конкуренты
Провайдеры калтрекинга (аналоги друг друга):
- CoMagic — старейший в РФ, глубокая интеграция с amoCRM, дорогой.
Минус: интерфейс сложный, кривая обучения крутая. - Calltouch — акцент на сквозную аналитику и большие пулы. Плюс:
хорошо для крупных рекламных бюджетов. Минус: цена растёт нелинейно с
масштабом. - Callibri — дешевле, проще, для среднего бизнеса. Плюс: быстро
внедрить. Минус: слабее аналитика по атрибуции. - Ringostat — сильные интеграции с Google Ads. Плюс: хорош для
автосалонов. Минус: в России используется реже.
Альтернативные подходы к атрибуции (без калтрекинга):
- Только веб-формы + чат — проще и дешевле, но теряешь до 40–60%
клиентов, кто хочет именно позвонить. - Отдельные callback-виджеты (Callbackhunter, LeadBack) — клиент
оставляет номер, ему перезванивают. Плюс: не нужен пул номеров. Минус:
психологический барьер выше, конверсия ниже. - Umbrella-подход (единый номер + голосовое меню «нажмите 1, если вы
с Яндекса») — работает только для очень простых сценариев, раздражает
клиента. - Сквозная аналитика без калтрекинга — Roistat, K50 умеют считать по
формам, но телефонные конверсии всё равно требуют калтрекинг.
Когда НЕ стоит использовать
- У тебя один-два рекламных канала. Если ты крутишь только Яндекс.Директ
и всё — статический калтрекинг с 3–5 номерами достаточен, платить за
сложную систему динамической подмены нет смысла. - Клиенты в основном не звонят, а пишут в мессенджеры. Тогда основные
деньги на инструментах учёта клиентов в чате/боте, а не на телефонии. - Продукт с длинным циклом принятия решения и низкой конверсией по
телефону. Например, крупный B2B-контракт — там сначала долгая
переписка, звонки идут поздно, атрибуция «первый звонок» слабо
коррелирует с «сделкой». - Реклама, где номер должен быть стабильным годами. Печатная реклама в
ежегодном справочнике, выгравированный на металлической табличке номер
на витрине магазина — калтрекинг тут технически можно, но смысла ноль,
потому что «канал» и так однозначен.
Связанные понятия
- Атрибуция (Attribution) — приписывание конверсии к рекламному
каналу. Калтрекинг — один из инструментов атрибуции для звонков. - UTM-метки — параметры в URL (utm_source, utm_medium, utm_campaign),
которыми маркируют трафик, чтобы потом распознать источник. - yclid / gclid — Yandex/Google Click ID, уникальный идентификатор
конкретного клика по объявлению, крепится к URL автоматически. - Виртуальная АТС — телефонная станция в облаке, куда провайдер
подключает пул номеров и настраивает правила маршрутизации. - SIP (Session Initiation Protocol) — сетевой протокол для VoIP,
через который АТС принимает и передаёт звонки. - Сквозная аналитика — соединение данных из рекламы, CRM и звонков в
единый отчёт «канал → лид → сделка → выручка». - Пул номеров (Number Pool) — набор арендованных виртуальных номеров,
между которыми провайдер калтрекинга «раздаёт» посетителям. - DNI (Dynamic Number Insertion) — техническое название механизма
подмены номера на странице через JavaScript.
Литература и источники
- Википедия ru: «Отслеживание звонков» — короткое обзорное описание.
- Википедия en: «Call tracking software» — глубже, с историей и
игроками мирового рынка. - CoMagic Blog — blog.comagic.ru —
разборы конкретных сценариев атрибуции. - Calltouch Академия — calltouch.ru/academy —
курсы по калтрекингу и сквозной аналитике, бесплатные. - Roistat База знаний — help.roistat.com —
особенно раздел про интеграции с рекламными системами. - RFC 3261 (SIP) — tools.ietf.org/html/rfc3261 —
если хочется разобраться в протоколе, лежащем под виртуальной АТС. - Книга: Игорь Манн, Анна Турусина — «Маркетинг на 100%» (2019, ru) — не
про калтрекинг напрямую, но с главой про атрибуцию звонков. Искать в
«Литрес» или на Ozon. - YouTube: канал Roistat — есть цикл видео «Что такое сквозная
аналитика» с разбором калтрекинга. Искать по запросу «Roistat сквозная
аналитика калтрекинг».
Где встретилось у меня
Вчера один из моих агентов вскрывал пулы номеров калтрекинга на карточках
жилых комплексов на Циане — задача была независимо посчитать, сколько
уникальных номеров реально активно на нас как на рекламодателе. Провайдер
называет одну цифру (порядка 45 000), независимый замер по мобильному
пулу Москвы дал плато на ~12 500 — расхождение почти втрое. Основной
разбор дня был не про технику сбора, а про то, что вопрос надо разделить
на два: «ёмкость активного пула» (сколько номеров одновременно на
линии) vs «исторический счётчик» (сколько номеров вообще прошло через
пул за срок договора). Это два разных числа, и без явного условия в
договоре, что именно из них считается, спор с провайдером не имеет
разрешения.
Ключевая мысль
Когда провайдер калтрекинга обещает «45 000 уникальных номеров под вас», всегда уточняй: это ёмкость пула (сколько одновременно на линии) или исторический счётчик (сколько прошло за период). Это разные числа, часто различающиеся в разы. Разница в цифре — это разница в деньгах, которую ты платишь.
Грабли аудита
Считать «сколько номеров у нас в пуле» через скрейпинг витрины рекламной площадки — путь в антибот-баню. Правильный аудит — двусторонний: запросить у самого провайдера отчёт по активным номерам за период И независимо сверить репрезентативной выборкой с помощью реальных заходов под метки. Массовый скрейпинг витрины провоцирует блокировку и не обязательно даёт то же число, что видит провайдер.
Краткое резюме
- Калтрекинг — подмена телефонного номера в рекламе, чтобы понять, с
какого канала пришёл каждый звонок. - Два вида: статический (номер на канал) и динамический (номер каждому
посетителю, через JavaScript-подмену на сайте). - Внутри — пул арендованных виртуальных номеров + виртуальная АТС на
SIP + подмена номера в DOM страницы + логирование звонков и склейка
атрибуции. - Ключевые российские игроки: CoMagic, Calltouch, Callibri, Roistat,
Ringostat, UIS. - Финансовый вопрос директора — понять, за какую именно единицу
платишь: активные номера одновременно или счётчик за период. Это разные
числа, разница часто в разы, и она вся — твои деньги.