Определение геолокации пользователя с помощью GTM

Январь 24, 2020

Хотите получить точную информацию о местоположении пользователя и передать эти данные в инструменты аналитики? IP-адрес, страну, город, часовой пояс, географические координаты (широту и долготу), интернет-провайдера, валюту, текущее время, имя хоста и многое другое? Встречайте, сервис ipgeolocation.io.

Определение геолокации пользователя

ipgeolocation.io

Он позволяет получать все вышеперечисленные данные и предоставляет 3 продукта API:

  1. IP геолокации;
  2. астрономический API (синхронизация времени восхода, захода солнца, восхода луны, захода луны, азимута солнца, азимута луны, высоты солнца, высоты луны, расстояния от Земли до Луны и расстояния от Земли до широты и долготы, а также адреса IPv4 или IPv6);
  3. API часовых поясов (информация о времени и дате, текущее время, дата в различных форматах, неделя, месяц, год, время в формате Unix, смещение UTC / GMT и время перехода на летнее время из названия часового пояса, любой адрес IPv4 или IPv6 или координаты геолокации в формате REST, JSON и XML через защищенное соединение HTTPS).

В своих предыдущих материалах я уже описывал способ определения IP-адреса пользователя программно и через Google Tag Manager для Google Analytics и Яндекс.Метрики. С помощью сервиса ipgeolocation.io и тега IP Geolocation API, который разработал Симо Ахава (Simo Ahava) и который добавляется в рабочую область из галереи решений, можно легко получить IP-адрес и другие данные о пользователе в dataLayer.

Что для этого нужно сделать? Зарегистрируйтесь по ссылке https://ipgeolocation.io/signup.html для получения ключа API:

Определение геолокации пользователя

Регистрация в ipgeolocation

Бесплатный тариф предназначен для некоммерческого использования и имеет ограничение в 1000 запросов/день. После регистрации в личном кабинете необходимо скопировать API ключ (Your API Key), который вы вставите в тег Симо.

Определение геолокации пользователя

Скопируйте ключ API

Далее перейдите в Google Tag Manager и добавьте тег IP Geolocation API в свою рабочую область.

Определение геолокации пользователя

Галерея шаблонов сообщества GTM

Добавьте свой ключ API в соответствующее поле:

Определение геолокации пользователя

Ваш ключ API Key

Если вы выбрали платный тариф, вы можете добавить источник (например www.osipenkov.ru) в список источников запроса (Request Origins). В этом случае добавлять ключ API в поле API Key не нужно .

В теге Симо Ахавы есть следующие настройки: Data Layer Settings, IP Address Settings, Other Settings.

Data Layer Settings

Определение геолокации пользователя

Data Layer Settings

Если вы используете имя уровня данных отличное от dataLayer, то укажите его в поле глобальной переменной. В поле Custom event name можно указать значение ключа события (event) в объекте dataLayer, который содержит данные о геолокации и IP-адресе. По умолчанию оно содержит geolocate, но вы можете задать любое название события.

Определение геолокации пользователя с помощью GTM

Пример имени события (moyEvent)

IP Address Settings

Определение геолокации пользователя

IP Address Settings

Доступно две настройки: Client IP (тот, который определит ipgeolocation.io) и Custom IP (можете использовать свой вариант, полезно в том случае, когда вы определяете IP-адрес каким-то другим способом, например, с помощью программного кода).

Other Settings

Определение геолокации пользователя

Другие настройки тега

В других настройках содержатся поля:

  • Fields to include (перечень включенных полей, которые попадут в конечный dataLayer);
  • Fields to exclude (перечень полей, которые требуется исключить из dataLayer);
  • Response language (язык ответа, некоторые значения местоположений будут переведены с английского языка на тот, который выберите из списка).
Определение геолокации пользователя

Перевод некоторых ответов на выбранный язык (Response language)

Например, если в поле Fields to include добавить zipcode, то в dataLayer останется только почтовый индекс. Все остальные данные будут исключены. Напротив, если в поле Fields to exclude ввести zipcode, то в dataLayer отобразится все, кроме почтового индекса. Если оба поля оставить пустыми, то в dataLayer попадут все данные, которые отдает сервис ipgeolocation.io.

После заполнения всех настроек вы можете добавить любой триггер к тегу. Например, Все страницы (All Pages), либо же какое-то определенное правило. Вы также сможете запускать тег по триггеру пользовательского события, который установили в настройках тега. В моем примере это moyEvent, а по умолчанию geolocate.

Примечание: тег опирается на библиотеку jQuery. Если ваш сайт еще не использует его, шаблон автоматически загрузит уменьшенную библиотеку jQuery вместе с API SDK.

Определение геолокации пользователя

Триггер — Пользовательское событие

Чтобы извлечь данные из dataLayer и отправить их в инструменты аналитики (Google Analytics и Яндекс.Метрику), используйте переменную типа Переменная уровня данных. Для района (district) переменная будет выглядеть так:

Определение геолокации пользователя

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

Аналогично с другими параметрами. Проверить корректность извлечения информации можно в режиме предварительного просмотра GTM:

Определение геолокации пользователя

Данные по району в переменной уровня данных

Далее эту информацию можно передать в Google Analytics с помощью пользовательского параметра.

Во время теста ipgeolocation.io верно определил мой IP, страну, часовой пояс, интернет-провайдера и другие метрики. Однако данные по району, широте и долготе были выведены с погрешностью.

Определение геолокации пользователя

Погрешность в определении местоположения

11 километров не так много. Симо писал в своей статье, что погрешность определения его местоположения составила 100 километров. Часть пользователей может использовать VPN, и точность данных в этом случае будет очень приблизительной.

Так или иначе, ipgeolocation.io — полезный инструмент в работе интернет-маркетолога для определения местоположения пользователя и использования этой информации для своих нужд. А с помощью API ключа и тега Симо для Google Tag Manager настроить отслеживание 30+ параметров с передачей данных в инструменты аналитики можно всего за несколько минут.

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

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