Convalida eventi

Scegli la tua piattaforma:

Measurement Protocol di Google Analytics non restituisce codici di errore HTTP, anche se un evento è formattato in modo errato o mancano i parametri obbligatori. Per garantire la validità degli eventi, devi testarli in relazione al server di convalida di Measurement Protocol prima di eseguirne il deployment in produzione. Dopo aver verificato che gli eventi siano strutturati correttamente, devi verificare l'implementazione per assicurarti di utilizzare le chiavi corrette.

Puoi chiamare direttamente il server di convalida o utilizzare lo strumento Event Builder di Google Analytics. Lo strumento per la creazione di eventi di Google Analytics ti consente di creare eventi in modo interattivo e utilizza il server di convalida di Measurement Protocol per convalidarli.

Questa guida descrive come inviare eventi al server di convalida Measurement Protocol per Google Analytics 4 e interpretare la risposta.

Inviare eventi per la convalida

L'unica differenza nella richiesta di eventi inviata a Measurement Protocol e al server di convalida di Measurement Protocol è l'URL.

Server URL
Measurement Protocol /mp/collect
Server di convalida di Measurement Protocol /debug/mp/collect

Tutti gli altri campi della richiesta sono uguali. Per informazioni dettagliate sulla creazione di una richiesta valida, consulta la documentazione di riferimento del protocollo.

Il codice seguente mostra un evento non valido inviato al server di convalida di Measurement Protocol:

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",
    events: [{
      // Event names must start with an alphabetic character.
      name: "_badEventName",
      params: {},
    }]
  })
});

Risposta di convalida

Ecco la risposta del server di convalida all'evento precedente:

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

Ecco la risposta del server di convalida a una richiesta senza problemi di convalida:

{
  "validationMessages": []
}

Risposta

Chiave Tipo Descrizione
validationMessages Array<ValidationMessage> Un array di messaggi di convalida.

ValidationMessage

Chiave Tipo Descrizione
fieldPath stringa Il percorso del campo non valido.
description stringa Una descrizione dell'errore.
validationCode ValidationCode Un codice di convalida corrispondente all'errore.

ValidationCode

Valore Descrizione
VALUE_INVALID Il valore fornito per un fieldPath non è valido. Consulta le limitazioni.
VALUE_REQUIRED Non è stato fornito un valore obbligatorio per un fieldPath.
NAME_INVALID Il nome fornito non è valido. Consulta le limitazioni.
NAME_RESERVED Il nome fornito è uno dei nomi riservati. Consulta i nomi riservati.
VALUE_OUT_OF_BOUNDS Il valore fornito era troppo grande. Consulta le limitazioni.
EXCEEDED_MAX_ENTITIES La richiesta conteneva troppi parametri. Consulta le limitazioni.
NAME_DUPLICATED Lo stesso nome è stato fornito più di una volta nella richiesta.