Зачем менять номер телефона?
Рано или поздно вам захочется сэкономить на рекламе, оптимизировав неэффективные рекламные кампании или даже отключив их. Или, может быть, вам нужно запустить новый инструмент для сбора трафика. В любом случае вам понадобится статистика посещений сайта.
Если с письмами более-менее понятно – вы поставили цели в Google Analytics или Яндекс.Метрике и получили нужные номера, то с телефонами обычно проблема – как отделить звонки от поискового трафика звонки по контекстной рекламе или e-mail рассылки не спрашивая у звонящего, какая реклама привела его на сайт? Решение уже не новое и до безобразия простое.
Нам понадобится…
- Несколько телефонных номеров (количество номеров будет зависеть от того, на сколько групп вы хотите разделить абонентов).
- Простой скрипт, который мы установим на сайт
- Секретарша, которая будет отслеживать звонки по каждому номеру (или crm-система, которая делает это автоматически)
С пунктами 1 и 3 вроде все просто. Ну и раздаю простенький скрипт для смены номера. Сразу оговорюсь – это самый простой вариант скрипта и подходит не для всех задач. Но я думаю, что это будет работать в большинстве случаев.
Логика сценария
- Мы смотрим на Referer (с какой страницы пришел посетитель), чтобы определить, пришел ли он из результатов поиска.
- Смотрим URL страницы, на которую попал посетитель, и определяем источник трафика по utm-меткам
- Если посетитель с интересующего нас источника, мы меняем номер телефона на нужный
- Мы сохраняем источник трафика в файлах cookie, чтобы при переходе по сайту или непосредственном переходе в следующий раз посетитель всегда видел один и тот же номер (до тех пор, пока он не придет из другого интересующего нас источника).
Как установить скрипт
- Добавьте файл phone-replace.js в корень сайта. Содержимое файла:
/* Сайт автора: internet-marketolog.com */ $(document).ready( function change() { //Настройка номеров телефонов var remarketing = 'rem-000-00-00'; var search="search-000-00-00"; var cpc="cpc-000-00-00"; var email="email-000-00-00"; var phone=""; //Код, который определяет по cookies, какой телефон нужно показать var source = get_cookie ( 'source_type' ); if ( source == 'remarketing' ) phone = remarketing; else if ( source == 'search' ) phone = search; else if ( source == 'cpc' ) phone = cpc; else if ( source == 'email' ) phone = email; //Подмена номера if ( source != 'direct' && phone != '' ) $('.phone_container').text( phone ); } ); function get_cookie ( cookie_name ) { var results = document.cookie.match ( '(^|;) ?' + cookie_name + '=([^;]*)(;|$)' ); if ( results ) return ( unescape ( results[2] ) ); else return null; }
Это потребует некоторой доработки: в строках 7-10 нужно ввести соответствующие номера телефонов для разных источников трафика в кавычках.
- Добавить между И :
<script src=" <script type="text/javascript" src="/phone-replace.js"></script>
- Добавить в php-кодкоторый выполняется на каждой странице до того, как что-либо появится на экране (часто это index.php, который находится в корне сайта) выглядит следующим образом:
<?php //По каким фрагментам в URI мы будем определять источники трафика $uri_indication['remarketing'] = 'utm_campaign=Remarketing'; $uri_indication['cpc'] = 'utm_medium=cpc'; $uri_indication['email'] = 'utm_medium=email'; //Дальше ничего менять не нужно if ( strpos ( $_SERVER['REQUEST_URI'], $uri_indication['remarketing'] ) ) $source_type = "remarketing"; else if ( strpos ( $_SERVER['REQUEST_URI'], $uri_indication['cpc'] ) AND !strpos ( $_SERVER['REQUEST_URI'], $uri_indication['remarketing'] ) ) $source_type = "cpc"; else if ( strpos ( $_SERVER['REQUEST_URI'], $uri_indication['email'] ) ) $source_type = "email"; else if ( strpos ( $_SERVER['HTTP_REFERER'], 'yandex.ru/yandsearch' ) OR strpos ( $_SERVER['HTTP_REFERER'], 'www.google.' ) OR strpos ( $_SERVER['HTTP_REFERER'], 'go.mail.ru/search' ) OR strpos ( $_SERVER['HTTP_REFERER'], 'nova.rambler.ru/search' ) OR strpos ( $_SERVER['HTTP_REFERER'], 'bing.com/search' ) OR strpos ( $_SERVER['HTTP_REFERER'], 'ask.com/web?q=' ) OR strpos ( $_SERVER['HTTP_REFERER'], 'search.yahoo.com/search' )) $source_type = "search"; else $source_type = "direct"; if ( $source_type AND $source_type != "direct" ) setcookie ( "source_type", $source_type, time()+31536000, " ); ?>
В строках 4-6 нужно указать фрагменты, которые скрипт должен искать в URI, на который попадает человек при заходе на сайт.
Предполагается, что в URI есть какие-то теги UTM. В моем примере наличие «utm_medium=cpc» в URI говорит о том, что посетитель пришел по контекстной рекламе, «utm_medium=email» — по рассылке по электронной почте, «utm_campaign=Remarketing» — по ремаркетингу.
Так как контекстная реклама и ремаркетинг обычно имеют один и тот же тег utm_medium, для ремаркетинга я взял кусок строки utm_campain.
- В шаблоне сайта укажите класс phone_container для контейнеров, содержащих номер телефона:
- Проверить функциональность.
Чтобы вам было проще разобраться, можно взять на халяву — рабочий пример скрипта.
Ссылка для скачивания
Оставляйте отзывы о сценарии в комментариях.