Добавить 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, не вижу смысла. А вообще можно использовать на пример для блокировки скликивания контекстной рекламы конкурентами

      Ответить
  5. Дмитрий

    Версия от UPD 06.06.2019 работает, но не у всех визитов определяет IP. Не знаете в чем может быть проблема?

    Ответить