Справочное руководство по Measurement Protocol

На этой странице описаны механизм передачи и параметры данных для Measurement Protocol.

Транспортная часть

Все данные должны передаваться по HTTPS с помощью запросов POST.

Отправляйте запросы к следующей конечной точке:

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

Если вы хотите, чтобы данные собирались в ЕС, используйте следующую конечную точку:

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

Пример запроса POST:

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

Замените PAYLOAD_DATA на полезную нагрузку запроса.

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

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

Полезная нагрузка состоит из двух частей:

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

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

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

api_secret

Обязательный параметр. Секретный ключ API из интерфейса Google Аналитики.

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

Доступно только сотрудникам вашей организации. Его нужно регулярно обновлять, чтобы избежать спама.

firebase_app_id

Обязательный параметр. Идентификатор приложения Firebase. Идентификатор приложения Firebase.

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

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

Размер тела запроса JSON POST должен быть менее 130 КБ.

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

app_instance_id

string Обязательный параметр. Уникальный идентификатор экземпляра приложения Firebase.

Не то же самое, что веб-client_id.

Идентификатор можно получить с помощью Firebase SDK:

user_id

string

Это необязательный параметр. Уникальный идентификатор пользователя. Подробности см. в статье User-ID для межплатформенного анализа. Может содержать только символы в кодировке UTF-8.

timestamp_micros

number

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

user_properties

object Это необязательный параметр. Свойства пользователя. В одном запросе можно передавать данные о максимум 25 свойствах пользователей. Название свойства пользователя может содержать не больше 24 символов, а значение – не больше 36.

user_data

object Это необязательный параметр. Данные, предоставленные пользователями.
object Это необязательный параметр. Настройки согласия для запроса. Подробнее – в разделе Согласие.

non_personalized_ads

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

user_location

object Это необязательный параметр. Задает географическую информацию для запроса в структурированном формате.

ip_override

string Это необязательный параметр. IP-адрес, который Google Аналитика использует для получения географической информации по запросу.

device

object Необязательное поле. Задает информацию об устройстве для запроса в структурированном формате.

validation_behavior

string

Необязательное поле. Задает поведение при проверке для запроса.

RELAXED или ENFORCE_RECOMMENDATIONS. Если не указано другое, по умолчанию используется RELAXED.

events[]

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

events[].name

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

events[].params

object Это необязательный параметр. Параметры события. В одном событии можно передавать данные о максимум 25 параметрах. Подробнее о параметрах, рекомендуемых для каждого события, и общих параметрах событий…

Названия параметров должны содержать не более 40 символов. Значение параметра может содержать не больше 100 символов для стандартного ресурса Google Аналитики и не больше 500 символов для ресурса Google Аналитики 360.

Общие параметры событий

В Measurement Protocol есть следующие общие параметры событий:

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

session_id

number Положительное число, идентифицирующее сеанс пользователя. Обязателен в некоторых распространенных случаях. Должно соответствовать регулярному выражению ^\d+$.

Идентификатор можно получить с помощью Firebase SDK:

engagement_time_msec

number Продолжительность взаимодействия с пользователем в миллисекундах для события. Используйте значение, отражающее время взаимодействия с пользователем с момента предыдущего события.

timestamp_micros

number Время эпохи Unix в микросекундах для события. Этот параметр позволяет переопределить временную метку события.

Атрибут consent задает типы согласия и состояния. Если не указать consent, Google Аналитика будет использовать настройки согласия из соответствующих онлайн-взаимодействий с клиентом или экземпляром приложения.

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

ad_user_data

string

Это необязательный параметр. Согласие на отправку в Google пользовательских данных из событий и свойств пользователей, связанных с запросом, в рекламных целях.

GRANTED или DENIED.

ad_personalization

string

Это необязательный параметр. Согласие пользователя на персонализированную рекламу.

GRANTED или DENIED.

Информация о местоположении

Атрибуты user_location и ip_override содержат географическую информацию. Правило user_location имеет приоритет над правилом ip_override.

Ниже показана структура поля user_location. Укажите как можно больше атрибутов. Рекомендуем добавить как минимум country_id и region_id.

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

city

string Это необязательный параметр. Название города. Если город находится в США, также задайте параметры country_id и region_id, чтобы Google Аналитика могла правильно сопоставить название города с идентификатором города.

region_id

string Это необязательный параметр. Страна и ее административно-территориальная единица в формате ISO 3166. Примеры: US-CA, US-AR, CA-BC, GB-LND, CN-HK.

country_id

string Это необязательный параметр. Страна в формате ISO 3166-1 alpha-2. Примеры: US, AU, ES, FR.

subcontinent_id

string Это необязательный параметр. Субконтинент в формате UN M49. Примеры: 011, 021, 030, 039.

continent_id

string Это необязательный параметр. Континент в формате UN M49. Примеры: 002, 019, 142, 150.

Пример запроса user_location:

"user_location": {
  "city": "Mountain View",
  "region_id": "US-CA",
  "country_id": "US",
  "subcontinent_id": "021",
  "continent_id": "019"
}

ip_override – это альтернатива user_location. Если вы отправите ip_override, Google Аналитика получит географическую информацию из IP-адреса. Если вы отправляете user_location, Google Аналитика игнорирует ip_override.

Если вы не передаете user_location или ip_override, Google Аналитика получает географическую информацию из событий тегов с помощьюapp_instance_id.

Google Аналитика применяет к запросу настройки точных данных о местоположении ресурса независимо от отправленной информации о местоположении.

Информация об устройстве

Чтобы отправить информацию об устройстве, используйте поле device. Ниже показана структура поля device. Укажите как можно больше атрибутов. Рекомендуем использовать не менее category.

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

category

string Необязательно. Категория устройства. Примеры: desktop, tablet, mobile, smart TV.

language

string Необязательно. Язык в формате ISO 639-1. Пример: en, en-US.

screen_resolution

string Необязательно. Разрешение экрана устройства в формате WIDTHxHEIGHT. Примеры: 1280x2856, 1080x2340.

operating_system

string Необязательно. Операционная система или платформа. Пример: MacOS.

operating_system_version

string Необязательно. Версия операционной системы или платформы. Пример: 13.5.

model

string Необязательно. Модель устройства. Примеры: Pixel 9 Pro, Samsung Galaxy S24.

brand

string Необязательно. Бренд устройства. Примеры: Google, Samsung.

browser

string Необязательно. Бренд или тип браузера. Примеры: Chrome, Firefox.

browser_version

string Необязательно. Версия браузера. Примеры: 136.0.7103.60, 5.0.

Ниже приведен пример настроек device.

"device": {
  "category": "mobile",
  "language": "en",
  "screen_resolution": "1280x2856",
  "operating_system": "Android",
  "operating_system_version": "14",
  "model": "Pixel 9 Pro",
  "brand": "Google",
  "browser": "Chrome",
  "browser_version": "136.0.7103.60"
}
Если в запросе не указан параметр device, Google Аналитика получает информацию об устройстве из событий тегов с помощью параметра app_instance_id.

Независимо от того, что вы укажете,device,Google Аналитика применит к запросу настройки детализированных данных об устройствах ресурса.

Процедура проверки

Атрибут validation_behavior определяет, как Measurement Protocol проверяет содержимое запроса.

  • Проверка RELAXED отклоняет только запросы, имеющие неверный формат. Он может принимать события и параметры с недопустимыми названиями полей или данными неправильного типа, но игнорирует параметры, превышающие ограничения. По умолчанию Measurement Protocol использует проверку RELAXED.
  • При проверке ENFORCE_RECOMMENDATIONS отклоняются параметры событий и товаров, которые имеют неправильный тип или превышают ограничения. Кроме того, ENFORCE_RECOMMENDATIONS отклоняет любые события и свойства пользователей с временной меткой, которая не относится к последним 72 часам.

Мы рекомендуем следующий подход:

  • Используйте ENFORCE_RECOMMENDATIONS при проверке событий, чтобы получить как можно больше информации о потенциальных проблемах с запросами.

    Вы также можете проверять запросы с помощью Event Builder, поскольку при проверке запросов он указывает ENFORCE_RECOMMENDATIONS.

  • Не указывайте validation_behavior при отправке событий, чтобы минимизировать объем данных, отклоненных Measurement Protocol.

    Если при отправке определенного запроса вы хотите отдать приоритет строгой проверке, а не сбору данных, добавьте поле validation_behavior и задайте для него значение ENFORCE_RECOMMENDATIONS.

Специальные параметры

Вы можете включить специальные параметры на уровне пользователя, на уровне события и на уровне позиции в полезную нагрузку Measurement Protocol.

  • Специальные параметры на уровне пользователя можно добавить в user_properties.
  • Специальные параметры на уровне события можно добавить в events[].params.
  • Специальные параметры на уровне позиции можно добавить в items.

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

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

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

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

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

  • ad_activeview
  • ad_click
  • ad_exposure
  • 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
  • notification_dismiss
  • notification_foreground
  • notification_open
  • notification_receive
  • notification_send
  • os_update
  • session_start
  • user_engagement

Кроме того, события ad_impression, in_app_purchase и screen_view разрешены только для потоков приложений.

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

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

  • 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_