Measurement Protocol-Ereignisse an Google Analytics senden

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').

  {
   "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:

  1. Der timestamp_micros des Ereignisses.
  2. Der timestamp_micros der Anfrage.
  3. 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.