Как узнать Ip посетителей сайта с помощью Яндекс Метрики

metrika_ip_5Довольно часто возникает потребность в определение Ip адреса посетителя сайта с последующей целью анализа. Раньше Яндекс Метрика предоставляла информацию по поводу IP адресов посетителей, но с недавних пор по неизвестным причинам данный параметр был убран.  В первую очередь эта информация актуальна для интернет магазинов и сайтов, которые активно привлекают трафик через Яндекс Директ, Гугл Adwords и другие системы контекстной и тизерной рекламы. У меня же такая потребность возникла после того, как хулиганы пытались скликивать Директ, и надо было не показывать им рекламу. Давайте приступим к мануалу о том как отследить Ip адрес посетителя в Яндекс Метрике.

Примерно в феврале 2014 года Яндекс убрал параметр определения Ип адреса посетителя, так же в будущем Яндекс тестирует шифрование текстов запросов в поисковой системе. То есть в ближайшем будущем, мало того, что вы стандартными средствами не можете отследить Ип адрес вашего посетителя, так и в будущем не сможете определить по какой поисковой фразе он зашел и какие фразы имеют большую конверсию и прибыль.  Не знаю с чем это связано, но в первую очередь думаю с сео оптимизацией и сео специалистами. Задача Яндекса, чтобы сайт развивали комплексно и в первую очередь владельцы думали об его улучшении и предоставление максимально информации о фирме, товаре и услуге. В данных реалиях в первую очередь коммерческие сайты и интернет бизнес интересуют определенные поисковые запросы и конверсия с них, жертвуя многим, они занимаются работой лишь над самыми эффективными запросами, но в первую очередь Яндексу надо, чтобы были хорошие ответы на максимальное количество запросов от своих пользователей.

Официальная Информация от Яндекса

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

Общую политику Яндекса относительно приватности данных мы подробно описывали при запуске эксперимента по шифрованию рефереров.

Как и раньше, Метрика будет предоставлять максимум обезличенной информации о ваших посетителях: социально-демографические параметры аудитории, ее интересы, разбивку по регионам, время и длительность посещений, данные о роботах, которые посещали сайт, и многое другое.

Источник:  http://clubs.ya.ru/metrika/replies.xml?item_no=10888

Многие аналитики и оптимизаторы недовольны этим действием в первую очередь потомучто:

1. Нельзя отслеживать мошенников, которые скликают рекламные бюджеты

2. Боты, которые периодически посещают сайт и ухудшают поведенческие факторы

3. Конкуренты, которые копируют контент, скликивают Директ, ухудшают поведенческие факторы вашего сайта

 

                         3 шага по установке кода, чтобы успешно отслеживать в Метрике IP адреса посетителей.

1.  Поправляем текущий код Яндекс Метрики

Необходимо добавить строку   var yaParams = {ip_adress: «<? echo $_SERVER[‘REMOTE_ADDR’];?>»};

Необходимо передать параметр в метрику.   добавив   params:window.yaParams, 

P.s  Если не будет работать с  $_SERVER[‘REMOTE_ADDR’] попробуйте    $_SERVER[‘X_FORWARDED_FOR’]

Пример кода

2. Воспользуемся параметрами визитов

Старая метрика

metrika_ip_1

Новая метрика

parametry_vizita

 

В параметре визитов мы увидим следующую картину

Старая метрика

metrika_ip_2

 

Новая метрика

Ip_adress

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

 

3. Теперь нам надо передать параметры

Поведение — Настроить видимость столбцов — Параметры

 

Старая метрика

metrika_ip_3

 

Новая метрика

param

 

4. В результате данных действий мы получаем информацию по Ип адресам ваших посетителей

Старая метрика.

metrika_ip_4

Новая метрика

ip_metrika

 

Если есть проблемы в установке кода жду вопросов в комментариях.

Как узнать Ip посетителей сайта с помощью Яндекс Метрики: 60 комментариев

  1. Тоха

    Привет. Я добавил кусок кода в метрику, как ты посоветовал, но в Содержание — Параметры визитов, так ничего и не добавилось. Просто пустые столбцы и все.
    Что не так? Или не работает уже этот метод?

      1. Archy

        А не могли бы вы скопировать свой код, что бы люди могли заменив номер счетчика, поставить его у себя!?

  2. Владимир

    Дмитрий, спасибо за интересный материал. Попробовал применить его на практике. Внес изменения в код метрики. Через сутки посмотрел результат в статистике, но почему то столбец с параметрами пустой… В чем может быть проблема?

  3. Александр

    Добрый день. Можно ли поправить код плагина яндекс метрики? Там вроде не видно как определяют переменные. Если да, то как? Пример кода плагина:
    options = array_merge( array(
    ‘counter-code’ => »,
    ), (array) get_option( ‘yandex-metrika’, array() ) );

    load_plugin_textdomain( ‘yandex-metrika’, false, basename( dirname( __FILE__ ) ) . ‘/languages’ );
    }

    function admin_init() {
    register_setting( ‘yandex-metrika’, ‘yandex-metrika’, array( $this, ‘sanitize’ ) );
    add_settings_section( ‘general’, », », ‘yandex-metrika’ );
    add_settings_field( ‘counter-code’, __( ‘Counter code’, ‘yandex-metrika’ ), array( $this, ‘field_counter_code’ ), ‘yandex-metrika’, ‘general’ );
    }

    function sanitize( $input ) {
    $output = array();

    if ( isset( $input[‘counter-code’] ) )
    $output[‘counter-code’] = ( current_user_can( ‘unfiltered_html’ ) ) ? $input[‘counter-code’] : wp_kses_post( $input[‘counter-code’] );

    return $output;
    }

    function field_counter_code() {
    ?>
    options[‘counter-code’] ); ?>
    <?php _e( 'If you do not have a counter code, you can request one.’, ‘yandex-metrika’ ); ?>

    options[‘counter-code’] ) )
    echo $this->options[‘counter-code’];
    }
    }
    $GLOBALS[‘yandex_metrika_plugin’] = new Yandex_Metrika_Plugin;

  4. Profuter

    Не работает потому, что автор выделил не все куски кода которые подправить надо. Там еще надо выделить жирным передачу этого параметра в метрику яндекса, а именно

    params:window.yaParams,

    а мы его и не вклеиваем поскольку не замечаем, соответственно и данные не передаются в метрику smile

    1. Slip Автор записи

      Да , да и передаем параметр params:window.yaParams — в коде он указан, просто все невнимательные , и не могут толком посмотреть как изменился код и попросить меня в консультанте о помощи

  5. Владимир

    А если вот такая вот картина в метрике http://prntscr.com/aap5ag.
    Уже и $_SERVER[‘REMOTE_ADDR’] ставил и $_SERVER[‘X_FORWARDED_FOR’] — результат тот же. В коде «params:window.yaParams,» тоже добавил. Может в самом коде я что-то не там разместил. Вот как сейчас у меня — http://prntscr.com/aap6ww. Заранее благодарен за помощь

    1. Vitalyj

      Владимир, перенесите параметр params:window.yaParams сразу после запятой w.yaCounterXXXX = new Ya.Metrika({id:XXXXX,

      Должно заработать.

      1. Владимир

        Vitalij, после какой запятой? После id, та что? Чтобы вот так было?

        w.yaCounter111 = new Ya.Metrika({
        id:111,
        params:window.yaParams,
        clickmap:true,
        ?

  6. Дамир

    Народ помогите кто может — мой сайт ???? на Wordpres — все что показывает в вебвизере — это слово ip_adress

  7. Максим

    Здравствуйте! Скажите, а будет ли данный способ работать для сайта, созданного в конструкторе LPgenerator?

    1. Максим

      Отредактировал код, но в Вебвизоре отображается содержимое в скобках { } после var yaParams = . Подскажите в чем может быть проблема?

    2. Денис

      Максим, для сайта LPGenerator и подобных код работать не будет, т.к. метод основан на использовании PHP, а именно или
      Это так же не будет работать на любом другом сайте, не поддерживающем PHP на серверной стороне.
      Поэтому предлагаю более изящный способ решения, с помощью внешнего javascript’а, на основе, например http://l2.io

      var userip; // Определяем переменную для сохранения IP пользователя

      // Подтягиваем внешним скриптом в переменную userip адрес

      var yaParams = {userip}; // Задаем нужный параметр, который в Яндекс прилетит как userip + IP адрес
      document.write(«Your IP is :», userip); // Это проверочный код, что все работает, нужно убрать после проверки

      …..
      и в тексте счетчика не забываем вставить params:window.yaParams

      Автора просьба проверить и по возможности уточнить пост этим универсальным способом smile

      1. Денис

        Или в абсолютно сухом остатке, для тех кто понял принцип:


        params:{userip}

        Решение в одну строку laugh

        1. Костя

          Денис, я в коде вообще не смыслю. и не понимаю, вместо чего и где писать эти изменения (в каком месте кода)

          вот так правильно?

          document.write(«Your IP is :», userip);
          (function (d, w, c) {
          (w[c] = w[c] || []).push(function() {
          try {
          var yaCounter27975141 = new Ya.Metrika({
          id:27975141,
          clickmap:true,
          trackLinks:true,
          accurateTrackBounce:true,
          params:{userip},
          webvisor:true
          });
          } catch(e) { }

          1. Денис

            Костя, расписать подробнее, чем я уже это сделал, не получится, уже и так по шагам. При желании можете обратиться к автору блога Дмитрию с просьбой помочь лично, или напишите мне в вк логин delphius и я помогу сам.

        2. Костя

          script type=»text/javascript» src=»https://l2.io/ip.js?var=userip»>

          document.write(«Your IP is :», userip);
          (function (d, w, c) {
          (w[c] = w[c] || []).push(function() {
          try {
          var yaCounter27975141 = new Ya.Metrika({
          id:27975141,
          clickmap:true,
          trackLinks:true,
          accurateTrackBounce:true,
          params:{userip},
          webvisor:true
          });
          } catch(e) { }

          1. Костя

            script type=»text/javascript» src=»https://l2.io/ip.js?var=userip»>
            !— Yandex.Metrika counter —>
            script type=»text/javascript»>
            document.write(«Your IP is :», userip);
            (function (d, w, c) {
            (w[c] = w[c] || []).push(function() {
            try {
            var yaCounter27975141 = new Ya.Metrika({
            id:27975141,
            clickmap:true,
            trackLinks:true,
            accurateTrackBounce:true,
            params:{userip},
            webvisor:true
            });
            } catch(e) { }

            !— /Yandex.Metrika counter —>

      2. Костя

        Максим, можете полному «чайнику» объяснить — како код вставить нужно?
        у меня также сайт на конструкторе Lp motor
        спасибо

        1. Костя

          то есть, ДЕНИС (сори перепутал)

          , можете полному «чайнику» объяснить — како код вставить нужно?
          у меня также сайт на конструкторе Lp motor
          спасибо

          1. Денис

            Костя, здравствуйте!
            В любой системе генератора посадочной страницы есть редактор, в котором существует возможность вставки на страницу собственного скрипта, например для формы обратной связи и т.п.
            Необходимо вставить скрипт вашей Я.Метрики, но с изменениями, как на картинке: http://www.imageup.ru/img89/2448793/script.jpg.html
            Т.е. п.1 — определяем переменную userip (ее можно назвать как сами захотите) и задаем ей значение ip посетителя с помощью внешнего сервиса l2.io
            п.2 — это строка для проверки, т.е. на каждой странице, где есть метрика будет появляться ip посетителя. После проверки, что все работает, ее нужно или закомментировать или убрать.
            п.3 — непосредственно передача переменной userip в которой уже есть ip адрес посетителя (см. п.1) в виде параметра в коде Я.Метрики.
            Вроде расписал подробно.
            P.S. Автора блога большая просьба уточнить статью данным способом для тех, у кого не получается с вышеописанным способом с использованием php. Этот способ абсолютно универсальный, подходит для всех систем и хостингов, главное, чтобы была возможность вставки скриптов.
            Спасибо.

  8. Владимир

    По совету Vitalij перенесите параметр params:window.yaParams сразу после запятой w.yaCounterXXXX = new Ya.Metrika({id:XXXXX, — теперь вот так вот код — http://prntscr.com/ah57q8, но результатат нет. В отчетах вместо ip адреса «ip_adress.».
    Вот — http://prntscr.com/ah57ts. Какие есть еще варианты чтобы заработало?

    1. Slip Автор записи

      если не исправили, проверьте еще раз код, добавил в статью код через плагин

  9. Евгений

    Все сделал как написано, в параметрах визитов пишет «нет данных»

      1. Slip Автор записи

        если не исправили, проверьте еще раз код, добавил в статью код через плагин

  10. sour

    Изменённый код метрики отсюда. В параметрах визита, вместо ip отображается то же что и у Владимира.

  11. Владимир

    Добавил Ваш новый код, что Вы разместили через плагин, прописал в нем свой номер счетчика.
    Первый вариант кода был с $_SERVER[‘REMOTE_ADDR’] — не помогло.
    Поменял на $_SERVER[‘X_FORWARDED_FOR’] — тоже не помогло… Как были буквы вместо ip-адресов, так и остались, только поменялись на те что заменил. Вот смотрите — http://prntscr.com/alj4z2.

    Код добавлен через GTM. Может в этом быть проблема?

    1. Slip Автор записи

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

  12. Владимир

    А какие должны быть настройки? На что нужно обратить внимание в настройках апача, чтобы работало корректно?

  13. Владимир

    А почему где код вывода ip адреса — точки стоят? Так и должно быть? Разве там не $_SERVER[‘REMOTE_ADDR’] должно быть?

  14. Алексей

    Не понимаю где этот код надо изменять, у меня же нет доступа к коду метрики яндекса, или нужно в своей админке изменять

  15. Петр

    Здравствуйте. Поменял код появилась колонка ip адреса, но я не могу ее раскрыть нет кнопки +- как у вас на скрине (новая метрика)

  16. Петр

    В параметрах визита не открывается как я уже написал выше, в параметрах урл пишет нет данных, в вебвизоре просто пишет ip_adress.

  17. Valeria

    Добавила Ваш код и что то не сработало
    1) — вид в отчетах — http://prntscr.com/aohcej
    2) вид в вебвизоре — http://prntscr.com/aohbzg

    Причем сама по себе переменная — var yaParams = {ip_adress: «»}
    выдает IP при обращении к ней

    document.write(«IP:» + yaParams.ip_adress);

    В этом определении ошибок нет, а вот в остальном коде, есть какое то обращение, которое вместо IP (yaParams.ip_adress) возвращает
    ip_adress.

    С настройкой php на сервере это не связано — он отлично работает.

    С переменной и ее размещением params:window.yaParams тоже прекрасно осведомлена.
    Но все равно код не хочет работать.

    Если переменной yaParams напрямую без классов указать

    var yaParams = «»

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

    Помогите пожалуйста понять что можно сделать

  18. Алексей

    Спасибо за помощь, я вообще не программист и от интернета далек, но благодаря коду и почитав внимательно комментарии разобрался, все работает. На обоих сайтах все заработало. Ребят реально спасибо огромное, очень сильно пригодилось!

  19. петр

    Добрый день!
    Подскажите, пожалйста, где ошибка.
    Пробовал и ip_adress. и ip_adress.
    Вебвизор в поле «Парам. визита» так и выдает ip_adress. или
    ip_adress.
    мой код яндекс-метрики http://i.imgur.com/vJbwVsM.jpg

  20. Любовь

    Спасибо за полезную информацию. Я не программист, но разобраться получилось. Сайт на WP.
    Адреса IP отображаются. Но тут появилось одно «НО»: не видно переходов на сайт с мобильного телефона. Таких посетителей на сайте около 25% ежедневно. Сейчас видны только переходы с компьютеров и планшетов. Например, вчера в гул адвордсе у меня было 15 переходов по рекламе: 8 с компьютеров, 2 — с планшета и 3 с мобильного. В Яндекс метрике переходов с мобильного нет. До внесения изменений в код метрики такие переходы отображались. Все бы и ничего, но есть один гад, который конкретно скликивал рекламу и который заходил с мобильного. Подозреваю, что он до сих пор это делает, но вычислить его не получается.
    Может кто-то еще сталкивался с такой проблемой? Есть ли другие варианты кода, которые будут отображать переходы с мобильного (я пробовала и $_SERVER[‘REMOTE_ADDR’] и $_SERVER[‘X_FORWARDED_FOR’] ?

  21. Алексей

    День добрый. Подскажите плизз что может быть сайт на опенкарт вставляю данный код через админ панель — настройки — сервер там окошко для счётчиков. В метрике показывает ip_adress. вместо айпишника. Помогите плиз. Задолбали скликивать рекламу в Директе sad

    1. Алексей

      Спасибо за статью. Разобрался чего не работало.
      Не знаю как в других CMS но в opencart нужно вставлять код непосредственно в файл futer.tpl а не через админ панель.
      Через админку не работает короче..
      Ещё раз спасибо очень полезная инфа..

      1. Артур

        Алексей, напишите пожалуйста код который вы вставили в footer.tpl. У меня ничего не заработало — пишет вместо ip адреса название переменной.

  22. Игорь

    Здравствуйте, у меня вопрос:
    все заработало, как я только переименовал html файл php, можно ли как то отдельно с html файла сослаться на php файл в котором будет вот это:
    
    В плане, я хочу сделать так, чтобы в html файле был указан путь php страницы для определения ip. Это возможно?

  23. Artur

    Здравствуйте! При работе с кодом возникли 2 проблемы:
    1 Метрика не показывает IP в отчёте «параметры визитов» по причине: «Поддерки алгоритмов безопасности сервисов Яндекса…» http://prntscr.com/c10hpz
    2 Можно выбрать группировки «IP адрес» в других отчётах. Таким образом 1 проблему можно обойти. Но возникает следующая сложность: в IP-адресе последние три цифры заменены на».ххх» http://prnt.sc/c0zixa и вывести в отчёт Вебвизора можно только колонку. — Сами IP-адреса не подгружаются.
    Подскажите, как Вы решаете эту проблему?

  24. kain

    Добрый день! прошу помощи. Уже задолбался и все перепробовал, всеравно ничего не выводится, даже надписи ip_adress. Сайт ….. гляньте пожалуйста если не сложно! Сайт на WP, хостер jino.ru
    Еще одно, код вставлен через плагин яндекс метрики, может в этом причина?

  25. Сергей

    var yaParams = {ip_adress: «»};

    Это эхо отдает мой IP а в метрике нифига

    второй еще непроверял.

  26. Павел

    У меня обычный вопрос: как в метрике поменять код? Я ничего не могу отредактировать, на что нужно нажать что бы пошло редактирование. Нажимаю на текст он весь выделяется.

  27. Егор

    Все сделал вроде, но не выводится IP.
    Показывается это:

    ip_adress.,
    ip_adress.

    Что делаю не так, господа? Плиз, хелп.

    Вот мой код:

    var yaParams = {ip_adress: «»};
    //объявляем параметр ip_adress и записываем в него IP посетителя

    (function (d, w, c) {
    (w[c] = w[c] || []).push(function() {
    try {
    w.yaCounterXXXXXXXX = new Ya.Metrika({
    id:XXXXXXXX, params:window.yaParams,
    clickmap:true,
    trackLinks:true,
    accurateTrackBounce:true,
    webvisor:true,
    trackHash:true
    });
    } 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/watch.js»;

    if (w.opera == «[object Opera]») {
    d.addEventListener(«DOMContentLoaded», f, false);
    } else { f(); }
    })(document, window, «yandex_metrika_callbacks»);

  28. Егор

    Прошу прощения, не отображается тут в тексте полностью..

    Вот скрин: https://lh3.googleusercontent.com/ezgmejRbjLHrV9g4QieVO6GWBgtCAOFq735cwjIcTaRkxq4mXKUnePc9xuovB0Olx_zh1W5ZqwTeNZffRntrxmyCFpyM03DRtluBeplBpKZbYzXqGFctlYeKuDORWn3E9gP2FoEyco729wYCpZoNq8TzL1u48P5F1uTsbs2bTh7z25ABeDX0aztnTRRQdMf214X6SBXwSV5xK3wA-uL27rveEOTmjoxsOCcwmM_9Ua7RBmJqdSxZCst5UxSWCVP_gdKbNGl2IOvOSdkvo_2rWk5d-kN_cwLR8OWnNgKY7VheWs4pH43_nPXGo47M0ZMMptQsdc5LaEQNuibCkK2DGD41hpO0_h5RI01NI4AxuSYLWCxrrq8E0pMxdnjMKcQW6mmcatDKe4iuelzRlcpf54BAKp7cMTK3mR98rssSydRc7imW7OZjXLn2ZeVc_xEkpQ84bzLq2wm5VHy83BRy8yxdRjiK9HTm2BHKvVYLLgIPEkKM2lwm9KQ92ULAJDK-kyVdBUUg3iOo0aA8hunTDzZrQwVB70hQ9yWvkczi7y8FgJBGrBNVsYEKrDDd5gXFVl03W6qYA_VlvjfTDmd8YAYRtWrLuwTTwDzdSv2uh_X5v7J1voPT=w554-h208-no

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *