Яндекс директ - компенсация заблокированного трафика с Украины
После блокирования Украиной сервисов Yandex у многих вебмастеров, да практически у всех, только в разной степени, просел трафик и посещаемость. Доля украинского рынка рекламы составляет в среднем до 25%, и если у кого-то 10-15% то это тоже существенно. Речь идет не о политике, а о чисто коммерческой составляющей. Если уж так случилось, то что можно предпринять для восстановления или увеличения баланса?
Так как рекламный код РСЯ или RTB Яндекс-а у пользователей с Украины не только не работает, но и тормозит загрузку сайта или оставляет его в недогруженном состоянии, при этом активны анимации браузера, указывающие что сайт еще грузится. Все это плохо отражается и на показателях статистики.
Можно ничего не делать и просто смирится с потерянным трафиком для монетизации, или отказаться от рекламных сетей яндекса и перейти на другие. Но отказываться от Яндекса в основном не целесообразно, так как с него идет неплохой доход сопоставимый только с Google Adsense, а зачастую и больше. Другие системы заработка на сайте со значительным отрывом уступают этим двум, да и часто использование их может плохо сказаться на ранжирование сайта вплоть до бана поисковых систем.
Поэтому хорошей альтернативой Яндекс директу (RTB) будет система геотаргетирования для заблокированного трафика с Украины на показ другой рекламы. Можно использовать хорошие тизерки, например, Маркетгид или другую рекламную компанию для показа на рекламных местах Яндекса пользователям Украины. Плюс еще в том, что тогда не будет вызываться заблокированный код Яндекса и следовательно не будет нарушаться загрузка сайта.
Стратегия понятна и правильная, возможно необходимо такая система переключения рекламы м в других случаях. Осталось реализовать. В зависимости от движка сайта или различных СМС ( WordPress, Drupal, Joomla и др.) существуют внешние расширения или модули, плагины для геотаргетирования. Это один из способов. Однако не хотелось бы нагружать при этом движок и добавлять внешних ссылок. К тому же, большинство плагинов платные.
Flat Profit Maker
Плагин Flat PM обладает необходимым функционалом для вывода рекламных блоков на сайте. Простой и понятный интерфейс позволяет быстро разобраться с настройками. Полностью на русском языке.
AdsPlace’r Pro
Плагин полностью на русском языке, имеет 11 параметров таргетинга, в том числе и геотаргетинг. Распространяется на платной основе, но его лицензия и обновления предоставляются навсегда. Никаких ежегодных доплат за обновления делать не придётся.
Ad Inserter PRO
Его функционал, даже в бесплатной версии, способен закрыть любые потребности в размещении рекламы на сайте. Но, геотаргетинг, аналитика, А/В тестирование и другие плюшки доступны только в PRO версии.
Ниже будет предложен простой способ реализации на 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
Для автоматического обновления баз на сайте есть скрипт, который можно подключить в планировщик на хостинге. Но в случае определения только страны достаточно раз в несколько месяцев обновить вручную. Смотря для каких целей Вы будете использовать геотаргетинг. Если для выбора рекламы, то абсолютно ничего критического.
Перед принятием решения рекомендуется внимательно проанализировать статистику Вашей аудитории, процент с Украины. В любом случае заходы с Украины будут и доход однозначно увеличится. Этот способ геотаргитина можно использовать и в различных других применениях.