Справочное руководство по 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. Коды ошибок не возвращаются, даже когда полезная нагрузка содержит неверные данные, имеет некорректный формат или не были обработаны Google Аналитикой.

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

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

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

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

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

api_secret

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

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

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

firebase_app_id

Обязательно. Идентификатор приложения в Firebase. Чтобы найти этот идентификатор, откройте консоль Firebase и выберите:
Project Settings > General > Your Apps > App ID (Настройки проекта > Общие > Ваши приложения > Идентификатор приложения).

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
  • ad_reward
  • adunit_exposure
  • app_clear_data
  • app_exception
  • app_install
  • app_remove
  • app_store_refund
  • app_update
  • app_upgrade
  • dynamic_link_app_open
  • dynamic_link_app_update
  • dynamic_link_first_open
  • error
  • firebase_campaign
  • firebase_in_app_message_action
  • firebase_in_app_message_dismiss
  • firebase_in_app_message_impression
  • first_open
  • first_visit
  • in_app_purchase
  • notification_dismiss
  • notification_foreground
  • notification_open
  • notification_receive
  • notification_send
  • os_update
  • screen_view
  • session_start
  • user_engagement

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

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

  • firebase_conversion

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

  • _ (underscore)
  • firebase_
  • ga_
  • google_
  • gtag.

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

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

  • first_open_time
  • first_visit_time
  • last_deep_link_referrer
  • user_id
  • first_open_after_install

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

  • _ (underscore)
  • firebase_
  • ga_
  • google_