У многих компаний заметная часть продаж идёт через телефон: клиенты звонят с сайта, с рекламных объявлений, с оффлайн-каналов. Отследить, откуда пришел посетитель при онлайн-заказе, давно не проблема. Но в случае с продажей по телефону мы не видим, какая реклама привела его. Эту задачу решает коллтрекинг.

В дополнение к нашей АТС Sipuni, о которой рассказывали в блоге, мы решили создать свой динамический коллтрекинг. При этом подойти к задаче по-новому: цена услуги должна зависеть от количества отслеженных звонков. Клиент не должен думать о количестве телефонных номеров. Номера выделяются автоматически, по мере необходимости. Так родилась идея коллтрекинга с оплатой за лид, а не за номера.

Нам потребовалось примерно 5 месяцев, чтобы сделать динамический коллтрекинг, который можно использовать для большого количества сайтов. И впереди еще много работы.

Где видны результаты нашего коллтрекинга


Для отображения статистики по звонкам мы решили воспользоваться готовыми инструментами: Google Analytics и Яндекс Метрикой. Звонок передается в них как событие, на основании которого создана цель. В отчетах можно многое узнать о позвонивших посетителях. Например, сколько раз они заходили, прежде чем позвонить, какими устройствами пользовались, из каких источников пришли на сайт.

Благодаря протоколу передачи статистических данных (Measurement Protocol) в Google Analytics мы передаем и оффлайн-звонки. Допустим, посетитель закрыл браузер и только потом позвонил. В этом случае в Google Analytics все равно будет отмечен факт звонка. А вот в Яндекс Метрике этого сделать пока нельзя.

Но полностью отказаться от собственных отчетов не удалось. Ведь нужно показывать, сколько было неотслеженных звонков, список номеров телефонов посетителей, возможность прослушать разговор. Эту информацию нельзя передать в веб-аналитику. Поэтому мы решили дать клиентам минимальный набор отчетов, чтобы они могли понять, какова конверсия в звонки, даже не заглядывая в системы веб-аналитики. Сейчас отчеты находятся в процессе разработки, поэтому временно недоступны.


Пример сводки коллтрекинга Sipuni в Google Analytics

Особенности нашей технологии


Благодаря использованию вебсокетов мы можем выдавать динамический номер телефона и забирать его со страницы, даже если посетитель не перемещается по сайту. Конечно, забрав номер, мы заменяем его на номер по умолчанию.

Номера телефонов при переходе от одного сайта к другому «отстаиваются» в течение 7 дней. Сначала у нас был период  сутки, но этого оказалось явно мало, и мы увеличили его до недели. Это почти полностью исключает коллизии для многих сайтов. Если посетители какого-то сайта записывают номер и звонят по истечении 7 дней, мы можем увеличить этот период в индивидуальном порядке.

Долгое время не получалось достичь точность отслеживания больше 60% от всех входящих звонков. Сейчас точность составляет от 70 до 85% для разных сайтов. Это уже хороший результат, но мы продолжаем его улучшать.

Важно понимать, что динамический коллтрекинг — инструмент статистический: как и в Google Analytics, нет смысла делать выводы на основании одного посетителя. В коллтрекинге важно набрать достаточный объём информации, прежде, чем строить закономерности и принимать решения.

Точность отслеживания порядка 80% уже показывает полезную информацию о позвонивших посетителях. Дополнительно увеличить точность можно, если сузить отслеживание до определенных каналов, например, только трафик из ВКонтакте. В скором времени у наших пользователей появится такая возможность.

Технологические секреты


Весь проект написан на Python. Для работы с вебсокетами используем сервер Tornado и очередь сообщений RabbitMQ. Tornado – расширяемый и неблокирующий веб-сервер, который отличает высокая скорость работы. RabbitMQ как брокер сообщений берёт на себя все вопросы обработки массы сообщений и их маршрутизацию.

У нас есть режим, когда номер телефона показывается не сразу, а спустя какое-то время. Для многих сайтов можно безопасно показывать номер спустя 50 секунд после захода посетителя на сайт. Это связано с тем, что люди не звонят сразу, а сначала знакомятся с сайтом.

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

Бывает, что посетитель открывает вкладку и оставляет на час. Чтобы не держать номер, мы его «отбираем» и заменяем на номер по умолчанию. Благодаря вебсокетам поддерживается постоянная связь с браузером. Если у пользователя открыто несколько вкладок, то во всех них происходит смена номера.

Во время одного из мозговых штурмов мы нашли решение — использовать несколько номеров по умолчанию. Один показывается в начале, до того как покажется динамический номер, второй показывается после «отбирания» номера, если истекло время показа динамического номера. По звонкам на эти номера по умолчанию можно понять, сколько звонков мы пропустили и в какой промежуток, и, соответственно, подстроить время задержки и время отображения номера.

Приглашаем всех, кому необходимо отслеживание звонков клиентов. Для этого нужно заполнить заявку на сайте.

Комментарии (7)


  1. psylosss
    06.11.2015 18:08
    +2

    Правильно я понимаю, что вы предлагаете заменить вашему клиенту (интернет-магазину) свои телефонные номера на ваши, которые живут не дольше недели? А что будет с теми клиентами, которые попытаются перезвонить в магазин уже после того как номер ушёл к другому интернет-магазину?


    1. harabchuk
      07.11.2015 09:12
      +2

      Да, верно. Но если посещаемость сайта примерно одинаковая изо дня в день номера будут все время продлеваться и оставаться закрепленными за этим сайтом все время.

      Если в силу специфики бизнеса клиента, посетители сайта звонят после недели у нас есть возможность увеличить время в индивидуальном порядке.


  1. VladSavitsky
    06.11.2015 22:06
    -2

    В штатах подбная проблема решается покупкой пачки дешёвых номеров. Почему бы и у нас не попробовать пойти подобным путём? Ведь всё будет проще.


    1. harabchuk
      07.11.2015 09:16
      +1

      Только номеров недостаточно для решения задачи. Нужно программное обеспечение, которое выдает номера и ведет учет. Для большинства компаний лучше готовое и отлаженное решение, чем создавать вручную.


      1. vm916
        07.11.2015 10:36

        Не вижу сложности передать callerID в crm с полем deversion.
        Таким образом будет видно не только канал привлечения, но и номер лида или карточку клиента если такой номер уже зарегистрирован.


  1. xReaper
    09.11.2015 18:12

    Решение годное, конечно узкая специализация, но задумkа очень даже ничего. Я на этой же библиотеке как у вас иврки делал, но то совсем другая история. Слушайте, а сколько будет стоить ваш ИВР целиком если мы хотим его себе адаптировать? (для центрекс решения) клиентов 500+ У меня есть вот всё что нужно для телефонии, а нормального конструктора иврок нет, не хочу сам писать, хотя прийдётся, ваше вроде ничего так.


    1. Sipuni
      09.11.2015 20:50

      По нашему опыту, такие IVR нужны не на всей системе, а на точках входа. Поэтому можно совместить наше решение с тем что есть. В любом случае это можно обсудить.