1. Einführung
Zuletzt aktualisiert:08.06.2021
Umfang
In diesem Codelab erfahren Sie, wie Sie externe Ereignisse über das Measurement Protocol an GA4 senden.
In diesem Codelab wird davon ausgegangen, dass Sie bereits eine App mit Google Analytics for Firebase implementiert haben. Wenn Sie wissen möchten, wie Sie Google Analytics for Firebase einbinden, sehen Sie sich zuerst dieses Codelab an. Wenn Sie wissen möchten, wie Sie eine App mit Firebase erstellen, lesen Sie das Firebase Android Codelab-Build Friendly Chat.
Lerninhalte
- Anleitung: Ihr erster Aufruf für das Measurement Protocol
- Informationen zu den Parameter, die beim Aufruf erforderlich sind
- Testaufruf senden und validieren
- Beispielskript in Python erstellen, um den Aufruf auszuführen
Voraussetzungen
- Ihre Android- oder iOS-App
- Eine beliebige IDE zum Vornehmen von Änderungen
- GA4-Konto
- Optional: Python-Entwicklungsumgebung (oder Colab)
2. Pflichtfelder erfassen
API-Secret in GA4 erstellen
Rufen Sie GA4 auf und erstellen Sie Ihr neues API-Secret unter Verwaltung > Datenstreams > Stream auswählen > Measurement Protocol > Erstellen.
Sie können einen beliebigen Alias angeben. Der Secret-Wert wird angezeigt und kann für den Anruf verwendet werden.
Wenn Sie nicht sicher sind, wie Sie auf GA4 zugreifen können, rufen Sie Ihr Firebase-Projekt auf, klicken Sie auf „Projekteinstellungen“ > „Integrationen“ > „Google Analytics“ und dann auf „Verwalten“. Die Google Analytics-Verbindung sollte sichtbar sein. Sie können auch direkt von dort aus navigieren.
app_instance_id erfassen
Sie können eine der folgenden Methoden verwenden, um die app_instance_id zu erfassen.
- BigQuery Export verwenden
- Daten nativ im Quellcode Ihrer App abrufen
Beide werden im Folgenden ausführlich erläutert.
- BigQuery Export verwenden
Wenn Sie BigQuery Export aktiviert haben, können Sie die folgenden Schritte ausführen.
- In Firebase anmelden
- Rufen Sie „Projekteinstellungen“ > „Integrationen“ > „BigQuery“ auf.
- Klicken Sie neben dem Dataset auf „In BigQuery ansehen“.
Hinweis : Das Dataset ist erst verfügbar, wenn die Ein/Aus-Schaltfläche etwa 24 bis 48 Stunden lang aktiviert war.
- In BigQuery können Sie in der Tabelle nach user_pseudo_id suchen. Das ist die app_instance_id, die Sie in Ihrem Aufruf verwenden können.
- Natives Abrufen im Quellcode Ihrer App
Wenn Ihre App mit Java erstellt wurde, können Sie die app_instance_id so abrufen:
FirebaseAnalytics.getInstance(this).getAppInstanceId().addOnCompleteListener(new OnCompleteListener<String>() {
@Override
public void onComplete(@NonNull Task<String> task) {
if (task.isSuccessful()) {
String user_pseudo_id = task.getResult();
}
}
});
Bei Kotlin können Sie Folgendes versuchen:
Thread {
Firebase.analytics.appInstanceId.addOnSuccessListener { user_pseudo_id ->
Log.d("Firebase", "user_pseudo_id using appInstanceId is $user_pseudo_id")
/*
Store the value to your server or do something with the retrieved id
*/
}
}.start()
Wenn Sie eine iOS-App haben, können Sie Folgendes in Swift verwenden:
let user_pseudo_id = Analytics.appInstanceID()
print("user_pseudo_id = \(user_pseudo_id)")
/*
Store the value to your server or do something with the retrieved id
*/
Unten finden Sie weitere Links, die von Ihrer Infrastruktur abhängen.
3. Anruf erstellen
Mit dem Tool zur Ereigniserstellung in GA4 können Sie einen Beispielaufruf generieren. Hierfür müssen Sie sich anmelden und Cookies aktiviert haben. Der Umschalter muss auf „firebase“ eingestellt sein.
Sie müssen die folgenden Felder ausfüllen:
- api_secret: wurde bereits in GA4 erstellt
- firebase_app_id: Sie finden diese ID unter Verwaltung > Datenstreams > Stream auswählen . Es sollte wie unten dargestellt angezeigt werden.
- app_instance_id: Sie haben diesen Wert bereits abgerufen.
- Die user_id ist nicht obligatorisch. Sie können es vorerst leer lassen.
- Kategorie: Ändern Sie diese im Drop-down-Menü in „Benutzerdefiniert“ und geben Sie einen beliebigen Ereignisnamen ein (verwenden Sie keine automatisch erfassten Ereignisse). Hier verwenden wir „test_from_codelab“.
Optional können Sie auch Ereignisparameter und/oder Nutzereigenschaften angeben, indem Sie auf die Schaltflächen unten klicken.
Wenn Sie alles ausgefüllt haben, sollte in etwa Folgendes angezeigt werden, mit einer Schaltfläche zum Validieren des Ereignisses:
Klicken Sie dann auf die orangefarben hervorgehobene Schaltfläche „Ereignis validieren“. Es sollte die Meldung unten angezeigt werden, die besagt, dass das Ereignis gültig ist. Außerdem sollte eine Schaltfläche zum Senden an Google Analytics zu sehen sein. Wenn das Ereignis an dieser Stelle als ungültig angezeigt wird, teilt Ihnen das Tool das genaue Feld mit, in dem ein Problem vorliegt. Sie können das Problem beheben und es noch einmal versuchen.
Klicken Sie jetzt auf die Schaltfläche. Dadurch sollte ein Testlauf an GA4 gesendet werden.
4. Ereignisse in GA4 validieren
Nachdem Sie das Ereignis gesendet haben, können Sie in Ihrem GA4-Konto den Echtzeitbericht aufrufen. Das Ereignis sollte angezeigt werden.
Es kann etwa 24 Stunden dauern, bis die Ereignisse von der Echtzeitansicht auf den Tab „Berichte“ übertragen werden. Sie müssen sich also keine Sorgen machen, wenn Sie sie nicht sofort in den regulären Ereignisberichten sehen.
Wenn Probleme oder Abweichungen auftreten, kann es hilfreich sein, sich die bekannten Einschränkungen des Measurement Protocol anzusehen.
5. Python-Script erstellen
Nachdem Sie die Funktion getestet haben, können Sie sich den API-Aufruf und die Ereignisnutzlast ansehen, um eine ähnliche Architektur in Python (oder einer beliebigen anderen Sprache) zu erstellen, mit der dieser Aufruf ausgeführt werden kann. Anschließend können Sie die Ausführung mit der gewünschten Häufigkeit planen und operationalisieren. Für diesen Teil können Sie eine beliebige IDE Ihrer Wahl verwenden, die Python unterstützt, oder einfach ein Google Colab-Notebook, für das keine Installation auf Ihrem Gerät erforderlich ist.
Wenn Sie zum GA4-Ereignis-Builder zurückkehren, sehen Sie, dass der Endpunkt wie unten angegeben ist.
POST /mp/collect?firebase_app_id=XXXX&api_secret=XXXX
HTTP/1.1
Host: www.google-analytics.com
Die Ereignisnutzlast war wie unten angegeben.
{
"app_instance_id": XXXX,
"non_personalized_ads": false,
"events": [
{
"name": "test_from_codelab",
"params": {
"test_param": "test_123"
}
}
]
}
Sie können dies in Python so übersetzen:
import requests
import json
url = "https://www.google-analytics.com/mp/collect?firebase_app_id=XXXX&api_secret=XXXX"
payload = {
"app_instance_id": XXXX,
"non_personalized_ads": False,
"events": [
{
"name": "test_from_codelab",
"params": {
"test_param": "test_123"
}
}
]
}
r = requests.post(url,data=json.dumps(payload),verify=True)
print(r.status_code)
Wenn Sie diesen Befehl mit den richtigen Werten ausführen, sollte das Ereignis in GA4 in Echtzeit angezeigt werden.
6. Glückwunsch
Sie haben das Measurement Protocol in GA4 erfolgreich verwendet. Sie können jetzt leistungsstarke Lösungsarchitekturen erstellen, um aussagekräftigere Daten an Google Analytics zu senden und Ihre Marketing- und Unternehmensanalysen zu verbessern. Damit Sie diese Funktion optimal nutzen können, empfehlen wir Ihnen, eine Verbindung zu Google Ads herzustellen und diese Ereignisse als Conversions zu importieren. Eine detaillierte Anleitung dazu finden Sie in diesem Codelab in Schritt 6. Für das Conversion-Tracking werden in Google Ads nur Daten angezeigt, die mit IDFA oder Geräte-IDs verknüpft sind, die in den letzten 60 Tagen über das Firebase SDK erhoben wurden. Beachten Sie, dass es sich hierbei noch um eine Alpha-API handelt. Die hier aufgeführten Einschränkungen sollten vor der vollständigen Einführung behoben werden.
Sie haben gelernt
- Die richtigen Variablen für MP-Aufrufe erfassen
- Testereignisse senden und validieren
- Skript zum Senden von MP-Anrufen erstellen