geo targeting

Яндекс директ - компенсация заблокированного трафика с Украины

 После блокирования  Украиной сайтов Yandex  у многих вебмастеров, да практически у все, только в разной степени, просел трафик и посещаемость. Доля украинского рынка рекламы составляет в среднем до 25%, и если у кого-то 10-15% то это тоже существенно. Речь идет не о политике, а о чисто коммерческой составляющей. Если уж так случилось, то что можно предпринять для восстановления или увеличения баланса? Так как рекламный код РСЯ или RTB  Яндекс-а у пользователей с Украины не только не работает, но и тормозит загрузку сайта или оставляет его в недогруженном состоянии, при этом активны анимации браузера, указывающие что сайт еще грузится. Все это плохо отражается и на показателях статистики.

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

Поэтому хорошей альтернативой Яндекс директу (RTB)  будет система геотаргетирования для заблокированного трафика с Украины на показ другой рекламы. Можно использовать хорошие тизерки, например, Маркетгид или другую рекламную компанию для показа на рекламных местах Яндекса пользователям Украины. Плюс еще в том, что тогда не будет вызываться заблокированный код Яндекса и следовательно не будет нарушаться загрузка сайта.


Стратегия понятна и правильная, возможно необходимо такая система переключения рекламы м в других случаях. Осталось реализовать. В зависимости от движка сайта или различных СМС ( WordPress, Drupal, Joomla и др.) существуют внешние расширения или модули, плагины для геотаргетирования. Это один из способов. Однако не хотелось бы нагружать при этом движок и добавлять внешних ссылок.  К тому же, большинство плагинов платные. 

flat profit maker

Flat Profit Maker

Плагин Flat PM обладает необходимым функционалом для вывода рекламных блоков на сайте. Простой и понятный интерфейс позволяет быстро разобраться с настройками. Полностью на русском языке.

AdsPlace’r Pro

Плагин полностью на русском языке, имеет 11 параметров таргетинга, в том числе и геотаргетинг. Распространяется на платной основе, но его лицензия и обновления предоставляются навсегда. Никаких ежегодных доплат за обновления делать не придётся.

Ad Inserter PRO

Его функционал, даже в бесплатной версии, способен закрыть любые потребности в размещении рекламы на сайте. Но, геотаргетинг, аналитика, А/В тестирование и другие плюшки доступны только в PRO версии.

 

adinsert uk

Ниже будет предложен простой  способ реализации  на PHP.  Для понятия как осуществляется геотаргетинг, то-есть определение откуда, с какой страны (региона, города) зашел на сайт посетитель, рассмотрим этот механизм.

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

Определяются исходные данные для геотаргетинга  на основе региональной принадлежности его IP-адреса.  Можно получать и обрабатывать данные о местоположении посетителя двумя способами: на стороне сервера или на стороне клиента. 

На стороне клиента. Существуют различные способы, например, на основе API, подключают скрипт Яндекс.Карт, библиотеку, jQuery, предварительно нужно получить специальный ключ для работы с API Яндек.Карт. Но помимо того, что это отдельные запросы, так и  Яндекс с Украины не доступен.

На стороне сервера. Вариант изначально более предпочтителен,  так как не зависит от устройства клиента и скорости интернета.  Здесь тоже существует два метода:

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

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

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

Далее рассмотрим реализацию последнего варианта, как наиболее выгодного.

Существует несколько основных серверов, определяющих  Геотаргетинг и имеющих свои базы.  Сравнив их характеристики по скорости определения, достоверности и наличие бесплатной версии выбор пал на Sypex Geo.

Sypex Geo – продукт для определение местоположения по IP-адресу. Получив IP-адрес, Sypex Geo выдает информацию о местоположении посетителя – страну, регион, город, географические координаты.

Sypex Geo - распространяется по лицензии BSD, т. е. является абсолютно бесплатным. База данных, Sypex Geo - это разработанный по своему формату бинарный файл. Формат является открытым и универсальным, была проделана большая работа по оптимизации алгоритма доступа и поиска. Благодаря этому, поиск в Sypex Geo работает значительно быстрее конкурентов, использует меньше памяти, не нагружает движок сайта.

Для использования надо скачать с сайта sypexgeo.net базу и скрипт.

1. Скопировать SxGeo.php и SxGeo.dat (или SxGeoCity.dat или другие базы) на сервер
2. Подключить файл SxGeo.php в свой скрипт, добавив строку 

include("SxGeo.php");

На сайте есть пример подключения.

Ниже приводится код подключения Sypex Geo  для определения страны пользователя для сайта на Joomlа. Особенность, что здесь реализована передача переменной из PHP в javascript и в модулях используется только javascript, так как использование PHP напрямую в модулях Joomla не поддерживается. Есть, конечно, способы обхода - но данный пример как раз для общего случая, без использования РHP в модулях и плагинах при использовании переменной определенной страны.

Скрипт геотаргетинга

 <?php

global $country;
require_once('sxgeo/SxGeo.php');
$SxGeo = new SxGeo('sxgeo/SxGeo.dat');
$ip = $_SERVER['REMOTE_ADDR'];
$country = $SxGeo->getCountry($ip);
unset($SxGeo);
?>
<script language="JavaScript" type="text/javascript">
var ukr = "<?php echo($country); ?>";
</script>

 Скачаные файлы SxGeo.dat и SxGeo.php  перенести на хостинг в директорию sxgeo, которую создать в главном каталоге.

В скрипте объявляется глобальная переменная ukr для JavaScript и ей присваивается индекс страны пользователя. Так  для Украины - UA

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

<!-- Yandex.RTB R-A-XXXXX-3 -->
<div id="yandex_rtb_R-A-XXXXX-3"></div>
<script type="text/javascript">
if (ukr != 'UA') {
(function(w, d, n, s, t) {
w[n] = w[n] || [];
w[n].push(function() {
Ya.Context.AdvManager.render({
blockId: "R-A-XXXXX-3",
......
})(this, this.document, "yandexContextAsyncCallbacks");

}
</script>
<!-- Composite Start -->
<div id="MXXXXXXScriptRootCXXXXXX">
<script>
if (ukr == 'UA') {
(function(){
var D=new Date(),d=document,b='body',ce='createElement',ac='appendChild',st='style',ds='display',n='none',gi='getElementById';

.....

t="+D.getYear()+D.getMonth()+D.getDate()+D.getHours();c[ac](s);})();

}
</script>
</div>
<!-- Composite End -->

 По условию if (ukr == 'UA') {....} будет вызываться код и показываться реклама для пользователей Украины, для всех остальных условие if (ukr != 'UA') {....}

Если есть возможность использовать скрипты PHP, то тогда еще проще. Вставляете условие в HTML (или PHP) код:

 

<?php if($slide == 'link1') ?>
//content
<?php endif; ?>

Даный скрипт уневерсален и может использоваться не только для выборочного показа рекламы по странам, но и для различных других целей, где необходимо определить место нахождения пользователя. Так же код можно использовать в любых других СМС или HTML. Для более детального определения (регион, город) надо использовать другую базу SxGeoCity.dat, но она значительно больше. Полный перечень доступных параметров:

Страны

  • ID страны
  • Код страны ISO 3166-1 (двухсимвольный)

Города

  • ID страны
  • Код страны ISO 3166-1 (двухсимвольный)
  • Название региона (опционально)
  • Город
  • Широта
  • Долгота
  • Численность населения (опционально)
  • Почтовые индексы (опционально)
  • Телефонные коды (опционально)
  • Timezone

 Для автоматического обновления баз на сайте есть скрипт, который можно подключить в планировщик на хостинге. Но в случае определения только страны достаточно раз в несколько месяцев обновить вручную. Смотря для каких целей Вы будете использовать  геотаргетинг. Если для выбора рекламы, то абсолютно ничего критического.

Перед принятием решения рекомендуется внимательно проанализировать статистику Вашей аудитории, процент с Украины. В любом случае заходы с Украины будут и доход однозначно увеличится.