Справка по Measurement Protocol

Обзор

Процесс отправки данных в Google Аналитику с помощью Measurement Protocol включает два компонента:

  1. Транспортировка – куда и как вы отправляете данные.
  2. Полезная нагрузка – сами отправляемые данные.

Далее описано, какое форматирование для них используется.

Транспортировка

URL конечной точки

Чтобы передать данные с помощью Measurement Protocol, нужно отправить HTTP-запрос POST к следующей конечной точке:

https://www.google-analytics.com/mp/collect

Для отправки события используйте следующий запрос POST:

POST /mp/collect HTTP/1.1
HOST: www.google-analytics.com
Content-Type: application/json
<payload_data>

Коды ответов

При получении HTTP-запроса Measurement Protocol всегда показывает код статуса 2xx. Measurement Protocol не выводит код ошибки, если данные полезной нагрузки неверны, имеют некорректный формат или Google Аналитике не удалось их обработать.

Полезная нагрузка

Данные, отправляемые в Google Аналитику с помощью Measurement Protocol, состоят из двух компонентов:

  1. Параметры запроса
  2. Тело запроса POST в формате JSON

Параметры запроса

Название параметра Описание

api_secret

Обязательно. Секретный ключ API (API Secret). Генерируется в интерфейсе Google Аналитики.

Чтобы создать новый секрет, откройте Google Аналитику и выберите:
Администратор > Потоки данных > [нужный поток] > Measurement Protocol > Создать.

Рекомендуем не разглашать эти данные за пределами организации. Если Measurement Protocol развернут на стороне клиента, регулярно меняйте значения api_secret в целях борьбы со спамом.

firebase_app_id

Обязательно. Идентификатор приложения в Firebase. Чтобы найти этот идентификатор, откройте консоль Firebase и выберите:
Настройки проекта > Общие > Ваши приложения > Идентификатор приложения.

measurement_id

Идентификатор потока данных. Чтобы найти этот идентификатор, откройте Google Аналитику и выберите:
Администратор > Потоки данных > [нужный поток] > Идентификатор потока данных.

Тело запроса POST в формате JSON

Ключ Тип Описание

app_instance_id

string

Обязательно. Уникальный идентификатор конкретного экземпляра приложения в Firebase. Чтобы определить этот идентификатор, используйте Firebase SDK:

client_id

string

Обязательно. Уникальный идентификатор пользовательского экземпляра веб-клиента. См. статью об отправке событий в Measurement Protocol.

user_id

string

Необязательно. Уникальный идентификатор пользователя. Подробности см. в статье Функция User-ID для межплатформенного анализа.

timestamp_micros

number

Необязательно. Временная метка Unix. Показывает время события в микросекундах. Используйте данный параметр только для регистрации уже произошедших событий. Это значение могут переопределять временные метки событий и user_property. События можно датировать задним числом (до трех дней) по часовому поясу ресурса.

user_properties

object Необязательно. Свойства пользователя. Подробнее…

non_personalized_ads

boolean Необязательно. Задайте значение true, чтобы не использовать события для персонализации рекламы.

events[]

array Обязательно. Массив объектов событий. В одном запросе можно передавать данные о максимум 25 событиях. Подробнее о действительных событиях

events[].name

string Обязательно. Название события. Подробнее о возможных вариантах названий

events[].params

object Необязательно. Параметры события. Подробнее о параметрах, рекомендуемых для каждого события

Для некоторых событий рекомендуется использовать определенные параметры. Подробнее о параметрах, рекомендуемых для поддерживаемых событий

Зарезервированные названия

Зарезервированные названия событий

Эти названия событий зарезервированы, и вы не можете их использовать:

  • ad_activeview
  • ad_click
  • ad_exposure
  • ad_impression
  • ad_query
  • adunit_exposure
  • app_clear_data
  • app_install
  • app_update
  • app_remove
  • error
  • first_open
  • first_visit
  • in_app_purchase
  • notification_dismiss
  • notification_foreground
  • notification_open
  • notification_receive
  • os_update
  • screen_view
  • session_start
  • user_engagement

Зарезервированные названия параметров

Эти названия параметров зарезервированы, и вы не можете их использовать:

  • firebase_conversion

Также названия параметров не могут начинаться с таких префиксов:

  • google_
  • ga_
  • firebase_

Зарезервированные названия свойств пользователей

Эти названия свойств пользователей зарезервированы, и вы не можете их использовать:

  • first_open_time
  • first_visit_time
  • last_deep_link_referrer
  • user_id
  • first_open_after_install

Также названия свойств пользователей не могут начинаться с таких префиксов:

  • google_
  • ga_
  • firebase_