На этой странице описаны транспортный механизм и параметры данных для 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. Measurement Protocol не возвращает код ошибки, если полезная нагрузка имеет некорректный формат, данные в ней неверны или не были обработаны Google Аналитикой.
Полезная нагрузка
Полезная нагрузка состоит из двух частей:
- Параметры запроса.
- Тело запроса в формате JSON
POST.
Параметры запроса
| Название параметра | Описание |
|---|---|
|
Обязательный параметр. Секретный ключ API из интерфейса Google Аналитики.
Чтобы найти этот идентификатор, откройте Google Аналитику и выберите Администратор > Потоки данных > [нужный поток] > Measurement Protocol > Создать. Доступно только вашей организации. Рекомендуется регулярно обновлять, чтобы избежать спама. |
|
Обязательный параметр. Идентификатор приложения в Firebase. Идентификатор приложения Firebase.
Чтобы найти этот идентификатор, откройте консоль Firebase и выберите Настройки проекта > Общие > Ваши приложения > Идентификатор приложения. |
Тело запроса POST в формате JSON
Размер тела запроса POST в формате JSON должен быть менее 130 КБ.
| Ключ | Тип | Описание |
|---|---|---|
|
string |
Обязательный параметр. Уникальный идентификатор экземпляра приложения Firebase.
Не то же самое, что веб- Идентификатор должен быть получен с помощью Firebase SDK: |
|
string |
Это необязательный параметр. Уникальный идентификатор пользователя. Подробности см. в статье Как отслеживать действия на разных платформах с помощью функции User-ID. Может содержать только символы в кодировке UTF-8. |
|
number |
Это необязательный параметр. Временная метка Unix в микросекундах, а не в миллисекундах. Представляет время события. Используйте только для регистрации уже произошедших событий. Может быть переопределено временными метками события |
|
object |
Это необязательный параметр. Свойства пользователя для измерения. В одном запросе можно передавать данные о максимум 25 свойствах пользователей. Название свойства пользователя может содержать не больше 24 символов, а значение – не больше 36. |
|
object |
Это необязательный параметр. Данные, предоставленные пользователями. |
|
object |
Это необязательный параметр. Настройки согласия для запроса. Подробнее о согласии… |
|
boolean |
Необязательно. Значение true указывает, что данные пользователя не должны использоваться для персонализированной рекламы.
|
|
object |
Это необязательный параметр. Задает географическую информацию для запроса в структурированном формате. |
|
string |
Это необязательный параметр. IP-адрес, который Google Аналитика использует для получения географической информации о запросе. |
|
object |
Необязательное поле. Задает информацию об устройстве для запроса в структурированном формате. |
|
string |
Необязательное поле. Задает поведение при проверке для запроса.
|
|
array |
Обязательный параметр. Массив из event элементов. В одном запросе можно передавать данные о максимум 25 событиях. Рекомендуемые события перечислены в справочном руководстве События.
|
|
string |
Обязательный параметр. Название события. Название события должно содержать не более 40 символов. Рекомендуемые события описаны в разделе События. |
|
object |
Это необязательный параметр. Параметры события. В одном событии можно передавать данные о максимум 25 параметрах. Подробнее о параметрах, рекомендуемых для каждого события, и распространенных параметрах событий…
Название параметра может содержать не больше 40 символов. Значение параметра должно содержать не более 100 символов для стандартного ресурса Google Аналитики и не более 500 символов для ресурса Google Аналитики 360. |
Общие параметры событий
В Measurement Protocol есть следующие общие параметры событий:
| Ключ | Тип | Описание |
|---|---|---|
|
number |
Положительное число, идентифицирующее сеанс пользователя. Требуется для нескольких распространенных вариантов использования.
Должен соответствовать регулярному выражению ^\d+$.
Идентификатор должен быть получен с помощью Firebase SDK: |
|
number |
Продолжительность взаимодействия с пользователем в миллисекундах для события. Используйте значение, отражающее время взаимодействия пользователя с приложением с момента предыдущего события. |
|
number |
Unix-время в микросекундах для события. Этот параметр позволяет переопределить временную метку события. |
Согласие
Атрибут consent задает типы согласия и состояния.
Если не указать consent, Google Аналитика будет использовать настройки согласия из соответствующих онлайн-взаимодействий с клиентом или экземпляром приложения.
| Ключ | Тип | Описание |
|---|---|---|
|
string |
Это необязательный параметр. Согласие на отправку в Google пользовательских данных из событий и свойств пользователя, связанных с рекламой.
|
|
string |
Это необязательный параметр. Согласие пользователя на персонализированную рекламу.
|
Информация о местоположении
Атрибуты user_location и ip_override содержат географическую информацию.
Правило user_location имеет приоритет над правилом ip_override.
Ниже приведена структура поля user_location. Добавьте как можно больше атрибутов. Мы рекомендуем использовать как минимум country_id и region_id.
| Ключ | Тип | Описание |
|---|---|---|
|
string |
Это необязательный параметр. Название города. Если город находится в США, также задайте значения country_id и region_id, чтобы Google Аналитика могла правильно сопоставить название города с идентификатором города.
|
|
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 Аналитика получит географическую информацию из IP-адреса.
Если вы отправите user_location, Google Аналитика проигнорирует ip_override.
Если вы не передаете значения user_location или ip_override, Google Аналитика получает географическую информацию из событий с тегами, используя
app_instance_id.
Google Аналитика применяет к запросу настройки детализации геоданных ресурса независимо от отправленной географической информации.
Информация об устройстве
Чтобы отправить информацию об устройстве, используйте поле 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"
}
device, Google Аналитика получает информацию об устройстве из событий с тегами, используя параметр app_instance_id.
Независимо от того, указали вы
device,
Google Аналитика применяет к запросу настройки детализированных данных об устройствах ресурса.
Проверка
Атрибут validation_behavior определяет, как Measurement Protocol проверяет содержимое запроса.
- Проверка
RELAXEDотклоняет только запросы с неверным форматом. Она может принимать события и параметры с недопустимыми названиями полей или данными неправильного типа, но игнорирует параметры, которые превышают ограничения. По умолчанию в Measurement Protocol используется проверкаRELAXED. ENFORCE_RECOMMENDATIONSПри проверке отклоняются события и параметры товаров, которые имеют неправильный тип или содержат параметры, превышающие ограничения. Кроме того,ENFORCE_RECOMMENDATIONSотклоняет любое событие или свойство пользователя с временной меткой, которая не относится к последним 72 часам.
Мы рекомендуем следующий подход:
Используйте
ENFORCE_RECOMMENDATIONSпри проверке событий, чтобы получать как можно больше отзывов о потенциальных проблемах с вашими запросами.Вы также можете проверять запросы с помощью конструктора событий, поскольку при проверке запросов он указывает
ENFORCE_RECOMMENDATIONS.Не указывайте
validation_behavior, когда отправляете события, чтобы уменьшить количество данных, отклоняемых Measurement Protocol.Если при отправке определенного запроса вы хотите, чтобы строгая проверка была приоритетнее сбора данных, добавьте поле
validation_behaviorи задайте для него значениеENFORCE_RECOMMENDATIONS.
Специальные параметры
Вы можете включить специальные параметры на уровне пользователя, на уровне события и на уровне позиции в полезную нагрузку Measurement Protocol.
- Специальные параметры на уровне пользователя можно добавить в объект
user_properties. - Специальные параметры на уровне события можно добавить в объект
events[].params. - Специальные параметры на уровне позиции можно добавить в
items.
Рекомендуемые параметры для некоторых событий
Для некоторых событий есть рекомендуемые параметры. Подробнее о параметрах, рекомендуемых для поддерживаемых событий…
Зарезервированные названия
Некоторые названия событий, параметров и свойств пользователей зарезервированы, и вы не можете их использовать:
Зарезервированные названия событий
Эти названия событий зарезервированы, и вы не можете их использовать:
ad_activeviewad_clickad_exposuread_queryad_rewardadunit_exposureapp_clear_dataapp_exceptionapp_installapp_removeapp_store_refundapp_updateapp_upgradedynamic_link_app_opendynamic_link_app_updatedynamic_link_first_openerrorfirebase_campaignfirebase_in_app_message_actionfirebase_in_app_message_dismissfirebase_in_app_message_impressionfirst_openfirst_visitnotification_dismissnotification_foregroundnotification_opennotification_receivenotification_sendos_updatesession_startuser_engagement
Кроме того, события ad_impression, in_app_purchase и screen_view разрешены только для потоков приложений.
Зарезервированные названия параметров
Эти названия параметров зарезервированы, и вы не можете их использовать:
firebase_conversion
Названия параметров не могут начинаться со следующих префиксов:
_ (underscore)firebase_ga_google_gtag.
Зарезервированные названия свойств пользователей
Эти названия свойств пользователей зарезервированы, и вы не можете их использовать:
first_open_timefirst_visit_timelast_deep_link_referreruser_idfirst_open_after_install
Также названия свойств пользователей не могут начинаться со следующих префиксов:
_ (underscore)firebase_ga_google_