Выберите свою платформу:
 Протокол Google Analytics Measurement Protocol не возвращает коды ошибок HTTP , даже если событие некорректно сформировано или отсутствуют обязательные параметры. Чтобы убедиться в корректности событий, необходимо протестировать их на сервере валидации протокола Google Analytics Measurement Protocol перед их развертыванием в рабочей среде. После проверки правильности структуры событий необходимо проверить реализацию , чтобы убедиться в использовании правильных ключей.
Вы можете вызвать сервер валидации напрямую или использовать конструктор событий Google Analytics . Конструктор событий Google Analytics позволяет интерактивно создавать события и использует сервер валидации Measurement Protocol для их проверки.
В этом руководстве описывается, как отправлять события на сервер проверки Measurement Protocol для Google Analytics 4 и интерпретировать ответ.
Отправлять события для проверки
Единственное различие между запросом событий, отправляемым на Measurement Protocol, и сервером проверки Measurement Protocol, заключается в URL-адресе.
| Сервер | URL | 
|---|---|
| Протокол измерений |  /mp/collect | 
| Сервер проверки протокола измерений |  / debug /mp/collect | 
Все остальные поля запроса одинаковы.
Мы рекомендуем следующий подход к валидации:
-  Используйте строгие проверки во время разработки, используя любой из следующих вариантов:
- Проверьте запросы с помощью Event Builder .
 -  Отправляйте запросы на сервер проверки, установив параметр 
validation_behaviorнаENFORCE_RECOMMENDATIONS. 
 -  В рабочей среде отправляйте запросы без установленного параметра 
validation_behavior, чтобы минимизировать количество данных, отклоненных протоколом измерений. 
Следующий код демонстрирует отправку недопустимого события на сервер проверки протокола измерений:
const firebaseAppId = "FIREBASE_APP_ID";
const apiSecret = "API_SECRET";
fetch(`https://www.google-analytics.com/debug/mp/collect?firebase_app_id=${firebaseAppId}&api_secret=${apiSecret}`, {
  method: "POST",
  body: JSON.stringify({
    app_instance_id: "APP_INSTANCE_ID",
    validation_behavior: "ENFORCE_RECOMMENDATIONS",
    events: [{
      // Event names must start with an alphabetic character.
      name: "_badEventName",
      params: {},
    }]
  })
});
Ответ проверки
Вот ответ сервера проверки на предыдущее событие:
{
  "validationMessages": [
    {
      "fieldPath": "events",
      "description": "Event at index: [0] has invalid name [_badEventName]. Names must start with an alphabetic character.",
      "validationCode": "NAME_INVALID"
    }
  ]
}
Вот ответ сервера проверки на запрос, не имеющий проблем с проверкой:
{
  "validationMessages": []
}
Ответ
| Ключ | Тип | Описание | 
|---|---|---|
 validationMessages | Массив< ValidationMessage > | Массив проверочных сообщений. | 
ValidationMessage
| Ключ | Тип | Описание | 
|---|---|---|
 fieldPath | нить | Путь к полю, которое оказалось недействительным. | 
 description | нить | Описание ошибки. | 
 validationCode | Код проверки | Код проверки, соответствующий ошибке. | 
Код проверки
| Ценить | Описание | 
|---|---|
 VALUE_INVALID |  Указано недопустимое значение fieldPath . См. ограничения . | 
 VALUE_REQUIRED |  Не указано требуемое значение для fieldPath . | 
 NAME_INVALID | Указанное имя недействительно. См. ограничения . | 
 NAME_RESERVED | Указанное имя является одним из зарезервированных. См. зарезервированные имена . | 
 VALUE_OUT_OF_BOUNDS | Указанное значение слишком велико. См. ограничения . | 
 EXCEEDED_MAX_ENTITIES | В запросе слишком много параметров. См. ограничения . | 
 NAME_DUPLICATED | Одно и то же имя было указано в запросе несколько раз. |