Если Вам необходимо добавить параметр Ip адрес в Яндекс Метрике и у вас возникают трудности, Вы можете обратится ко мне.
Стоимость услуги 1 000 ₽. Можно обратится через Kwork, регистрируйтесь по ссылке Регистрация в Kwork и получайте 50% КЕШБЕКА с 1 заказа. Ссылка на услугу Передача параметров в Яндекс Метрику.
От вас необходимо:
- Доступ к Яндекс Метрике
- Доступ к файлу с кодом Яндекс Метрики или к конструктору сайтов
- Доступ к Google tag manager — если настройки сделаны через GTM
Связаться со мной вы можете любым удобным способом
Довольно часто возникает потребность в определение Ip адреса посетителя сайта. В первую очередь эта информация актуальна для интернет магазинов и сайтов, которые активно привлекают трафик через Яндекс Директ, Гугл Adwords и другие системы контекстной и тизерной рекламы.
У меня же такая потребность возникла после того, как хулиганы пытались скликивать Директ, и надо было не показывать им рекламу.
Примерно в феврале 2014 года Яндекс убрал параметр определения Ip адреса посетителя, так же в будущем Яндекс тестирует шифрование текстов запросов в поисковой системе. В ближайшем будущем, мало того, что вы стандартными средствами не можете отследить Ip адрес вашего посетителя, так и не сможете определить по какой поисковой фразе он зашел. Не знаю с чем это связано, но в первую очередь думаю с сео оптимизацией и специалистами.
Задача Яндекса, чтобы сайт развивали комплексно и в первую очередь думали об его улучшении и предоставление максимально информации о фирме, товаре и услуге. В данных реалиях в первую очередь коммерческие сайты и интернет бизнес интересуют определенные поисковые запросы и конверсия с них, жертвуя многим, они занимаются работой лишь над самыми эффективными запросами, но Яндексу надо, чтобы были хорошие ответы на максимальное количество запросов от своих пользователей.
Многие аналитики и оптимизаторы недовольны этим действием потому что:
- Нельзя отслеживать мошенников, которые скликают рекламные бюджеты.
- Боты, которые периодически посещают сайт и ухудшают поведенческие факторы.
- Конкуренты, которые копируют контент, скликивают Директ, ухудшают поведенческие факторы вашего сайта.
3 шага по установке кода, чтобы успешно отслеживать IP адреса посетителей в Яндекс Метрике .
1. Поправляем текущий код Яндекс Метрики
Необходимо добавить строку:
1 var ip = {ip_adress: "<? echo $_SERVER['REMOTE_ADDR'];?>"};
Необходимо передать параметр в метрику. Добавив params:window.ip.
P.s Если не будет работать с $_SERVER[‘REMOTE_ADDR’] попробуйте $_SERVER[‘X_FORWARDED_FOR’]
Пример кода
1234567891011121314151617181920212223242526272829303132 <!-- Yandex.Metrika counter --><script type="text/javascript">var ip = {ip_adress: "<? echo $_SERVER['REMOTE_ADDR'];?>"} //объявляем параметр ip_adress и записываем в него IP посетителя</script><script type="text/javascript">(function (d, w, c) {(w[c] = w[c] || []).push(function() {try {w.yaCounter ваш номер = new Ya.Metrika({id:ваш номер счетчика,webvisor:true,params:window.ip,clickmap:true,trackLinks:true,accurateTrackBounce:true,params:window.yaParams||{ }});} 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 = (d.location.protocol == "https:" ? "https:" : "http:") + "//mc.yandex.ru/metrika/watch.js";if (w.opera == "[object Opera]") {d.addEventListener("DOMContentLoaded", f, false);} else { f(); }})(document, window, "yandex_metrika_callbacks");</script><noscript><div><img src="//mc.yandex.ru/watch/**ваш номер счетчика" style="position:absolute; left:-9999px;" alt="" /></div></noscript><!-- /Yandex.Metrika counter -->
2. Воспользуемся параметрами визитов
В параметре визитов мы увидим следующую картину
Сам по себе список IP адресов не дает полную картину для последующего анализа и нам надо узнать Ip адреса посетителей с параметрами откуда они пришли к нам на сайт, какие поведенческие факторы от них идут и отследить по вебвизору, что они делали на сайте.
3. Теперь нам надо передать параметры
4. В результате данных действий мы получаем информацию по Ip адресам ваших посетителей
Если есть проблемы в установке кода жду вопросов в комментариях.
Привет. Я добавил кусок кода в метрику, как ты посоветовал, но в Содержание — Параметры визитов, так ничего и не добавилось. Просто пустые столбцы и все.
Что не так? Или не работает уже этот метод?
метод работает, сегодня лично проверил в новой метрике
А не могли бы вы скопировать свой код, что бы люди могли заменив номер счетчика, поставить его у себя!?
Дмитрий, спасибо за интересный материал. Попробовал применить его на практике. Внес изменения в код метрики. Через сутки посмотрел результат в статистике, но почему то столбец с параметрами пустой… В чем может быть проблема?
возможны проблемы в настройке php
А можете написать где это находиться в новом интерфейсе я.метрики.
сделал новые скрины
Добрый день. Можно ли поправить код плагина яндекс метрики? Там вроде не видно как определяют переменные. Если да, то как? Пример кода плагина:
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;
Не работает потому, что автор выделил не все куски кода которые подправить надо. Там еще надо выделить жирным передачу этого параметра в метрику яндекса, а именно
params:window.yaParams,
а мы его и не вклеиваем поскольку не замечаем, соответственно и данные не передаются в метрику
Да , да и передаем параметр params:window.yaParams — в коде он указан, просто все невнимательные , и не могут толком посмотреть как изменился код и попросить меня в консультанте о помощи
Уже и $_SERVER[‘REMOTE_ADDR’] ставил и $_SERVER[‘X_FORWARDED_FOR’] — результат тот же. В коде «params:window.yaParams,» тоже добавил. Может в самом коде я что-то не там разместил. Заранее благодарен за помощь
Владимир, перенесите параметр params:window.yaParams сразу после запятой w.yaCounterXXXX = new Ya.Metrika({id:XXXXX,
Должно заработать.
Vitalij, после какой запятой? После id, та что? Чтобы вот так было?
w.yaCounter111 = new Ya.Metrika({
id:111,
params:window.yaParams,
clickmap:true,
?
Народ помогите кто может — мой сайт ???? на Wordpres — все что показывает в вебвизере — это слово ip_adress
все нашел что делать — все заработало
Что поменял, такая же ситуация на данный момент
Здравствуйте! Скажите, а будет ли данный способ работать для сайта, созданного в конструкторе LPgenerator?
Отредактировал код, но в Вебвизоре отображается содержимое в скобках { } после var yaParams = . Подскажите в чем может быть проблема?
Максим, для сайта 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
Автора просьба проверить и по возможности уточнить пост этим универсальным способом
Или в абсолютно сухом остатке, для тех кто понял принцип:
…
params:{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) { }
Костя, расписать подробнее, чем я уже это сделал, не получится, уже и так по шагам. При желании можете обратиться к автору блога Дмитрию с просьбой помочь лично, или напишите мне в вк логин delphius и я помогу сам.
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) { }
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 —>
Максим, можете полному «чайнику» объяснить — како код вставить нужно?
у меня также сайт на конструкторе Lp motor
спасибо
то есть, ДЕНИС (сори перепутал)
, можете полному «чайнику» объяснить — како код вставить нужно?
у меня также сайт на конструкторе Lp motor
спасибо
Костя, здравствуйте!
В любой системе генератора посадочной страницы есть редактор, в котором существует возможность вставки на страницу собственного скрипта, например для формы обратной связи и т.п.
Необходимо вставить скрипт вашей Я.Метрики, но с изменениями.
Т.е. п.1 — определяем переменную userip (ее можно назвать как сами захотите) и задаем ей значение ip посетителя с помощью внешнего сервиса l2.io
п.2 — это строка для проверки, т.е. на каждой странице, где есть метрика будет появляться ip посетителя. После проверки, что все работает, ее нужно или закомментировать или убрать.
п.3 — непосредственно передача переменной userip в которой уже есть ip адрес посетителя (см. п.1) в виде параметра в коде Я.Метрики.
Вроде расписал подробно.
P.S. Автора блога большая просьба уточнить статью данным способом для тех, у кого не получается с вышеописанным способом с использованием php. Этот способ абсолютно универсальный, подходит для всех систем и хостингов, главное, чтобы была возможность вставки скриптов.
Спасибо.
Это значит, что страница на которой установлен код, должна быть index.php а не index.html ???
Максим, решили проблему? не получилось у меня
По совету Vitalij перенесите параметр params:window.yaParams сразу после запятой w.yaCounterXXXX = new Ya.Metrika({id:XXXXX, В отчетах вместо ip адреса «ip_adress.».
Какие есть еще варианты чтобы заработало?
если не исправили, проверьте еще раз код, добавил в статью код через плагин
Все сделал как написано, в параметрах визитов пишет «нет данных»
Нашел ошибки, но теперь такая же проблема как у Владимира выше
если не исправили, проверьте еще раз код, добавил в статью код через плагин
Изменённый код метрики отсюда. В параметрах визита, вместо ip отображается то же что и у Владимира.
Дополню
Проверил на 3х сайтах с разными движками
Добавил Ваш новый код, что Вы разместили через плагин, прописал в нем свой номер счетчика.
Первый вариант кода был с $_SERVER[‘REMOTE_ADDR’] — не помогло.
Поменял на $_SERVER[‘X_FORWARDED_FOR’] — тоже не помогло… Как были буквы вместо ip-адресов, так и остались, только поменялись на те что заменил.
Код добавлен через GTM. Может в этом быть проблема?
проверьте еще раз правильность кода, у меня все работает, возможно дело в настройках апача
А какие должны быть настройки? На что нужно обратить внимание в настройках апача, чтобы работало корректно?
Если ошибок нет в коде, то вопрос к настройке сервера у хостера.
А почему где код вывода ip адреса — точки стоят? Так и должно быть? Разве там не $_SERVER[‘REMOTE_ADDR’] должно быть?
Не понимаю где этот код надо изменять, у меня же нет доступа к коду метрики яндекса, или нужно в своей админке изменять
Здравствуйте. Поменял код появилась колонка ip адреса, но я не могу ее раскрыть нет кнопки +- как у вас на скрине (новая метрика)
В параметрах визита не открывается как я уже написал выше, в параметрах урл пишет нет данных, в вебвизоре просто пишет ip_adress.
Добавила Ваш код и что то не сработало
Причем сама по себе переменная — 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 начинает отображаться, но только в профиле старой метрике, а в новой и вебвизоре идут пустые строки.
Помогите пожалуйста понять что можно сделать
Спасибо за помощь, я вообще не программист и от интернета далек, но благодаря коду и почитав внимательно комментарии разобрался, все работает. На обоих сайтах все заработало. Ребят реально спасибо огромное, очень сильно пригодилось!
Добрый день!
Подскажите, пожалйста, где ошибка.
Пробовал и ip_adress. и ip_adress.
Вебвизор в поле «Парам. визита» так и выдает ip_adress. или
ip_adress.
Спасибо за полезную информацию. Я не программист, но разобраться получилось. Сайт на WP.
Адреса IP отображаются. Но тут появилось одно «НО»: не видно переходов на сайт с мобильного телефона. Таких посетителей на сайте около 25% ежедневно. Сейчас видны только переходы с компьютеров и планшетов. Например, вчера в гул адвордсе у меня было 15 переходов по рекламе: 8 с компьютеров, 2 — с планшета и 3 с мобильного. В Яндекс метрике переходов с мобильного нет. До внесения изменений в код метрики такие переходы отображались. Все бы и ничего, но есть один гад, который конкретно скликивал рекламу и который заходил с мобильного. Подозреваю, что он до сих пор это делает, но вычислить его не получается.
Может кто-то еще сталкивался с такой проблемой? Есть ли другие варианты кода, которые будут отображать переходы с мобильного (я пробовала и $_SERVER[‘REMOTE_ADDR’] и $_SERVER[‘X_FORWARDED_FOR’] ?
День добрый. Подскажите плизз что может быть сайт на опенкарт вставляю данный код через админ панель — настройки — сервер там окошко для счётчиков. В метрике показывает ip_adress. вместо айпишника. Помогите плиз. Задолбали скликивать рекламу в Директе
Спасибо за статью. Разобрался чего не работало.
Не знаю как в других CMS но в opencart нужно вставлять код непосредственно в файл futer.tpl а не через админ панель.
Через админку не работает короче..
Ещё раз спасибо очень полезная инфа..
Алексей, напишите пожалуйста код который вы вставили в footer.tpl. У меня ничего не заработало — пишет вместо ip адреса название переменной.
Здравствуйте, у меня вопрос:
все заработало, как я только переименовал html файл php, можно ли как то отдельно с html файла сослаться на php файл в котором будет вот это:
В плане, я хочу сделать так, чтобы в html файле был указан путь php страницы для определения ip. Это возможно?
Здравствуйте! При работе с кодом возникли 2 проблемы:
1 Метрика не показывает IP в отчёте «параметры визитов» по причине: «Поддерки алгоритмов безопасности сервисов Яндекса…»
2 Можно выбрать группировки «IP адрес» в других отчётах. Таким образом 1 проблему можно обойти. Но возникает следующая сложность: в IP-адресе последние три цифры заменены на».ххх» и вывести в отчёт Вебвизора можно только колонку. — Сами IP-адреса не подгружаются.
Подскажите, как Вы решаете эту проблему?
Вот один в один ситуация
Аналогично. Метод на ноябрь 2016 не работает
Добрый день! прошу помощи. Уже задолбался и все перепробовал, всеравно ничего не выводится, даже надписи ip_adress. Сайт ….. гляньте пожалуйста если не сложно! Сайт на WP, хостер jino.ru
Еще одно, код вставлен через плагин яндекс метрики, может в этом причина?
var yaParams = {ip_adress: «»};
Это эхо отдает мой IP а в метрике нифига
второй еще непроверял.
У меня так же отдает только ip_adress
У меня обычный вопрос: как в метрике поменять код? Я ничего не могу отредактировать, на что нужно нажать что бы пошло редактирование. Нажимаю на текст он весь выделяется.
Все сделал вроде, но не выводится 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»);
Прошу прощения, не отображается тут в тексте полностью..
Друзья, вот вам рабочий код, меняйте XXXXX на номер своего счетчика и будет Вам счастье
var yaParams = {ip_adress: «»};
(function (d, w, c) {
(w[c] = w[c] || []).push(function() {
try {
w.yaCounterXXXXXXXXX = new Ya.Metrika({
id:XXXXXXXXX, params:window.yaParams,
clickmap:true,
trackLinks:true,
accurateTrackBounce:true,
webvisor: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»);
Почти год прошел. Так что этот код не сегодняшний день не работает? Есть какие либо новые пути? Сайт на ВП. Код который выше не пашет.
РЕШЕНИЕ:
1. Создать файл без расширений (.htaccess) именно так, как в скобках, с точкой в начале.
2. Добавить в созданный файл следующий код ( AddType application/x-httpd-php .php .html )
Установила такое, айпи показывает, но есть не все. Как можно вычислить посетителей со скрытым айпи?
Привет! Ребят подскажите где ошибка! Не отражается ip в новой метрике. Вообще уже запуталась
var yaParams = {ip_adress: «»}
(function (d, w, c) {
(w[c] = w[c] || []).push(function() {
try {
w.yaCounter ваш номер = new Ya.Metrika({id:46743603,
webvisor:true,
clickmap:true,
trackLinks:true,
accurateTrackBounce:true,params:{userip},});
} catch(e) { }
});
добрый вечер.подскажите пожалуйста в чем может быть проблема. В яндекс метрике в столбце где должен быть ип выводиться $_SERVER[‘REMOTE_ADDR’].
Такая же фигня.
Внесу свою лепту в помощь по определению IP адреса пользователя.
В статье все указанно верно, но есть одно но!!!
У вас ничего работать не будет если у вас страница сайта на .html
да и весь сайт (обычно лендинги) на .html
А php код не будет работать на странице html, пока владелец сайта сам не решит разрешить выполнение скриптов php на его сайте.
РЕШЕНИЕ:
1. Создать файл без расширений (.htaccess) именно так, как в скобках, с точкой в начале.
2. Добавить в созданный файл следующий код ( AddType application/x-httpd-php .php .html )
А где создать файл?
Где создавать папку?
Здравствуйте, а как отредактировать новый код Яндекс Метрики, что бы отображался 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();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(1111111111, «init», {
id:111111111,
clickmap:true,
trackLinks:true,
accurateTrackBounce:true,
webvisor:true
});
Ребят, подскажите, плиз, как в новом счетчике исправить?
(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(xxxxxxxx, «init», {
clickmap:true,
trackLinks:true,
accurateTrackBounce:true,
webvisor:true
});
Спасибо за статью! Все по делу и понятно …
По определению пользователей сейчас уже много решений. появились такие сервисы, позволяющие узнавать не только IP, но и телефонные номера всех посетителей сайта. используют в маркетинге для обзвонов. говорят, что легально — патенты, разрешения, все дела. как они это делают?