In dieser Anleitung wird beschrieben, wie Sie 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 dieser Anleitung 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 erstellt wurde.Wenn Sie ein neues Secret erstellen möchten, gehen Sie zu Verwaltung > Datenerhebung und ‑änderung > Datenstreams > Stream auswählen > Measurement Protocol API-Secrets > Erstellen.
measurement_id
: Die Mess-ID für einen Stream, die Sie auf der Google Analytics-Benutzerfläche finden (Verwaltung > Datenstreams > Stream auswählen > Mess-ID).Die
measurement_id
ist nicht Ihre Stream-ID.
Für das Measurement Protocol müssen Sie einen Anfragetext im Format JSON POST body angeben. Beispiel:
{
"client_id": "CLIENT_ID",
"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
erstellen, wird eine neue Sitzung erstellt, ohne dass Sie session_start
senden müssen. Weitere Informationen zum Zählen von Sitzungen
Jetzt ausprobieren
Hier ist ein Beispiel, mit dem Sie mehrere Ereignisse gleichzeitig senden können. In diesem Beispiel werden ein tutorial_begin
-Ereignis und ein join_group
-Ereignis an Ihren Google Analytics-Server gesendet. Außerdem werden geografische Informationen über das Feld user_location
und Geräteinformationen über das Feld device
angegeben.
const measurementId = "MEASUREMENT_ID";
const apiSecret = "API_SECRET";
fetch(`https://www.google-analytics.com/mp/collect?measurement_id=${measurementId}&api_secret=${apiSecret}`, {
method: "POST",
body: JSON.stringify({
client_id: "CLIENT_ID",
events: [
{
name: "tutorial_begin",
params: {
"session_id": "SESSION_ID",
"engagement_time_msec": 100
}
},
{
name: "join_group",
params: {
"group_id": "G_12345",
"session_id": "SESSION_ID",
"engagement_time_msec": 150
}
}
],
user_location: {
city: "Mountain View",
region_id: "US-CA",
country_id: "US",
subcontinent_id: "021",
continent_id: "019"
},
device: {
category: "mobile",
language: "en",
screen_resolution: "1280x2856",
operating_system: "Android",
operating_system_version: "14",
model: "Pixel 9 Pro",
brand: "Google",
browser: "Chrome",
browser_version: "136.0.7103.60"
}
})
});
Zeitstempel überschreiben
Das Measurement Protocol verwendet für jedes Ereignis in der Anfrage den ersten Zeitstempel, der in der folgenden Liste gefunden wird:
- Der
timestamp_micros
des Ereignisses. - Die
timestamp_micros
der Anfrage. - Der Zeitpunkt, zu dem die Anfrage im Measurement Protocol eingeht.
Im folgenden Beispiel wird ein Zeitstempel auf Anfrageebene gesendet, der für alle Ereignisse in der Anfrage gilt. Daher wird den Ereignissen tutorial_begin
und join_group
im Measurement Protocol 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 tutorial_begin
-Ereignis im Measurement Protocol der Zeitstempel tutorialBeginUnixEpochTimeInMicros
und dem join_group
-Ereignis 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 dürfen 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 für eine Standard-Google Analytics-Property maximal 100 Zeichen und für eine Google Analytics 360-Property maximal 500 Zeichen umfassen.
- Für Artikelparameter können maximal 10 benutzerdefinierte Parameter festgelegt werden.
- Der Beitragstext darf nicht größer als 130 KB sein.
- Mit dem App Measurement Protocol an Google Analytics gesendete Ereignisse werden nicht für die Erstellung von Suchzielgruppen in Google Ads für App-Nutzer verwendet.
Zusätzliche Anforderungen für die einzelnen Anwendungsfälle finden Sie unter Häufige Anwendungsfälle.