Бывают ситуации, когда недобросовестные посетители сайта, например, конкуренты или неадекваты решили начать спамить заявками с рекламы или просто скликивают переходы. Чтобы им не показывать ваши рекламные объявления в Яндекс Директе, можно заблокировать их через ip-адрес. Но, дело в том что Яндекс Метрика показывает ip-адрес посетителя в неполном зашифрованном виде:

Нам нужен ip без XXX на конце. Для этого есть несколько способов получения.

Передача IP-адреса в Яндекс Метрику через код сайта

Для этого нужно добавить 2 строчки кода в счетчик Яндекс Метрики на сайте:

var ip = {ip_address: "<? echo $_SERVER['REMOTE_ADDR']; ?>"}; // Определение IP-адреса посетителя
params:window.ip // Добавление параметра визита

Как на скриншоте:

Также проверьте включены ли короткие теги в PHP.INI. В настройках хостинга, там где хранится ваш сайт, нужно прописать в коммандной строке: short_open_tag =on

Если все правильно сделали, то через 15 минут в отчете Параметры визитов вы увидете полноценный ip-адрес посетителя сайта.

Передача IP-адреса в Яндекс Метрику с помощью Яндекс Тег Менеджера

Создаем тег типа Пользовательский тег HTML и вставляем код ниже:

<script type="application/javascript">
function getIP(json) {
dataLayer.push({"event":"ipEvent","ipAddress" : json.ip});
}
</script>
<script type="application/javascript" src="https://api.ipify.org?format=jsonp&callback=getIP"></script>

В Яндекс Тег Менеджере будет выглядеть так:

Теперь в этом же окошке ниже кликаем на «Добавить триггер».

Называем — «Все страницы«, тип триггера «Просмотр страницы«, условия активации триггера — «Некоторые события«.

Активировать триггер при наступлении события и выполнении всех этих условий — Referrerне содержитназвание домена (без http(s)).

Теперь создаем триггер типа Специальное событие и называем ipEvent.

И переменную типа Переменная уровня данных с именем ipAddress.

Все, что осталось сделать — добавить тег с передачей параметра визита в Яндекс Метрику. Для этого создаем Пользовательский тег HTML с триггером активации на наше пользовательское событие ipEvent:

<script>
ym(XXXXXXXXX,'params', {params:{{ipAddress}}});
</script>

Где XXXXX — номер вашего счётчика Яндекс Метрики.

Позже наши ip адреса появятся в Яндекс Метрике в отчете Параметры визитов.