Интеграция ipinfo.io в Яндекс Метрику
Есть прекрасный расшифратор ip адреса, а именно https://ipinfo.io
Для того что бы подключить его бесплатную версию, достаточно воспользоваться скриптом ниже.
Например так выглядит стандартный скрипт яндекс метрики 2.0 на вашем сайте или в интерфейсе яндекс метрики после его создания
<!-- Yandex.Metrika counter -->
<script type="text/javascript" >
(function(m,e,t,r,i,k,a){m[i]=m[i]||function(){(m[i].a=m[i].a||[]).push(arguments)};
m[i].l=1*new Date();
for (var j = 0; j < document.scripts.length; j++) {if (document.scripts[j].src === r) { return; }}
k=e.createElement(t),a=e.getElementsByTagName(t)[0],k.async=1,k.src=r,a.parentNode.insertBefore(k,a)})
(window, document, "script", "https://mc.yandex.ru/metrika/tag.js", "ym");
ym(96883393, "init", {
clickmap:true,
trackLinks:true,
accurateTrackBounce:true,
webvisor:true
});
</script>
<noscript><div><img src="https://mc.yandex.ru/watch/96883393" style="position:absolute; left:-9999px;" alt="" /></div></noscript>
<!-- /Yandex.Metrika counter -->
Из него нам нужно взять только номер счетчика, в скрипте, например это:
96883393
Ниже представлена модифицированная версия счетчика, которая совмещает в себе уже счетчик встроенный в оболочку Api сервиса ipinfo.io
Нужно взять ваш номер счетчика и заменить в скрипте ниже, номер счетчика меняется в скрипте в двух местах, тут и тут.
Внимательно проверьте номер который вы вставляете, ошибка в одной цифре может повлечь за собой сброс обучения в счетчике яндекс метрики.
<!-- Yandex.Metrika counter -->
<script type="text/javascript">
var yaParams = {};
var xhr_isp = new XMLHttpRequest();
xhr_isp.open('GET', 'https://ipinfo.io/json');
xhr_isp.setRequestHeader("Content-Type", "application/json; charset=UTF-8");
xhr_isp.responseType = 'json';
xhr_isp.onload = function(){
var resp = xhr_isp.response;
// отфильтровать результат
yaParams.ip = resp.ip;
yaParams.org = resp.org;
// отправка в метрику
console.log('params', yaParams);
// Отправка параметров в Яндекс.Метрику после получения информации об IP-адресе
(function(m,e,t,r,i,k,a){m[i]=m[i]||function(){(m[i].a=m[i].a||[]).push(arguments)};
m[i].l=1*new Date();
for (var j = 0; j < document.scripts.length; j++) {if (document.scripts[j].src === r) { return; }}
k=e.createElement(t),a=e.getElementsByTagName(t)[0],k.async=1,k.src=r,a.parentNode.insertBefore(k,a)})
(window, document, "script", "https://mc.yandex.ru/metrika/tag.js", "ym");
ym(93956930, "init", {
params: yaParams,
clickmap: true,
trackLinks: true,
accurateTrackBounce: true,
webvisor: true
});
};
xhr_isp.onerror = function(){
// Обработка ошибки при запросе IP-адреса
}
xhr_isp.send();
</script>
<noscript><div><img src="https://mc.yandex.ru/watch/93956930" style="position:absolute; left:-9999px;" alt="" /></div></noscript>
<!-- /Yandex.Metrika counter -->
Вставляете этот счетчик на ваш сайт до закрывающего тега
Старый счетчик можно удалить, но я рекомендую его просто закомментировать.
При комментировании счетчик работать не будет.
По правилам это делается путем добавления «» на строчку ниже скрипта.
Есть простой лайфхак, так как скрипт счетчика вставляется уже с комментарием вначале и вконце.
В верхнем комментарии можно просто удалить «>»
Так выглядит счетчик до комментирования
Так выглядит закомментированный счетчик, если он закомментировался, согласно синтаксиса js он окрашивается в зеленый цвет. Это значит что он не исчезает из текста документа но становится бездейственным.
Далее идем в настройки Яндекс метрики, заходим в «Поведение» -> «Вебвизор»

Заходим в настройки столбцов

Проставляем все галочки, сверху вниз, обратите внимание что они прокручиваются вниз.
И нажимаете «Применить»

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

Так расширенный и заполненный при помощи ipifo.io
