Иногда по той или иной причине возникает необходимость узнать ip адрес пользователя вашего ресурса. Или нескольких пользователей. Или всех. Это может пригодиться по множеству самых разных причин и вот в них мы как раз вдаваться не будем. В данной статье мы рассмотрим самый простой и быстрый способ трекинга IP посетителей вашего сайта.
Для этого нам понадобится:
1. Доступ к файлам сайта (Сайт обязательно должен работать на PHP)
2. Настроенная и рабочая Яндекс.Метрика
3. Две руки и мозг
Первым делом взглянем на код Яндекс.Метрики в том виде, в котором он, с большой вероятностью, сейчас отображается на вашем сайте. В целях сохранения конфиденциальности номер счетчика заменен на слово КОТИК.
<!-- Yandex.Metrika counter -->
<script type="text/javascript" >
(function (d, w, c) {
(w[c] = w[c] || []).push(function() {
try {
w.yaCounterКОТИК = new Ya.Metrika2({
id:КОТИК,
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/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/КОТИК" style="position:absolute; left:-9999px;" alt="" /></div></noscript>
<!-- /Yandex.Metrika counter -->
Теперь нам понадобится этот код модифицировать. Модификации предельно простые.
В самом начале вставляем следующий код:
var yaParams = {ip: "<? echo $_SERVER['REMOTE_ADDR']; ?>"};
Этот фрагмент кода позволяет определить ip адрес посетителя. Осталось передать его дальше, в нашу систему аналитики. Для этого добавляем в наши параметры новоиспеченный параметр с IP.
Он должен быть обязательно добавлен сразу после ID нашего счетчика!
w.yaCounterКОТИК = new Ya.Metrika2({
params:window.yaParams,
id:КОТИК,
clickmap:true,
trackLinks:true,
accurateTrackBounce:true,
webvisor:true
});
В результате получаем наш видоизмененный код метрики, который и должен остаться на сайте.
<!-- Yandex.Metrika counter -->
<script type="text/javascript" >
var yaParams = {ip: "<? echo $_SERVER['REMOTE_ADDR']; ?>"};
(function (d, w, c) {
(w[c] = w[c] || []).push(function() {
try {
w.yaCounterКОТИК = new Ya.Metrika2({
params:window.yaParams,
id:КОТИК,
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/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/КОТИК" style="position:absolute; left:-9999px;" alt="" /></div></noscript>
<!-- /Yandex.Metrika counter -->
Для особенных:
Где же взять замену нашему КОТИКУ? Номер счетчика метрики вы найдете при установке самого кода метрики на сайт, а точнее: при его создании. Вот он.
Далее, чтобы начать отслеживать IP адреса ваших посетителей вам необходимо воспользоваться стандартными отчетами Яндекс.Метрики
Отчеты -> Стандартные отчеты -> Содержание -> Параметры визитов
Там вы увидите следующую картину:
Готово. Вы профессиональный хакер и повелитель ip адресов.
Есть небольшая ремарочка. Данный способ не подойдет любителям Google Tag Manager, так как в его тегах PHP не работает и вы увидите следующую картину:
Но не стоит отчаиваться.
Нет, у нас нет решения этой проблемы, но и от определения IP адреса ничего особенно не поменяется, так как в 99% случаев он динамический и смысла его определять практически нет, а следовательно вы ничего и не потеряли.
Спасибо за внимание и оставайтесь с нами.