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. |