DIY: Популярный сервис автодозвона своими силами с минимумом затрат
Статья из рубрики «Оч.умелые ручки».
Сегодня мы расскажем, как при помощи 7 пластиковых бутылок, скотча, одного программиста и сервиса VoxImplant сделать собственный сервис «Обратного звонка» (он же «автозвонилка», «колбэк», «лидбэк» и т.д). У нас он называется «Секретарь».
Немного теории В двух словах напомню, что это такое и чем полезно для сайтов. Это иконка телефона, которая является динамической формой заказа звонка. Динамическая, потому что присутствует на сайте в течение всей сессии посетителя и может располагаться в любом месте браузера – сверху, снизу, слева, справа. Если кликнуть по иконке, всплывает форма с призывом оставить номер телефона и обещанием перезвонить в ближайшее время (через 15-30 секунд). После того, как посетитель оставил номер своего телефона, сервис автоматически и практически мгновенно соединяет вашего оператора и заказчика звонка. Выглядеть он может по-разному. Ниже несколько версий, которые мы внедряли для наших клиентов.
В общем, удобный, полезный, и мега-популярный сервис (по моим субъективным подсчетам сейчас на рынке более 100 однотипных клонов, которые соревнуются только в маркетинговой упаковке продукта). Немного нашей статистики На сайте с посещаемостью порядка 4500 человек в день наш «Секретарь» привлекает в среднем 2230 минут разговоров в месяц. Что составляет более 1,5 суток чистого времени. Средняя продолжительность разговора составляет 4 минуты, то есть 500-600 обращений в месяц. Параметры и значения: 1. Посещаемость — 4500 в день 2. Общее время — 2230 минут в месяц 3. Ср. продолжительность — 4 минуты 4. Ср. количество лидов (звонков) — 550 Результаты говорят сами за себя. И рекомендовать этот сервис к использованию мне ничего не мешает. Немного практики Теперь, когда мы вспомнили, что представляет собой этот сервис, для чего он нужен и привели примеры его практической пользы, предлагаем приступить к сборке «нашего» конструктора. Нам понадобится: • Дизайнер, 1 человек. Он должен нарисовать виджет, который вы будете использовать у себя на сайте. Стоимость: от 1000 рублей до 10000 рублей в зависимости от того какого специалиста возьмете. • Верстальщик, 1 человек. Он должен сверстать нарисованный виджет. Стоимость от 1000 рублей до 15000 в зависимости от сложностей алгоритмов показа, адаптивности виджета под разные устройства и количества браузеров, которые поддерживает ваш инструмент. • Программист, 1 человек. Чаще всего это тот же самый верстальщик, который должен повесить на нужную кнопку вызов функции автодозвона. Стоимость от 3000 до 10000. Опять же, зависит от сложности реализации. Не буду останавливаться на пункте «как нарисовать и сверстать виджет». Мне кажется, что этот вопрос не вызовет затруднений. Перейдем сразу к тому, как реализуется вся механика автодозвона. Я встречал несколько вариантов решения данного вопроса: • С помощью облачной АТС+API • С помощью функциональности CRM • C помощью Asterisk • С помощью VoxImplant Мы рассмотрим вариант с VoxImplant. Остальные варианты, подозреваю, не намного сложнее. Сразу оговорюсь, что цель данной статьи показать простейший пример автодозвона, но ничто вам не помешает допилить с помощью api voximplant что-то посложнее. Итак: 1. Регистрируемся в сервисе VoxImplant 2. В разделе «Пользователи» создаем пользователя, который понадобится для авторизации в приложении. 3. В разделе «Сценарии» создаем сценарий. Это код, который будет исполняться на стороне voximplant при совершении звонка. Описание API можно найти на voximplant.com/docs/references/appengine/VoxEngine.html Вот небольшой пример подобного сценария: var call1, call2, phone; VoxEngine.addEventListener(AppEvents.Started, handleScenarioStart); VoxEngine.addEventListener(AppEvents.HttpRequest, handleHttpRequest); function handleHttpRequest(e) { // Handle HTTP request sent using media_session_access_url VoxEngine.terminate(); } function handleScenarioStart(e) { // Data can be passed to scenario using customData // script_custom_data param in StartScenarios HTTP request will be available to scenario as customData // in this scenario we will pass phone string via script_custom_data phone = VoxEngine.customData(); // start scenario - calling number 1 call1 = VoxEngine.callPSTN(phone, '74991112233'); // Office phone // assign event handlers call1.addEventListener(CallEvents.Connected, handleCall1Connected); call1.addEventListener(CallEvents.Failed, handleCall1Failed); call1.addEventListener(CallEvents.Disconnected, handleCall1Disconnected); } function handleCall1Failed(e) { // Fail handler } function handleCall1Disconnected(e) { // Disconnect handler VoxEngine.terminate(); } function handleCall1Connected(e) { // first call connected successfully, play message call1.say("Приветствие", Language.RU_RUSSIAN_FEMALE); call1.addEventListener(CallEvents.PlaybackFinished, function(e1) { // after message played - calling number 2 call2 = VoxEngine.callPSTN(phone, '74991112233'); // assign event handlers call2.addEventListener(CallEvents.Connected, handleCall2Connected); call2.addEventListener(CallEvents.Failed, function(e2) { call1.say("Ничего не получилось", Language.RU_RUSSIAN_FEMALE); call1.addEventListener(CallEvents.PlaybackFinished, function(e3) { VoxEngine.terminate(); }); }); call2.addEventListener(CallEvents.Disconnected, function(e2) { VoxEngine.terminate(); }); }); } function handleCall2Connected(e) { // connect two calls with each other - media VoxEngine.sendMediaBetween(call1, call2); // and signalling VoxEngine.easyProcess(call1, call2); } 4. В разделе «Приложения» создаем приложение, к которому привязываем созданного пользователя. Та же создаем правило, в котором исполняется написанный нами сценарий. 5. По необходимости покупаем номер, на который будут звонить вам и вашим клиентам. Теоретически на каждый сценарий вы можете настроить отдельный номер. 6. Возвращаемся к нашему свёрстанному виджету. При совершении звонка, например при нажатии кнопки «Заказать звонок», нужно вызвать собственную функцию, которая отправит запрос к API. Допустим, она называется makeCall(phone). Функция makeCall должна вызвать метод StartScenarios, в который нужно передать: • account_id (на странице manage.voximplant.com/#apiaccess), • rule_id (номер правила), • api_key, • phone (значение номера нашего клиента. Этот параметр задаётся в script_custom_data) Описание метода StartScenarios — voximplant.com/docs/references/httpapi/StartScenarios.html Voila, простая версия автодозвона готова. По желанию её можно развивать дальше, как вашей душе угодно. Например, дозваниваться до клиента только, если ваш call-центр ответил и нажал кнопку соединения. Или перебирать несколько номеров ваших менеджеров и выбирать того, который свободен. Немного текста мелким шрифтом Сейчас речь пойдет о том, что следует учесть при запуске, когда всё будет к нему готово. 1. Работа вашего call-центра. Проверьте, чтобы у вашего колл-центра была возможность оперативно реагировать на поступающие заявки. Ведь скорость реакции – это половина успеха. Оптимально купить у VoxImplant выделенный номер, а также выделить номер на своей стороне и принимать эти звонки «мимо» автоответчика. Тем самым, выполняя обещание перезвонить через 25 секунд. А иначе, согласитесь, это будет странно выглядеть, если ваш клиент поднимает трубку в надежде получить ответ на вопрос, а вместо этого услышит: «Оставайтесь на линии, ваш звонок очень важен для нас». Соответственно, решайте данный вопрос либо программными средствами, либо организационными.
2. Ночное время. Если у вас не круглосуточный колл-центр, это необходимо учесть. Либо просто отключать форму в конце рабочего дня, либо менять текст на «Мы перезвоним утром». В любом случае, это простая задача для вашего верстальщика. 3. Мобильная версия. Над этим стоит серьезно подумать. Есть ли у вас адаптивная верстка сайта под мобильный трафик? Если есть, то в ТЗ на верстку макетов это необходимо учесть. Если нет, лучше вообще не использовать инструмент на мобильном трафике. Много не потеряете, но при этом люди не останутся недовольны. В любом случае этот вопрос решается с дизайнером и верстальщиком на этапе отрисовки виджета. Немного о деньгах Бюджет мероприятия весьма тривиален! Минута разговора обойдется от 1,6 цента за минуту для городских линий до 2,6 цента для мобильных. На две линии звонок вам обойдется рубля в 3,5 в среднем. Интеграция совсем ничего не стоит, кроме затрат на программиста. Выделенный номер – $4.6975 в месяц. Итого общие расходы в среднем: 1. Дизайнер — 6 000 рублей 2. Верстальщик-программист — 12 000 рублей 3. Выделенный номер — 300 рублей 4. Итого*: 18 300 рублей * расходы могут быть в два раза меньше или нулевые, если у вас в штате есть необходимый персонал. Вот и все нехитрые манипуляции, благодаря которым у вас появился собственный сервис обратного звонка. Точнее, только его часть. Дело в том, что многие алгоритмы «отлова лидов» основаны на более интеллектуальной или просто технически более сложной модели. И учитывают множество факторов – когда, кому и с учетом каких условиях принудительно вызывать форму обратного звонка, чтобы не раздражать посетителей и при этом увеличить количество обращений, время приема звонков по дням недели, возможность исключить конкретные номера телефонов и тд. Всё это тоже даёт дополнительный эффект. Но это тема для отдельной статьи. Представителям интернет-магазинов могу порекомендовать ознакомиться с моей статьей про «Смарт-оффер» – еще один наш сервис, присутствие которого на сайте гарантирует высокие показатели, особенно при условии использования в тандеме с «Секретарем». При этом показ «Смарт-оффера» блокируется в момент заполнения посетителем формы «Секретаря». Тем самым достигается максимальная лояльность по отношению к вашим посетителям. P.S. Вы спросите, зачем 7 пластиковых бутылок и скотч?
Скотч – чтобы программисту скучно не было. Лучше 12-ти летний взять. А 7 пластиковых бутылок не пригодились. Дополнительная экономия получается. Статья была написана специально для сайта Мегамозг
Немного теории В двух словах напомню, что это такое и чем полезно для сайтов. Это иконка телефона, которая является динамической формой заказа звонка. Динамическая, потому что присутствует на сайте в течение всей сессии посетителя и может располагаться в любом месте браузера – сверху, снизу, слева, справа. Если кликнуть по иконке, всплывает форма с призывом оставить номер телефона и обещанием перезвонить в ближайшее время (через 15-30 секунд). После того, как посетитель оставил номер своего телефона, сервис автоматически и практически мгновенно соединяет вашего оператора и заказчика звонка. Выглядеть он может по-разному. Ниже несколько версий, которые мы внедряли для наших клиентов.
В общем, удобный, полезный, и мега-популярный сервис (по моим субъективным подсчетам сейчас на рынке более 100 однотипных клонов, которые соревнуются только в маркетинговой упаковке продукта). Немного нашей статистики На сайте с посещаемостью порядка 4500 человек в день наш «Секретарь» привлекает в среднем 2230 минут разговоров в месяц. Что составляет более 1,5 суток чистого времени. Средняя продолжительность разговора составляет 4 минуты, то есть 500-600 обращений в месяц. Параметры и значения: 1. Посещаемость — 4500 в день 2. Общее время — 2230 минут в месяц 3. Ср. продолжительность — 4 минуты 4. Ср. количество лидов (звонков) — 550 Результаты говорят сами за себя. И рекомендовать этот сервис к использованию мне ничего не мешает. Немного практики Теперь, когда мы вспомнили, что представляет собой этот сервис, для чего он нужен и привели примеры его практической пользы, предлагаем приступить к сборке «нашего» конструктора. Нам понадобится: • Дизайнер, 1 человек. Он должен нарисовать виджет, который вы будете использовать у себя на сайте. Стоимость: от 1000 рублей до 10000 рублей в зависимости от того какого специалиста возьмете. • Верстальщик, 1 человек. Он должен сверстать нарисованный виджет. Стоимость от 1000 рублей до 15000 в зависимости от сложностей алгоритмов показа, адаптивности виджета под разные устройства и количества браузеров, которые поддерживает ваш инструмент. • Программист, 1 человек. Чаще всего это тот же самый верстальщик, который должен повесить на нужную кнопку вызов функции автодозвона. Стоимость от 3000 до 10000. Опять же, зависит от сложности реализации. Не буду останавливаться на пункте «как нарисовать и сверстать виджет». Мне кажется, что этот вопрос не вызовет затруднений. Перейдем сразу к тому, как реализуется вся механика автодозвона. Я встречал несколько вариантов решения данного вопроса: • С помощью облачной АТС+API • С помощью функциональности CRM • C помощью Asterisk • С помощью VoxImplant Мы рассмотрим вариант с VoxImplant. Остальные варианты, подозреваю, не намного сложнее. Сразу оговорюсь, что цель данной статьи показать простейший пример автодозвона, но ничто вам не помешает допилить с помощью api voximplant что-то посложнее. Итак: 1. Регистрируемся в сервисе VoxImplant 2. В разделе «Пользователи» создаем пользователя, который понадобится для авторизации в приложении. 3. В разделе «Сценарии» создаем сценарий. Это код, который будет исполняться на стороне voximplant при совершении звонка. Описание API можно найти на voximplant.com/docs/references/appengine/VoxEngine.html Вот небольшой пример подобного сценария: var call1, call2, phone; VoxEngine.addEventListener(AppEvents.Started, handleScenarioStart); VoxEngine.addEventListener(AppEvents.HttpRequest, handleHttpRequest); function handleHttpRequest(e) { // Handle HTTP request sent using media_session_access_url VoxEngine.terminate(); } function handleScenarioStart(e) { // Data can be passed to scenario using customData // script_custom_data param in StartScenarios HTTP request will be available to scenario as customData // in this scenario we will pass phone string via script_custom_data phone = VoxEngine.customData(); // start scenario - calling number 1 call1 = VoxEngine.callPSTN(phone, '74991112233'); // Office phone // assign event handlers call1.addEventListener(CallEvents.Connected, handleCall1Connected); call1.addEventListener(CallEvents.Failed, handleCall1Failed); call1.addEventListener(CallEvents.Disconnected, handleCall1Disconnected); } function handleCall1Failed(e) { // Fail handler } function handleCall1Disconnected(e) { // Disconnect handler VoxEngine.terminate(); } function handleCall1Connected(e) { // first call connected successfully, play message call1.say("Приветствие", Language.RU_RUSSIAN_FEMALE); call1.addEventListener(CallEvents.PlaybackFinished, function(e1) { // after message played - calling number 2 call2 = VoxEngine.callPSTN(phone, '74991112233'); // assign event handlers call2.addEventListener(CallEvents.Connected, handleCall2Connected); call2.addEventListener(CallEvents.Failed, function(e2) { call1.say("Ничего не получилось", Language.RU_RUSSIAN_FEMALE); call1.addEventListener(CallEvents.PlaybackFinished, function(e3) { VoxEngine.terminate(); }); }); call2.addEventListener(CallEvents.Disconnected, function(e2) { VoxEngine.terminate(); }); }); } function handleCall2Connected(e) { // connect two calls with each other - media VoxEngine.sendMediaBetween(call1, call2); // and signalling VoxEngine.easyProcess(call1, call2); } 4. В разделе «Приложения» создаем приложение, к которому привязываем созданного пользователя. Та же создаем правило, в котором исполняется написанный нами сценарий. 5. По необходимости покупаем номер, на который будут звонить вам и вашим клиентам. Теоретически на каждый сценарий вы можете настроить отдельный номер. 6. Возвращаемся к нашему свёрстанному виджету. При совершении звонка, например при нажатии кнопки «Заказать звонок», нужно вызвать собственную функцию, которая отправит запрос к API. Допустим, она называется makeCall(phone). Функция makeCall должна вызвать метод StartScenarios, в который нужно передать: • account_id (на странице manage.voximplant.com/#apiaccess), • rule_id (номер правила), • api_key, • phone (значение номера нашего клиента. Этот параметр задаётся в script_custom_data) Описание метода StartScenarios — voximplant.com/docs/references/httpapi/StartScenarios.html Voila, простая версия автодозвона готова. По желанию её можно развивать дальше, как вашей душе угодно. Например, дозваниваться до клиента только, если ваш call-центр ответил и нажал кнопку соединения. Или перебирать несколько номеров ваших менеджеров и выбирать того, который свободен. Немного текста мелким шрифтом Сейчас речь пойдет о том, что следует учесть при запуске, когда всё будет к нему готово. 1. Работа вашего call-центра. Проверьте, чтобы у вашего колл-центра была возможность оперативно реагировать на поступающие заявки. Ведь скорость реакции – это половина успеха. Оптимально купить у VoxImplant выделенный номер, а также выделить номер на своей стороне и принимать эти звонки «мимо» автоответчика. Тем самым, выполняя обещание перезвонить через 25 секунд. А иначе, согласитесь, это будет странно выглядеть, если ваш клиент поднимает трубку в надежде получить ответ на вопрос, а вместо этого услышит: «Оставайтесь на линии, ваш звонок очень важен для нас». Соответственно, решайте данный вопрос либо программными средствами, либо организационными.
2. Ночное время. Если у вас не круглосуточный колл-центр, это необходимо учесть. Либо просто отключать форму в конце рабочего дня, либо менять текст на «Мы перезвоним утром». В любом случае, это простая задача для вашего верстальщика. 3. Мобильная версия. Над этим стоит серьезно подумать. Есть ли у вас адаптивная верстка сайта под мобильный трафик? Если есть, то в ТЗ на верстку макетов это необходимо учесть. Если нет, лучше вообще не использовать инструмент на мобильном трафике. Много не потеряете, но при этом люди не останутся недовольны. В любом случае этот вопрос решается с дизайнером и верстальщиком на этапе отрисовки виджета. Немного о деньгах Бюджет мероприятия весьма тривиален! Минута разговора обойдется от 1,6 цента за минуту для городских линий до 2,6 цента для мобильных. На две линии звонок вам обойдется рубля в 3,5 в среднем. Интеграция совсем ничего не стоит, кроме затрат на программиста. Выделенный номер – $4.6975 в месяц. Итого общие расходы в среднем: 1. Дизайнер — 6 000 рублей 2. Верстальщик-программист — 12 000 рублей 3. Выделенный номер — 300 рублей 4. Итого*: 18 300 рублей * расходы могут быть в два раза меньше или нулевые, если у вас в штате есть необходимый персонал. Вот и все нехитрые манипуляции, благодаря которым у вас появился собственный сервис обратного звонка. Точнее, только его часть. Дело в том, что многие алгоритмы «отлова лидов» основаны на более интеллектуальной или просто технически более сложной модели. И учитывают множество факторов – когда, кому и с учетом каких условиях принудительно вызывать форму обратного звонка, чтобы не раздражать посетителей и при этом увеличить количество обращений, время приема звонков по дням недели, возможность исключить конкретные номера телефонов и тд. Всё это тоже даёт дополнительный эффект. Но это тема для отдельной статьи. Представителям интернет-магазинов могу порекомендовать ознакомиться с моей статьей про «Смарт-оффер» – еще один наш сервис, присутствие которого на сайте гарантирует высокие показатели, особенно при условии использования в тандеме с «Секретарем». При этом показ «Смарт-оффера» блокируется в момент заполнения посетителем формы «Секретаря». Тем самым достигается максимальная лояльность по отношению к вашим посетителям. P.S. Вы спросите, зачем 7 пластиковых бутылок и скотч?
Скотч – чтобы программисту скучно не было. Лучше 12-ти летний взять. А 7 пластиковых бутылок не пригодились. Дополнительная экономия получается. Статья была написана специально для сайта Мегамозг