In diesem Leitfaden erfahren Sie, wie Sie Google Analytics Measurement Protocol-Ereignisse für Web- und App-Streams an einen Google Analytics-Server senden, damit Sie sie in Ihren Google Analytics-Berichten sehen können.
Wählen Sie die Plattform aus, die in diesem Leitfaden angezeigt werden soll:
Anfrage formatieren
Das Google Analytics Measurement Protocol unterstützt nur HTTP-POST
-Anfragen.
Verwenden Sie das folgende Format, um ein Ereignis zu senden:
POST /mp/collect HTTP/1.1
HOST: www.google-analytics.com
Content-Type: application/json
<payload_data>
Sie müssen in der Anfrage-URL Folgendes angeben:
api_secret
: Das API-Secret, das auf der Google Analytics-Benutzeroberfläche generiert wurde.Sie können unter Verwaltung > Datenstreams > Stream auswählen > Measurement Protocol > Erstellen ein neues Secret erstellen.
measurement_id
: Die Mess-ID für einen Stream, die Sie auf der Google Analytics-Benutzeroberfläche unter Verwaltung > Datenstreams > Stream auswählen > Mess-ID finden.measurement_id
ist nicht Ihre Stream-ID.
Eine vollständige Referenz finden Sie unter Abfrageparameter.
Sie müssen im Anfragetext Folgendes angeben:
client_id
: Eine eindeutige Kennung für einen Kunden. Das unterscheidet sich von einer Firebase-app_instance_id
. Verwenden Sie gtag.js('get').
user_id
: Optional. Eine eindeutige Kennung für einen Nutzer. Sie darf ausschließlich UTF-8-Zeichen enthalten. Weitere Informationen zu dieser Kennung finden Sie unter User-ID für plattformübergreifende Analysen.consent
: Optional. Weitere Informationen zum Festlegen der Einwilligungseinstellungentimestamp_micros
: Optional. Die Unixzeit (in Mikrosekunden) für die Ereignisse und Nutzereigenschaften in der Anfrage. Wenn keine Angabe gemacht wird, wird standardmäßig der Zeitstempel der Anfrage verwendet.events
: Ein Array von Ereigniselementen. Eine Anfrage kann mehrere Ereignisse umfassen.Damit die Nutzeraktivität in Berichten wie dem Echtzeitbericht angezeigt werden kann, müssen
engagement_time_msec
undsession_id
als Teil derparams
für eineevent
angegeben werden. Der Parameterengagement_time_msec
sollte die Interaktionsdauer des Ereignisses in Millisekunden widerspiegeln.Beispiel:
{
"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
}
}
]
}
session_start
ist ein reservierter Ereignisname. Wenn Sie jedoch eine neue session_id
generieren, wird eine neue Sitzung erstellt, ohne dass session_start
gesendet werden muss. Weitere Informationen zum Zählen von Sitzungen
Ausprobieren
Hier ist ein Beispiel, mit dem Sie mehrere Ereignisse gleichzeitig senden können. In diesem Beispiel werden das Ereignis tutorial_begin
und das Ereignis join_group
an Ihren Google Analytics-Server gesendet.
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: {
"session_id": "123",
"engagement_time_msec": 100
}
},
{
name: "join_group",
params: {
"group_id": "G_12345",
"session_id": "123",
"engagement_time_msec": 150
}
}
]
})
});
Zeitstempel überschreiben
Im Measurement Protocol wird für jedes Ereignis in der Anfrage der erste Zeitstempel verwendet, der in der folgenden Liste gefunden wird:
- Der
timestamp_micros
des Ereignisses. - Der
timestamp_micros
der Anfrage. - Der Zeitpunkt, zu dem das Measurement Protocol die Anfrage empfängt.
Im folgenden Beispiel wird ein Zeitstempel auf Anfrageebene gesendet, der für alle Ereignisse in der Anfrage gilt. Daher wird im Measurement Protocol sowohl dem Ereignis vom Typ tutorial_begin
als auch dem Ereignis vom Typ join_group
der Zeitstempel requestUnixEpochTimeInMicros
zugewiesen.
{
"timestamp_micros": requestUnixEpochTimeInMicros,
"events": [
{
"name": "tutorial_begin"
},
{
"name": "join_group",
"params": {
"group_id": "G_12345",
}
}
]
}
Im folgenden Beispiel werden sowohl ein Zeitstempel auf Anfrageebene als auch ein Zeitstempel auf Ereignisebene gesendet. Daher wird dem Ereignis vom Typ tutorial_begin
im Measurement Protocol der Zeitstempel tutorialBeginUnixEpochTimeInMicros
und dem Ereignis vom Typ join_group
der Zeitstempel requestUnixEpochTimeInMicros
zugewiesen.
{
"timestamp_micros": requestUnixEpochTimeInMicros,
"events": [
{
"name": "tutorial_begin",
"timestamp_micros": tutorialBeginUnixEpochTimeInMicros
},
{
"name": "join_group",
"params": {
"group_id": "G_12345",
}
}
]
}
Beschränkungen
Für das Senden von Measurement Protocol-Ereignissen an Google Analytics gelten die folgenden Einschränkungen:
- Anfragen können maximal 25 Ereignisse enthalten.
- Ereignisse dürfen maximal 25 Parameter haben.
- Ereignisse dürfen maximal 25 Nutzereigenschaften haben.
- Namen von Nutzereigenschaften dürfen maximal 24 Zeichen lang sein.
- Werte von Nutzereigenschaften dürfen maximal 36 Zeichen umfassen.
- Ereignisnamen dürfen maximal 40 Zeichen lang sein und nur alphanumerische Zeichen und Unterstriche enthalten. Außerdem müssen sie mit einem Buchstaben beginnen.
- Parameternamen (einschließlich Artikelparameter) dürfen maximal 40 Zeichen lang sein und nur alphanumerische Zeichen und Unterstriche enthalten. Außerdem müssen sie mit einem Buchstaben beginnen.
- Parameterwerte (einschließlich Artikelparameterwerte) dürfen in einer Google Analytics-Standard-Property maximal 100 Zeichen und in einer Google Analytics 360-Property maximal 500 Zeichen enthalten.
- Artikelparameter können maximal 10 benutzerdefinierte Parameter haben.
- Der Textkörper des Beitrags darf nicht größer als 130 KB sein.
- Mit dem App Measurement Protocol an Google Analytics gesendete Ereignisse werden nicht für Sucherzielgruppen in Google Ads für App-Nutzer verwendet.
Weitere Anforderungen für jeden Anwendungsfall finden Sie unter Häufige Anwendungsfälle.