На этой странице описаны механизм передачи и параметры данных для 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 Аналитикой.
Полезная нагрузка
Полезная нагрузка состоит из двух частей:
- Параметры запроса.
- Тело
POSTв формате JSON.
Параметры запроса
| Название параметра | Описание |
|---|---|
|
Обязательный параметр. Секретный ключ API из интерфейса Google Аналитики.
Чтобы найти его, выберите Администратор > Потоки данных > [нужный поток] > Measurement Protocol > Создать. Доступно только сотрудникам вашей организации. Его нужно регулярно обновлять, чтобы избежать спама. |
|
Обязательный параметр. Идентификатор приложения Firebase. Идентификатор приложения Firebase.
Чтобы найти этот идентификатор, откройте консоль Firebase и выберите Project Settings (Настройки проекта) > General (Общие) > Your Apps (Ваши приложения) > App ID (Идентификатор приложения). |
Тело запроса POST в формате JSON
Размер тела запроса JSON POST должен быть менее 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при проверке событий, чтобы получить как можно больше информации о потенциальных проблемах с запросами.Вы также можете проверять запросы с помощью Event Builder, поскольку при проверке запросов он указывает
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_