Validación de eventos

Descripción general

Measurement Protocol de Google Analytics para Google Analytics 4 no devuelve códigos de error HTTP aunque un evento tenga un formato incorrecto o carezca de los parámetros obligatorios. Para asegurarte de que los eventos sean válidos, te recomendamos que los pruebes en el servidor de validación de Measurement Protocol antes de implementarlos en producción. Una vez que hayas validado que los eventos están estructurados correctamente, debes verificar la implementación para comprobar que estás usando las claves correctas.

Puedes llamar directamente al servidor de validación o usar el creador de eventos de GA4. El creador de eventos de GA4 permite crear eventos de forma interactiva y usa el servidor de validación de Measurement Protocol para validarlos.

En esta guía se describe cómo enviar eventos al servidor de validación de Measurement Protocol para Google Analytics 4 e interpretar la respuesta.

Enviar eventos para su validación

La única diferencia entre la solicitud de eventos enviados a Measurement Protocol y el servidor de validación de Measurement Protocol es la URL.

Servidor URL
Measurement Protocol /mp/collect
Servidor de validación de Measurement Protocol /debug/mp/collect

Los demás campos de solicitud son los mismos. Consulta la referencia del protocolo para obtener más información sobre cómo crear una solicitud válida.

El siguiente código muestra el envío de un evento no válido al servidor de validación de Measurement Protocol:

const firebase_app_id = `X:XX:XX:XX`;
const api_secret = `<secret_value>`;

fetch(`https://www.google-analytics.com/debug/mp/collect?firebase_app_id=${firebase_app_id}&api_secret=${api_secret}`, {
  method: "POST",
  body: JSON.stringify({
    app_instance_id: 'app_instance_id',
    events: [{
      // Event names must start with an alphabetic character.
      name: '_badEventName',
      params: {},
    }]
  })
});

Respuesta de validación

La respuesta del servidor de validación al evento anterior es la siguiente:

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

Respuesta

Clave Tipo Descripción
validationMessages Array<ValidationMessage> Array de mensajes de validación.

ValidationMessage

Clave Tipo Descripción
fieldPath cadena La ruta del campo que no era válido.
description cadena Descripción del error.
validationCode ValidationCode ValidationCode correspondiente al error.

ValidationCode

Valor Descripción
VALUE_INVALID El valor asignado a fieldPath no era válido. Consulta las limitaciones.
VALUE_REQUIRED No se ha asignado ningún valor obligatorio a fieldPath.
NAME_INVALID El nombre asignado no era válido. Consulta las limitaciones.
NAME_RESERVED El nombre asignado era uno de los nombres reservados. Consulta los nombres reservados.
VALUE_OUT_OF_BOUNDS El valor asignado era demasiado grande. Consulta las limitaciones.
EXCEEDED_MAX_ENTITIES Había demasiados parámetros en la solicitud. Consulta las limitaciones.
NAME_DUPLICATED Se ha asignado el mismo nombre más de una vez en la solicitud.