Measurement Protocol-Referenz

Überblick

Das Senden von Daten an Google Analytics mithilfe des Measurement Protocol erfolgt in zwei Schritten:

  1. Transport: Wo und wie Sie Daten senden
  2. Nutzlast: die von Ihnen gesendeten Daten

In diesem Dokument wird beschrieben, wie Transport und Nutzlast formatiert sind.

Transport

URL-Endpunkt

Sie senden Daten über das Measurement Protocol, indem Sie HTTP-POST-Anfragen an den folgenden Endpunkt senden:

https://www.google-analytics.com/mp/collect

Um ein Ereignis zu senden, senden Sie die folgende POST-Anfrage:

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

Antwortcodes

Das Measurement Protocol gibt immer den Statuscode 2xx zurück, wenn die HTTP-Anfrage empfangen wurde. Das Measurement Protocol gibt keinen Fehlercode zurück, wenn die Nutzlastdaten fehlerhaft waren, wenn die Daten in der Nutzlast falsch waren oder nicht von Google Analytics verarbeitet wurden.

Nutzlast

Daten werden mithilfe der Measurement Protocol-Daten in zwei Teilen an Google Analytics gesendet:

  1. Abfrageparameter
  2. Ein JSON-POST-Text

Suchparameter

Parametername Beschreibung

api_secret

Erforderlich. Ein API Secret, das über die Google Analytics-Benutzeroberfläche generiert wird.

Wenn Sie ein neues Secret erstellen möchten, rufen Sie in der Google Analytics-Benutzeroberfläche
Verwaltung > Datenstreams > Stream auswählen > Measurement Protocol > Erstellen auf

Wir empfehlen, sie auf Ihre Organisation beschränkt zu lassen. Wenn Sie das Measurement Protocol clientseitig bereitstellen, sollten Sie api_secrets regelmäßig rotieren, um übermäßigen SPAM zu vermeiden.

firebase_app_id

Erforderlich. Firebase-App-ID Die ID für eine Firebase-App. Sie finden sie in der Firebase Console unter:
Projekteinstellungen > Allgemein > Meine Apps > App-ID

measurement_id

Mess-ID. Die Kennung für einen Datenstream. Rufen Sie dazu die Google Analytics-Benutzeroberfläche auf:
Verwaltung > Datenstreams > Stream auswählen > Mess-ID

JSON-Beitragstext

Schlüssel Typ Beschreibung

app_instance_id

string

Erforderlich. Identifiziert eindeutig eine bestimmte Installation einer Firebase-App. Dieser Wert muss über das Firebase SDK abgerufen werden.

client_id

string

Erforderlich. Identifiziert eindeutig eine Nutzerinstanz eines Webclients. Weitere Informationen finden Sie unter Ereignisse an das Measurement Protocol senden.

user_id

string

Optional. Eine eindeutige Kennung für einen Nutzer. Weitere Informationen zu dieser ID finden Sie unter User-ID für plattformübergreifende Analysen.

timestamp_micros

number

Optional. Ein Unix-Zeitstempel (in Mikrosekunden) für die Zeit, die dem Ereignis zugeordnet werden soll. Sollte nur festgelegt werden, um Ereignisse aufzuzeichnen, die in der Vergangenheit aufgetreten sind. Dieser Wert kann durch user_property oder Ereigniszeitstempel überschrieben werden. Ereignisse können je nach Zeitzone der Property bis zu 3 Kalendertage zurückdatiert werden.

user_properties

object Optional. Die Nutzereigenschaften für die Messung. Weitere Informationen finden Sie unter Nutzereigenschaften.

non_personalized_ads

boolean Optional. Legen Sie den Wert auf true fest, um anzugeben, dass diese Ereignisse nicht für personalisierte Anzeigen verwendet werden sollen.

events[]

array Erforderlich. Ein Array mit Ereigniselementen. Pro Anfrage können bis zu 25 Ereignisse gesendet werden. Eine Liste aller gültigen Ereignisse finden Sie in der Referenz zu Ereignissen.

events[].name

string Erforderlich. Der Name des Ereignisses. Alle Optionen finden Sie in der Ereignisreferenz.

events[].params

object Optional. Die Parameter für das Ereignis. Die vorgeschlagenen Parameter für jedes Ereignis finden Sie unter Ereignisse.

Benutzerdefinierte Parameter

Zusätzlich zu den vorgeschriebenen Parametern können Sie in eine Measurement Protocol-Nutzlast benutzerdefinierte Parameter auf Nutzer-, Ereignis- und Artikelebene aufnehmen.

  • Benutzerdefinierte Parameter auf Nutzerebene können in das user_properties-Objekt der Nutzlast aufgenommen werden.
  • Benutzerdefinierte Parameter auf Ereignisebene können im Objekt events[].params der Nutzlast enthalten sein.
  • Benutzerdefinierte Parameter auf Artikelebene können für jedes Ereignis im items-Array enthalten sein.

Einige Ereignisse haben empfohlene Parameter. Die empfohlenen Parameter für alle unterstützten Ereignisse finden Sie unter Ereignisse.

Reservierte Namen

Reservierte Ereignisnamen

Die folgenden Ereignisnamen sind reserviert und können nicht verwendet werden:

  • ad_activeview
  • ad_click
  • ad_exposure
  • ad_impression
  • ad_query
  • ad_reward
  • adunit_exposure
  • app_clear_data
  • app_exception
  • app_install
  • app_remove
  • app_store_refund
  • app_update
  • app_upgrade
  • dynamic_link_app_open
  • dynamic_link_app_update
  • dynamic_link_first_open
  • error
  • firebase_campaign
  • firebase_in_app_message_action
  • firebase_in_app_message_dismiss
  • firebase_in_app_message_impression
  • first_open
  • first_visit
  • in_app_purchase
  • notification_dismiss
  • notification_foreground
  • notification_open
  • notification_receive
  • notification_send
  • os_update
  • screen_view
  • session_start
  • user_engagement

Reservierte Parameternamen

Die folgenden Parameternamen sind reserviert und können nicht verwendet werden:

  • firebase_conversion

Außerdem dürfen Parameternamen nicht mit folgenden Zeichen oder Präfixen beginnen:

  • _ (underscore)
  • firebase_
  • ga_
  • google_
  • gtag.

Reservierte Namen von Nutzereigenschaften

Die folgenden Namen von Nutzereigenschaften sind reserviert und können nicht verwendet werden:

  • first_open_time
  • first_visit_time
  • last_deep_link_referrer
  • user_id
  • first_open_after_install

Außerdem dürfen Namen von Nutzereigenschaften nicht mit folgenden Zeichen oder Präfixen beginnen:

  • _ (underscore)
  • firebase_
  • ga_
  • google_