IP-адрес с помощью Google Tag Manager

24 августа, 2018

В предыдущей статье мы с вами разобрали один из вариантов определения IP-адреса посетителя сайта на стороне сервера (с помощью PHP) и передачи этой информации в Google Analytics. В этом материале разберем пример сбора IP-адресов в переменную GTM, используя скрипт, который вы можете скопировать и вставить себе в проект.

Последовательность действий:

Используем универсальный метод - JavaScript, который будет работать практически в любой ситуации. Создаем "Пользовательский HTML – тег" и вставляем туда данный код:

В результате получим:

Передача IP-адреса в GTM

Пользовательский HTML-тег

Данный фрагмент JS-кода определяет IP-адрес каждого пользователя через ipify.org (является бесплатным API-интерфейсом IP-адресов), а затем помещает его в уровень данных (dataLayer) для чтения в GTM.

Чтобы протестировать и определить свой IP, просто перейдите по ссылке: https://api.ipify.org?format=jsonp&callback=getIP

Передача IP-адреса в GTM

Ваш IP-адрес на ipify.org

Минус такого способа очевиден – если API ipify.org перестанет работать, то данные собираться не будут. Если вы хотите реализовать передачу IP не через JavaScript, а PHP, вы можете в <head> кода страницы вставить следующий фрагмент:

Далее создаем триггер «Просмотр страницы», который будет активироваться только один раз за сеанс на сайте. Чтобы избежать многократного обращения к API-интерфейсу ipify и потенциального сбоя множества обращений, вы можете поочередно установить этот сценарий для запуска только на целевой странице. Для этого мы в качестве условия активации триггера можем выбрать:

Некоторые просмотры страницы – Referrer – не содержит – домен вашего сайта

Передача IP-адреса в GTM

Условие активации триггера

Затем создаем переменную уровня данных ipAddress:

Передача IP-адреса в GTM

Переменная уровня данных ipAddress

И триггер типа «Пользовательское событие» ipEvent:

Передача IP-адреса в GTM

Пользовательское событие ipEvent

Важно: переменная и триггер должны быть такие же, как и в HTML-теге.

После выполнения вышеописанных шагов у вас будет новый триггер GTM (ipEvent) и переменная (ipAddress), к которым вы можете получить доступ в других тегах. Теперь все, что осталось сделать, это проверить корректность передачи информации. Переходим в режим предварительного просмотра и видим:

Передача IP-адреса в GTM

Событие ipEvent в режиме отладки

IP-адрес пользователя определяется корректно. Проверить также можно через какое-нибудь расширение, например, dataLayer Checker для Chrome.

Передача IP-адреса в GTM

Проверка событий через DataLayer Checker

Осталось только создать в GA custom dimension и передать в отдельном теге Universal Analytics с типом "Событие" и триггером "Окно загружено" ее значение:

Передача IP-адреса в GTM

Специальный параметр в GTM

Не забываем про индекс. Значение параметра из переменной {{ipAddress}}:

IP-адрес Google Tag Manager

custom dimension

Результат с GTM такой же, как и передавать IP-адрес пользователя сайта напрямую в Google Analytics с помощью функции PHP и custom_map.

Передача IP-адреса в GTM

Отчет в Google Analytics

Источник информации: mixedanalytics.com

Получайте бесплатные уроки и фишки

По контекстной, таргетированной рекламе и аналитике