На этой странице описан механизм передачи и параметры данных для протокола измерений.
Транспорт
Все данные должны передаваться безопасным способом с использованием 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.
Полезная нагрузка
Полезная нагрузка состоит из двух частей:
- Параметры запроса.
- Тело JSON
POST.
Параметры запроса
| Имя параметра | Описание |
|---|---|
| Обязательно . Секретный ключ API из пользовательского интерфейса Google Analytics. Находится в разделе Администрирование > Потоки данных > Выберите поток > Протокол измерения > Создать . Конфиденциально для вашей организации. Рекомендуется регулярно обновлять, чтобы избежать чрезмерного спама. |
Тело JSON-запроса
| Ключ | Тип | Описание |
|---|---|---|
| string | Необязательный параметр . Уникальный идентификатор пользователя. Дополнительную информацию об этом идентификаторе см. в разделе User-ID для кроссплатформенного анализа . Может содержать только символы UTF-8. |
| number | Необязательный параметр . Временная метка Unix, в микросекундах , а не в миллисекундах . Представляет время события. Следует устанавливать этот параметр только для записи событий, произошедших в прошлом. Может быть переопределен с помощью |
| object | Необязательно . Пользовательские свойства для измерения. |
| object | Необязательно . Данные, предоставленные пользователем . |
| object | Необязательно . Настройки согласия для запроса. Дополнительную информацию см. в разделе «Согласие» . |
| boolean | Необязательный параметр . Установите значение true , чтобы указать, что данные пользователя не должны использоваться для персонализированной рекламы. |
| object | Необязательный параметр . Задает географическую информацию для запроса в структурированном формате. |
| string | Необязательно . IP-адрес, который Google Analytics использует для получения географической информации для запроса. |
| object | Необязательный параметр. Задает информацию об устройстве для запроса в структурированном формате. |
| string | Необязательный параметр. Задает поведение проверки для запроса. Либо |
| array | Обязательно . Массив элементов event . В одном запросе можно отправить до 25 событий. Список всех допустимых событий см. в справочнике событий . |
| string | Обязательно . Название мероприятия. Все варианты см. в разделе «Мероприятия» . |
| object | Необязательный параметр . Параметры события. Рекомендуемые параметры для каждого события см. в разделе «События», а общие параметры событий — в разделе «Общие параметры событий» . |
Общие параметры событий
Протокол измерений имеет следующие общие параметры событий:
| Ключ | Тип | Описание |
|---|---|---|
| ||
| number | Продолжительность взаимодействия пользователя с событием в миллисекундах. Используйте значение, отражающее время взаимодействия пользователя с предыдущим событием. |
| number | Время события в формате Unix epoch в микросекундах. Используйте этот параметр для переопределения метки времени события. |
Согласие
Атрибут consent настраивает типы и состояния согласия . Если вы не указываете consent , Google Analytics использует настройки согласия из соответствующих онлайн-взаимодействий для клиента или экземпляра приложения.
| Ключ | Тип | Описание |
|---|---|---|
| string | Необязательно . Согласие на отправку пользовательских данных из событий запроса и свойств пользователя в Google в рекламных целях. Либо |
| string | Необязательно . Согласие на персонализированную рекламу для пользователя. Либо |
Географическая информация
Атрибуты user_location и ip_override предоставляют географическую информацию. user_location имеет приоритет над ip_override .
Вот структура поля user_location . Укажите как можно больше атрибутов. Мы рекомендуем как минимум указать country_id и region_id .
| Ключ | Тип | Описание |
|---|---|---|
| string | Необязательно . Название города . Если город находится в США, укажите также country_id и region_id , чтобы Google Analytics мог правильно сопоставить название города с его идентификатором . |
| string | Необязательно . Страна и подразделение по стандарту ISO 3166. Например, US-CA , US-AR , CA-BC , GB-LND , CN-HK . |
| string | Необязательно . Страна в формате ISO 3166-1 alpha-2 . Например, US , AU , ES , FR . |
| string | Необязательно . Субконтинент в формате UN M49 . Например, 011 , 021 , 030 , 039 . |
| 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 .
| Ключ | Тип | Описание |
|---|---|---|
| string | Необязательно. Категория устройства. Например, desktop , tablet , mobile , smart TV . |
| string | Необязательно. Язык в формате ISO 639-1 . Например, en , en-US . |
| string | Необязательно. Разрешение устройства, заданное в формате WIDTHxHEIGHT . Например, 1280x2856 , 1080x2340 . |
| string | Необязательно. Операционная система или платформа. Например, MacOS . |
| string | Необязательно. Версия операционной системы или платформы. Например, 13.5 . |
| string | Необязательно. Модель устройства. Например, Pixel 9 Pro , Samsung Galaxy S24 . |
| string | Необязательно. Марка устройства. Например, Google , Samsung . |
| string | Необязательно. Марка или тип браузера. Например, Chrome , Firefox . |
| 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_