Передача IP-адреса посетителя в Google Analytics

08 августа, 2018

Google Analytics в своих отчетах не предоставляет данные по IP-адресам пользователей. Однако по умолчанию в Analytics все же хранится полный IP-адрес посетителя. Он необходим для включения географических данных в отчеты и скрыт от анализа. Но что же делать, если очень нужны данные IP-адресов? Разбираемся в этой статье.

Но перед тем, как мы займемся настройкой, настоятельно рекомендую ознакомиться со следующими материалами Google:

Также не забываем про недавние обновленные правила обработки персональных данных (GDPR - General Data Protection Regulation).

Чтобы правильно интерпретировать данные, важно понимать общие принципы их сбора и обработки. В Analytics, как вы уже знаете, есть 4 основных компонента:

  1. сбор данных;
  2. обработка данных;
  3. настройка;
  4. отчеты.
Передача IP-адреса посетителя в Google Analytics

Сбор данных - Обработка данных - Настройка - Отчеты

Большинство из нас привыкли думать только об отчетах Google Analytics, поскольку именно там мы проводим всю работу. Но к тому времени, когда наши данные попадают на последний 4 этап, они уже будут очищены и обработаны Google.

На этапе сбора данных Google собирает IP-адреса. Адреса загружаются с помощью JavaScript, встроенного в ваш код отслеживания Google Analytics. Помимо прочего, Google собирает уникальные идентификаторы, а также такие данные, как тип и настройки браузера и устройства, операционная система, мобильная сеть (включая название оператора и номер телефона) и номер версии приложения. Они также регистрируют информацию о взаимодействии ваших приложений, браузеров и устройств с их сервисами, в том числе IP-адрес, отчеты о сбоях, сведения о действиях в системе, дата и время, когда вы посетили их ресурс, и URL, с которого вы на него перешли (URL перехода).

Анонимизация IP-адресов в Analytics

C 25 мая 2010 года Analytics поддерживает функцию _anonymizelp, которая позволяет владельцам сайтов скрывать IP-адреса своих посетителей при обработке данных в нашей системе. Анонимизация и частичное хранение IP-адресов помогают выполнять требования по защите личных данных, включая как политики конфиденциальности самих ресурсов, так и государственные законы. Адрес маскируется сразу же, как только поступает в сеть сбора данных Analytics, до обработки и хранения. То есть именно на этапе 1.

Подробнее о анонимизации IP-адресов в Analytics читайте в официальной справке Google.

После сбора IP-адреса вводятся на 2 и 3 компонентах (настройки и обработки данных). На этих этапах ваши фильтры, блоки и обработчики применяются Google. Большинство пользователей фильтруют свой собственный IP-адрес (или компании) из данных Google Analytics. Это не позволяет внутреннему трафику размывать отчеты ненужной статистикой.

Передача IP-адреса посетителя в Google Analytics

Фильтр по IP с использованием регулярных выражений

Подробнее об этом читайте в статье «Фильтры в Google Analytics».

На этапе обработки Google передает данные в базу данных отчетов, которые разбиваются на различные пути. IP-адреса, которые были уже анонимизированы или отфильтрованы, вычищаются. Хотя данные от интернет-провайдера видны в ваших отчетах, их IP-адреса не показываются.

Передача IP-адреса посетителя в Google Analytics

Интернет-провайдер в отчетах Google Analytics

Поэтому, когда Google собирает IP-адреса, они не предоставляют эти данные конечным пользователям. Суть в том, что вы не можете видеть IP-адреса в своих отчетах Google Analytics. Вы даже не сможете проверить фильтры исключений, поскольку Google полностью удаляет любые IP-данные до того, как они попадут в отчеты.

Но что делать, если все же необходимо отслеживать IP-адреса посетителей? Решение простое – определять IP на серверной стороне, а потом сохранять его в Custom Dimension (специальный параметр) в Google Analytics. В результате вы можете получить что-то похожее:

Передача IP-адреса посетителя в Google Analytics

Client ID и IP-адрес

Здесь каждому Client ID, который тоже передается в качестве специального параметра, соответствует IP-адрес посетителя и сеансы. Сделано с помощью специальных отчетов.

Пошаговый план действий

Определяем, какой код отслеживания Google Analytics у вас установлен на сайте (библиотека analytics.js или gtag.js). От этого будет зависеть способ реализации и добавление дополнительных строчек кода в GA. У меня в блоге osipenkov.ru – это Global Site Tag.

Реализовывать будем с помощью PHP кода:

Не хотелось бы вдаваться в пояснения, скажу лишь то, что вы всегда можете зайти на соответствующие ресурсы по PHP (форумы, справки) и почитать про методы определения IP-адреса посетителя сайта. А лежит он (IP) в переменной REMOTE_ADDR. Это самая простая конструкция, но есть и более сложные, например, такая:

Переменная $_SERVER['REMOTE_ADDR'] не всегда содержит реальное значение IP. Если клиент, например, зашел через прокси-сервер, то $_SERVER['REMOTE_ADDR'] вернет вам лишь адрес прокси-сервера. Для того чтобы добраться до реального адреса посетителя используют $_SERVER['HTTP_CLIENT_IP'] и $_SERVER['HTTP_X_FORWARDED_FOR']. Второй код (который подлиннее) тоже годится, но мы будем использовать первой, состоящий из 3 строк.

Чтобы передать значения переменной из PHP в JavaScript, необходимо сделать так:

У нас есть PHP-переменная с именем $ip (может начинаться со знака $, ага) и значением $_SERVER['REMOTE_ADDR'], которая в отчетах будет отображаться как IP-адрес посетителя. И наша задача состоит в том, чтобы это значение вывести на экран, но не средствами PHP, а с помощью JavaScript. Для этого открываем теги JavaScript и объявляем переменную myip.

На месте присвоения JavaScript переменной myip мы пишем PHP код, который выводит нашу переменную $ip.

Все это вставляем в код страницы нашего сайта. Я добавлю его в header.php.

Передача IP-адреса посетителя в Google Analytics

Вставка кодов на страницу сайта

Сохраняем и отправляем обновленные настройки на сервер. Теперь в переменную myip должно передаваться значение IP-адреса посетителя. Проверить это можно в консоли разработчика браузера. На вкладке Console в Google Chrome вводим myip и нажимаем Enter.

Передача IP-адреса посетителя в Google Analytics

Console - Проверка передачи IP

Если увидели свой IP, значит все сделали правильно. Теперь нам необходимо передавать это значение в Google Analytics.

Создаем пользовательский параметр:

Администратор – Ресурс – Пользовательские определения – Специальные параметры - +СПЕЦИАЛЬНЫЙ ПАРАМЕТР

  • Название: IP-адрес (произвольное)
  • Область действия: сеанс
  • Активная: галочка

Сохраняем и запоминаем индекс параметра.

Передача IP-адреса посетителя в Google Analytics

Специальный параметр "IP-адрес"

Он нам будет нужен на следующем шаге. Поскольку я использую gtag.js, то конструкция передачи пользовательских параметров в Google Analytics с помощью параметра custom_map будет выглядеть так:

, где GA-TRACKING_ID – код отслеживания Google Analytics.

Подробнее о специальных параметрах и показателях в gtag.js читайте в справке разработчиков Google. Для библиотеки analytics.js и кода Universal Analytics команда выглядит несколько иначе.

Можно использовать и несколько другую конструкцию. Поскольку в качестве пользовательского параметра я еще передаю Client ID, я реализовал это так:

Передача IP-адреса посетителя в Google Analytics

Вставка кодов в страницу сайта, gtag.js

, где dimension2 – индекс специального параметра, созданного раннее.

Сохраняем код и отправляем на сервер. Чтобы убедиться в том, что IP-адрес посетителя действительно передается в custom dimension, воспользуемся расширением GA Debugger.

Включив его, зайдя на сайт и перейдя в Console браузера, я увижу напротив показателя тот же самый IP.

Передача IP-адреса посетителя в Google Analytics

Проверка передачи IP в dimension2 с помощью GA Debugger

Все передается корректно. Через некоторое время в нашем параметре «IP-адрес» будут сохраняться IP-адреса посетителей.

Передача IP-адреса посетителя в Google Analytics

Данные по IP в Google Analytics

Тоже самое можно реализовать с помощью JavaScript и стороннего сервиса. Например, через https://www.ipify.org/. Вы можете увидеть, как он возвращает IP-адрес для вашего собственного устройства, нажав на ссылку https://api.ipify.org?format=jsonp&callback=getIP .

В следующей статье, которая будет посвящена передаче IP-адреса посетителя с помощью Google Tag Manager, я опишу этот способ более подробно.

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

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

    Leave a Comment