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 Firebaseapp_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
esession_id
devono essere forniti nell'ambito dellaparams
perevent
. Il parametroengagement_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:
- Il
timestamp_micros
dell'evento. - Il
timestamp_micros
della richiesta. - 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.