Как проверить события

Выберите свою платформу:

Протокол 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 Одно и то же имя было указано в запросе несколько раз.