Inviare eventi Measurement Protocol a Google Analytics

Questa guida spiega come inviare Stream web e di app di Google Analytics Measurement Protocol eventi per un server di Google Analytics, in modo da poter visualizzare gli eventi Measurement Protocol nelle Report di Google Analytics.

Scegli la piattaforma che vuoi visualizzare in questa guida:

Formatta la richiesta

Measurement Protocol di Google Analytics supporta solo le richieste POST HTTP.

Per inviare un evento, utilizza il seguente formato:

POST /mp/collect HTTP/1.1
HOST: www.google-analytics.com
Content-Type: application/json
<payload_data>

Devi fornire quanto segue nell'URL della richiesta:

  • api_secret: l'API SECRET generata nell'interfaccia utente di Google Analytics.

    Per creare un nuovo secret, vai ad Amministrazione > Stream di dati > scegli il tuo stream > Measurement Protocol > Crea.

  • measurement_id: l'ID misurazione associato a uno stream, presente nella UI di Google Analytics in Amministrazione > Stream di dati > scegli il tuo stream > ID misurazione.

    measurement_id non è il tuo ID stream.

Per un riferimento completo, consulta i parametri di query.

Nel corpo della richiesta devi fornire quanto segue:

  • client_id: un identificatore univoco di un client. Questo è diverso da Firebase app_instance_id. Utilizza gtag.js('get').
  • user_id: facoltativo. Un identificatore univoco per un utente. Può contenere solo UTF-8 caratteri. Per saperne di più, consulta User-ID per l'analisi multipiattaforma su questo identificatore.

  • consent: facoltativo. Scopri come impostare il consenso impostazioni.

  • timestamp_micros: facoltativo. Il tempo dell'epoca Unix, in microsecondi, per ed eventi e proprietà utente nella richiesta. Se non specificato, il valore predefinito è la al momento della richiesta.

  • events: un array di elementi evento. Puoi includere più eventi in uno richiesta.

    Affinché l'attività degli utenti venga visualizzata in report quali In tempo reale, engagement_time_msec e session_id devono essere forniti nell'ambito della params per event. Il parametro engagement_time_msec deve riflettere la durata del coinvolgimento dell'evento in millisecondi.

    Ecco un esempio:

  {
   "client_id": "123456.7654321",
   "events": [
     {
        "name": "campaign_details",
        "params": {
          "campaign_id": "google_1234",
          "campaign": "Summer_fun",
          "source": "google",
          "medium": "cpc",
          "term": "summer+travel",
          "content": "logolink",
          "session_id": "123",
          "engagement_time_msec": "100"
        }
     }
   ]
  }

Mentre session_start è un evento prenotato nome, la creazione di un nuovo session_id crea una nuova sessione senza dover inviare session_start. Comprendi come vengono le sessioni contati.

Prova

Ecco un esempio che puoi utilizzare per inviare un evento tutorial_begin al tuo account Server di analisi:

const measurement_id = `G-XXXXXXXXXX`;
const api_secret = `<secret_value>`;

fetch(`https://www.google-analytics.com/mp/collect?measurement_id=${measurement_id}&api_secret=${api_secret}`, {
  method: "POST",
  body: JSON.stringify({
    client_id: 'XXXXXXXXXX.YYYYYYYYYY',
    events: [{
      name: 'tutorial_begin',
      params: {},
    }]
  })
});

Timestamp override

Measurement Protocol utilizza il primo timestamp che trova nel seguente elenco per ogni evento nella richiesta:

  1. Il timestamp_micros dell'evento.
  2. Il timestamp_micros della richiesta.
  3. L'ora in cui Measurement Protocol riceve la richiesta.

L'esempio seguente invia un timestamp a livello di richiesta che si applica a tutti i eventi nella richiesta. Di conseguenza, Measurement Protocol assegna sia il Eventi tutorial_begin e join_group, un timestamp di requestUnixEpochTimeInMicros.

{
  "timestamp_micros": requestUnixEpochTimeInMicros,
  "events": [
    {
      "name": "tutorial_begin"
    },
    {
      "name": "join_group",
      "params": {
        "group_id": "G_12345",
      }
    }
  ]
}

L'esempio seguente invia sia un timestamp a livello di richiesta sia un timestamp a livello di evento timestamp. Di conseguenza, Measurement Protocol assegna il tutorial_begin evento, un timestamp di tutorialBeginUnixEpochTimeInMicros e join_group un timestamp di requestUnixEpochTimeInMicros.

{
  "timestamp_micros": requestUnixEpochTimeInMicros,
  "events": [
    {
      "name": "tutorial_begin",
      "timestamp_micros": tutorialBeginUnixEpochTimeInMicros
    },
    {
      "name": "join_group",
      "params": {
        "group_id": "G_12345",
      }
    }
  ]
}

Limitazioni

Le seguenti limitazioni si applicano all'invio di eventi Measurement Protocol a Google Analisi:

  • Le richieste possono avere un massimo di 25 eventi.
  • Gli eventi possono avere al massimo 25 parametri.
  • Gli eventi possono avere al massimo 25 proprietà utente.
  • I nomi delle proprietà utente non possono superare i 24 caratteri.
  • I valori delle proprietà utente non possono superare i 36 caratteri.
  • I nomi degli eventi devono avere una lunghezza massima di 40 caratteri e possono contenere solo caratteri alfanumerici caratteri e trattini bassi e devono iniziare con un carattere alfabetico.
  • I nomi dei parametri, inclusi i parametri degli elementi, devono contenere al massimo 40 caratteri. può contenere solo caratteri alfanumerici e trattini bassi e deve iniziare con un carattere alfabetico.
  • I valori parametro, inclusi i valori parametro elemento, devono contenere 100 caratteri oppure meno per una proprietà Google Analytics standard e al massimo 500 caratteri per una proprietà Google Analytics 360.
  • I parametri elemento possono avere un massimo di 10 parametri personalizzati.
  • Il corpo del post deve essere inferiore a 130 kB.
  • Gli eventi App Measurement Protocol inviati a Google Analytics non completano la rete di ricerca segmenti di pubblico in Google Ads per gli utenti di app.

Per ulteriori requisiti per ogni caso d'uso, consulta i casi d'uso comuni.