Валидация событий

Обзор

Measurement Protocol для Google Аналитики 4 не возвращает HTTP-код ошибки, даже если событие имеет некорректный формат или не содержит обязательных параметров. Поэтому перед развертыванием в рабочей версии обязательно протестируйте события с помощью сервера валидации Measurement Protocol. Если проверка показала, что структура событий корректна, проверьте реализацию и убедитесь, что используете правильные ключи.

Вы можете вызывать сервер валидации напрямую или использовать интерактивный сборщик событий GA4, который позволяет конструировать события и проверять их с помощью сервера валидации Measurement Protocol.

Далее описано, как отправлять события на сервер валидации Measurement Protocol для Google Аналитики 4 и интерпретировать ответ сервера.

Отправка событий на сервер валидации

Запросы для отправки событий на саму платформу Measurement Protocol и на ее сервер валидации отличаются только URL.

Сервер URL
Measurement Protocol /mp/collect
Сервер валидации Measurement Protocol /debug/mp/collect

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

Пример запроса к серверу валидации Measurement Protocol, содержащего недействительное событие:

Ответ сервера валидации

Ответ сервера валидации на запрос из примера выше будет выглядеть так:

{
  "validationMessages": [
    {
      "fieldPath": "events",
      "description": "Event at index: [0] has invalid name [_badEventName]. Names must start with an alphabetic character.",
      "validationCode": "NAME_INVALID"
    }
  ]
}

Ответ

Ключ Тип Описание
validationMessages Массив <ValidationMessage> Массив сообщений от сервера валидации.

ValidationMessage

Ключ Тип Описание
fieldPath Строка Путь к недействительному полю.
description Строка Описание ошибки.
validationCode ValidationCode Код ошибки.

ValidationCode

Значение Описание
VALUE_INVALID Недействительное значение параметра fieldPath. См. ограничения.
VALUE_REQUIRED Не указано значение обязательного параметра fieldPath.
NAME_INVALID Недействительное название. См. ограничения.
NAME_RESERVED Указано название из списка зарезервированных.
VALUE_OUT_OF_BOUNDS Превышена максимальная длина значения. См. ограничения.
EXCEEDED_MAX_ENTITIES Превышено максимальное количество параметров. См. ограничения.
NAME_DUPLICATED Название встречается в запросе более одного раза.