Определение геолокации пользователя с помощью GTM
Хотите получить точную информацию о местоположении пользователя и передать эти данные в инструменты аналитики? IP-адрес, страну, город, часовой пояс, географические координаты (широту и долготу), интернет-провайдера, валюту, текущее время, имя хоста и многое другое? Встречайте, сервис ipgeolocation.io.
Он позволяет получать все вышеперечисленные данные и предоставляет 3 продукта API:
- IP геолокации;
- астрономический API (синхронизация времени восхода, захода солнца, восхода луны, захода луны, азимута солнца, азимута луны, высоты солнца, высоты луны, расстояния от Земли до Луны и расстояния от Земли до широты и долготы, а также адреса IPv4 или IPv6);
- 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:
Бесплатный тариф предназначен для некоммерческого использования и имеет ограничение в 1000 запросов/день. После регистрации в личном кабинете необходимо скопировать API ключ (Your API Key), который вы вставите в тег Симо.
Далее перейдите в Google Tag Manager и добавьте тег IP Geolocation API в свою рабочую область.
Добавьте свой ключ API в соответствующее поле:
Если вы выбрали платный тариф, вы можете добавить источник (например www.osipenkov.ru) в список источников запроса (Request Origins). В этом случае добавлять ключ API в поле API Key не нужно .
В теге Симо Ахавы есть следующие настройки: Data Layer Settings, IP Address Settings, Other Settings.
Data Layer Settings
Если вы используете имя уровня данных отличное от dataLayer, то укажите его в поле глобальной переменной. В поле Custom event name можно указать значение ключа события (event) в объекте dataLayer, который содержит данные о геолокации и IP-адресе. По умолчанию оно содержит geolocate, но вы можете задать любое название события.
IP Address Settings
Доступно две настройки: Client IP (тот, который определит ipgeolocation.io) и Custom IP (можете использовать свой вариант, полезно в том случае, когда вы определяете IP-адрес каким-то другим способом, например, с помощью программного кода).
Other Settings
Важно: язык Russian может не работать. Поэтому используйте English!
В других настройках содержатся поля:
- Fields to include (перечень включенных полей, которые попадут в конечный dataLayer);
- Fields to exclude (перечень полей, которые требуется исключить из dataLayer);
- 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 - полезный инструмент в работе интернет-маркетолога для определения местоположения пользователя и использования этой информации для своих нужд. А с помощью API ключа и тега Симо для Google Tag Manager настроить отслеживание 30+ параметров с передачей данных в инструменты аналитики можно всего за несколько минут.