Ссылка на протокол измерений

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

Транспорт

Все данные должны передаваться безопасным способом с использованием 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 на полезную нагрузку запроса.

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

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

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

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

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

Имя параметра Описание

api_secret

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

Находится в разделе Администрирование > Потоки данных > Выберите поток > Протокол измерения > Создать .

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

Тело JSON-запроса

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

user_id

string

Необязательный параметр . Уникальный идентификатор пользователя. Дополнительную информацию об этом идентификаторе см. в разделе User-ID для кроссплатформенного анализа . Может содержать только символы UTF-8.

timestamp_micros

number

Необязательный параметр . Временная метка Unix, в микросекундах , а не в миллисекундах . Представляет время события. Следует устанавливать этот параметр только для записи событий, произошедших в прошлом. Может быть переопределен с помощью user_property или временных меток событий. События могут быть датированы задним числом до 72 часов.

user_properties

object Необязательно . Пользовательские свойства для измерения.

user_data

object Необязательно . Данные, предоставленные пользователем .
object Необязательно . Настройки согласия для запроса. Дополнительную информацию см. в разделе «Согласие» .

non_personalized_ads

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

user_location

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

ip_override

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

device

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

validation_behavior

string

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

Либо RELAXED , либо ENFORCE_RECOMMENDATIONS . По умолчанию используется RELAXED если не указано иное.

events[]

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

events[].name

string Обязательно . Название мероприятия. Все варианты см. в разделе «Мероприятия» .

events[].params

object Необязательный параметр . Параметры события. Рекомендуемые параметры для каждого события см. в разделе «События», а общие параметры событий — в разделе «Общие параметры событий» .

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

Протокол измерений имеет следующие общие параметры событий:

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

session_id

engagement_time_msec

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

timestamp_micros

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

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

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

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 Analytics мог правильно сопоставить название города с его идентификатором .

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 Analytics получит географическую информацию из IP-адреса. Если вы укажете user_location , Google Analytics проигнорирует ip_override .

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

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

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

Для отправки информации об устройстве используйте поле 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"
}

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

Поведение проверки

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

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

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

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

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

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

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

Пользовательские параметры

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

  • Пользовательские параметры, заданные в рамках пользовательского интерфейса, могут быть включены в 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_