Добавить IP-адрес посетителя в отчет Яндекс метрики

Добавить в IP-адрес посетителя в отчет Яндекс метрики

Предварительная настройка

Для добавления IP-адреса посетителя сайта в отчет Яндекс метрики необходимо немного модифицировать код счетчика.

Воспользуемся сервисом l2.io, который позволяет получить ip-адрес.

Добавим скрипт до счетчика метрики

<!-- получаем ip адрес -->
<script type="text/javascript" src="https://www.l2.io/ip.js?var=userip"></script>

Теперь нам остается передать параметр ip в отчет, для этого добавляем строчку params:{‘ip’: userip} в основной код метрики.

В результате получим код счетчика:

<!-- получаем ip адрес -->
<script type="text/javascript" src="https://www.l2.io/ip.js?var=userip"></script>
<!-- Yandex.Metrika counter -->
<script type="text/javascript" >
    (function (d, w, c) {
        (w[c] = w[c] || []).push(function() {
            try {
                w.yaCounter99999999 = new Ya.Metrika2({
                    id:99999999,
                    clickmap:true,
                    trackLinks:true,
                    accurateTrackBounce:true,
                    webvisor:true,
                    params:{'ip': userip}
                });
            } catch(e) { }
        });

        var n = d.getElementsByTagName("script")[0],
            s = d.createElement("script"),
            f = function () { n.parentNode.insertBefore(s, n); };
        s.type = "text/javascript";
        s.async = true;
        s.src = "https://mc.yandex.ru/metrika/tag.js";

        if (w.opera == "[object Opera]") {
            d.addEventListener("DOMContentLoaded", f, false);
        } else { f(); }
    })(document, window, "yandex_metrika_callbacks2");
</script>
<noscript><div><img src="https://mc.yandex.ru/watch/99999999" style="position:absolute; left:-9999px;" alt="" /></div></noscript>
<!-- /Yandex.Metrika counter -->

где 99999999 — ваш ID из Яндекс метрики

Выводим IP в отчетах

Переходим в Метрику — Вэбвизор, нажимаем «Настроить столбцы» и добавляем столбец «Параметры визитов»

Добавить IP-адрес посетителя в отчет Яндекс метрики 1

В результате, через некоторое время, после захода новых посетителей сайта, в вэбвизоре будет следующая картина:

Добавить IP-адрес посетителя в отчет Яндекс метрики 2

Так же, отчеты по IP адресам можно посмотреть:
Отчеты — Стандартные отчеты — Содержание — Параметры визитов

UPD 28.11.2018

Как подсказали в комментариях, сервис l2.io работает с перебоями, из-за этого будем использовать другой способ определения ip

Необходимо перед счетчиком метрики в код страницы добавить javascript:

<script type="text/javascript">
var yaParams = {ip_adress: "<? echo $_SERVER['REMOTE_ADDR'];?>"};
</script>

 И в самом коде счетчика метрики (см. выше) вместо params:{‘ip’: userip} надо вставить params:window.yaParams

UPD 06.06.2019

Заметил, что в Яндекс Метрике появился новый код счетчика, с поддержкой вэбвизора 2.0

Потестировал для него определение ip-адрес посетителя с помощью сервиса l2.io, ip определяется корректно
Вот так будет выглядеть обновленный код счетчика:

<!-- Get user ip -->
<script type="text/javascript" src="https://www.l2.io/ip.js?var=userip"></script>
<!-- /Get user ip -->
<!-- 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();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(12345678, "init", {
        clickmap:true,
        trackLinks:true,
        accurateTrackBounce:true,
        webvisor:true,
        params:{'ip': userip}
   });
</script>
<noscript><div><img src="https://mc.yandex.ru/watch/12345678" style="position:absolute; left:-9999px;" alt="" /></div></noscript>
<!-- /Yandex.Metrika counter -->

где 12345678 — номер счетчика. Его надо поменять на Ваш (в 2-х местах)

Максим Макаров
У блога появился хостинг, его любезно предоставила компания Облакотека.
Облакотека - облачные сервисы для создания и управления виртуальной ИТ-инфраструктурой.
Если вам понравился мой блог и вы хотели бы видеть на нем еще больше полезных статей, большая просьба поддержать этот ресурс. Для этого достаточно кликнуть на контекстную рекламу, расположенную на сайте.
Оцените автора
IT Draft
Добавить комментарий

Нажимая на кнопку "Отправить комментарий", я даю согласие на обработку персональных данных и принимаю политику конфиденциальности.

  1. Dmitry

    Не работает сайт https://www.l2.io
    Весной месяц не работал, и весь ноябрь.
    Так что не приходят никакие IP этим способом

    Ответить
    1. Максим Макаров автор

      Когда писал статью работал, правда на след. день что-то заглючил счетчик метрики, и пришлось убрать изменения. Постараюсь на днях обновить статью.

      Ответить
  2. Anton

    Прописал всё по тексту, а в метрике выводит только такую строку вместо ip:

    «? echo $_SERVER[‘REMOTE_ADDR»

    Ответить
    1. Максим Макаров автор

      Тогда 2 варианта:
      1. Возможно в настройках php выключена опция short open tag, и надо попробовать прописать

      var yaParams = {ip_adress: «< ? php echo $_SERVER['REMOTE_ADDR']; ? >«};

      2. По какой-либо причине не обрабатывается php-код внутри javascript. В этом случае надо подключать либо сервис на подобии сайта, о котором говорится в самом начале статьи, либо писать свой обработчик на javascript

      Ответить
  3. ЗЕНФИРА

    Я ДЕЛАЛА КАК ВЫ ПИСАЛИ, НО НЕ ПОЛУЧИЛОСЬ. 89.222.164.xxx ПИШЕТ ТОЛЬКО ТАК.

    Ответить
    1. Максим Макаров автор

      89.222.164.xxx — это и есть IP-адрес

      Ответить
  4. Павел Мрыкин

    Поделитесь опытом, что вы дальше делайте с этим IP-адресом?

    Какова цель сбора?

    Ответить
    1. Максим Макаров автор

      Я у себя не использую определение IP, не вижу смысла. А вообще можно использовать на пример для блокировки скликивания контекстной рекламы конкурентами

      Ответить