Как узнать ip в Яндекс метрике? Есть решение
Сегодня увидел в метрике что мою рекламу в директе скликивают какие-то пи....сы...!!!! Яндекс в своей метрике закрыл ip посетителей сайта(oставил только название сети) ,поэтому увидеть ip и забанить не получается. В интернете нашел код который встраивается в счетчик,чтобы видеть ip клиента, но он не работает. Возможно его надо допилить. Может кто сталкивался с такой проблемой и знает как её решить? Помогите
Пример кода
<!— Yandex.Metrika counter —>
<script type=»text/javascript»>
var yaParams = {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.yaCounterXXXX = new Ya.Metrika({id:XXXXX,
webvisor:true,
params:window.yaParams,
clickmap:true,
trackLinks:true,
accurateTrackBounce: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 = (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/22859041″ style=»position:absolute; left:-9999px;» alt=»» /></div></noscript>
<!— /Yandex.Metrika counter —>
25 ответов
var yaParams = {ip_adress: "{/literal}{$smarty.server.REMOTE_ADDR}{literal}"};
и далее по тексту.
Но даже при подключенном CloudFlare в заказах все равно отображается два IP, реальный IP посетителя и проски, магазин обращается на какой то сторонний сервис чтобы узнать реальный IP? Как самому сделать так же чтобы передавать в метрику реальный IP?
"Спасибо" вы были так любезны что ответ нашел сам в системном коде движка.
Вставил в index/html в метрику var yaParams = {ip_adress: "{/literal}{$smarty.server.REMOTE_ADDR}{literal}"}; и params:window.yaParams, не заработало, сайт накрылся. Что я сделал не так?
сегодня целый день мониторил метрику - там почему-то показываются ip в двух диапазонах - 162.158..... и 141.101... хотя показывает что с разных городов. Может где-то ошибка в коде?
У вас подключен CloudFlare он работает как посредник прокси между посетителем и сервером вот и выводит ip адрес не посетителя а прокси CloudFlare.
Но даже при подключенном CloudFlare в заказах все равно отображается два IP, реальный IP посетителя и проски, магазин обращается на какой то сторонний сервис чтобы узнать реальный IP? Как самому сделать так же чтобы передавать в метрику реальный IP?
Для того чтобы увидеть IP за прозрачным прокси например CloudFlare нужно создать пользовательский класс в папке: wa-apps/shop/lib/classes, имя например: shopMetrikaIP.class.php следующего содержания:
для того чтобы подключить в месте подключения прописать: var yaParams = {ip: "{/literal}{shopMetrikaIP::MetrikaIP()}{literal}"};
И радуемся жизни!!!
А если попробовать без класса var yaParams = {ip_adress: "{/literal}{$smarty.server.HTTP_X_FORWARDED_FOR|default:$smarty.server.REMOTE_ADDR}{literal}"}; ?
Так тоже работает, так проще и быстрей, спасибо
После первого варианта "Вставил в index/html в метрику var yaParams = {ip_adress: "{/literal}{$smarty.server.REMOTE_ADDR}{literal}"}; и params:window.yaParams, не заработало, сайт накрылся."
Вставил в index/html в метрику var yaParams = {ip_adress: "{/literal}{$smarty.server.HTTP_X_FORWARDED_FOR|default:$smarty.server.REMOTE_ADDR}{literal}"}; и params:window.yaParams, тоже не заработало, сайт опять накрылся.
Подскажите как правильно сделать. Очень надо т.к. боты одолели.
Алексей можете пример кода выложить, если не трудно с последовательностью этапов?
"создать пользовательский класс в папке: wa-apps/shop/lib/classes, имя например: shopMetrikaIP.class.php"
Перепробовав все вышеперечисленные варианты, ничего не работает, в итоге два дня бесполезных попыток и потеря времени.
Заранее спасибо.
Все равно выводит IP CloudFlare, может что то изменилось за 5 лет работы этого сервиса и нужно какой то другой код использовать?
чето ничего не помогает. php вообще работает на шопскрипте? насколько я понимаю при нажатии Ctrl+U должен показываться айпи адрес, но ничего не отрабатывается... кто поможет?
в head добавила:
в код метрики добавила строчку:
Но не работает
Я, конечно, не профи, но самым, пожалуй, простым методом является внутренняя функция Webasyst {waRequest::getIp()} с помощью которой удалось без труда получать корректные ip пользователей и передавать их в метрику.
Первый вариант кода
При этом, мы создаём переменную с ip юзера, далее передаём её в объект, который корректно отправляется в метрику (инструкция API метрики).
Но при этом может возникнуть проблема, что счётчик не успевает подгрузиться и переменная с ip не инициализируется, т.к. боты слишком быстро выходят с сайта. Для этого переносим блок js кода
в самом верху документа, но не забываем изменить начало участка кода метрики на вот такой
чтобы не нарушить синтаксис js в коде и избежать конфликтов, если используется сжатие скриптов на сайте.
В конечном итоге, я получил вот что:
Вместо ип получаю
Почему?((
потому что ваш код стоит между {literal} {/literal}
И каким образом исправить?
Делаете в разделе Сайт Блок "Metrika.Counter" вида ниже и добавляете в head.all.html как
{$wa->block("Metrika.Counter")}
ну и свой Номер счетчика укажите
Дмитрий подскажите пожалуйста где искать файл head.all.html? Нет его нигде) Пробовала новый файл такой создать и в него вставить код блока {$wa->block("Metrika.Counter")}, и index, не работает( Тема дизайна «Дефолт 3.0» 3.2.7. На Вас последняя надежда) много разных вариантов пробовала, и не получается ни что((( . Заранее спасибо.
У нас тема дизайна Тема дизайна «Удобная Покупка» 2.2.2
Если смотреть в панели управления то Сайт - Дизайн - Шаблоны
Если через файл-менеджер то wa-data/public/site/themes/comfortbuy/
Но у вас другая тема...
Жаль, не получается ни как(, но все равно спасибо.
Столько лет и столько вопросов, но так и нет простого решения.
Уже 2 дня бьюсь((
Помогите пожалуйста собрать рабочую конструкцию из этого счетчика?
Максимум чего смог добиться, только этого
Я себе делаю так:
в файле /wa-apps/shop/lib/classes/shopCustom.class.php добавляю пару функции.
Если такого файла нет, то создать и тогда содержимое файла будет такое:
В шаблоне темы index.html, перед добавлением метрики вставляю код
и затем саму метрику:
Т.е. в свой код метрики нужно добавить параметр