1. Einführung
Letzte Aktualisierung:08.06.2021
Umfang
In diesem Codelab erfahren Sie, wie Sie externe Ereignisse mit dem Measurement Protocol an GA4 senden.
In diesem Codelab wird davon ausgegangen, dass Sie bereits eine App mit Google Analytics for Firebase implementiert haben. Informationen zur Einbindung in Google Analytics for Firebase finden Sie in diesem Codelab. Weitere Informationen zum Erstellen einer App mit Firebase finden Sie im Firebase Android Codelab „Build Friendly Chat“.
Aufgaben in diesem Lab
- So starten Sie Ihren ersten MP-Anruf
- Für den Aufruf erforderliche Parameter
- Testanruf senden und bestätigen
- Beispielscript in Python erstellen, um den Anruf zu starten
Voraussetzungen
- Ihre Android- oder iOS-App
- Eine beliebige IDE, um Änderungen vorzunehmen
- GA4-Konto
- Optional: Python-Entwicklungsumgebung (oder Colab)
2. Pflichtfelder abrufen
API-Secret in GA4 erstellen
Rufen Sie GA4 auf und erstellen Sie ein neues API-Secret. Gehen Sie dazu zu Verwaltung > Datenstreams > Stream auswählen > Measurement Protocol > Erstellen.
Sie können einen beliebigen Alias angeben. Daraufhin wird der Secret-Wert angezeigt, den Sie in Ihrem Anruf verwenden können.
Wenn Sie nicht sicher sind, wie Sie auf GA4 zugreifen, können Sie Ihr Firebase-Projekt aufrufen, die Projekteinstellungen > Integrationen > Google Analytics aufrufen und auf „Verwalten“ klicken. Die Google Analytics-Verbindung sollte sichtbar sein. Sie können auch direkt dorthin wechseln.
app_instance_id erfassen
Sie können eine der folgenden Methoden verwenden, um die app_instance_id zu erfassen.
- BigQuery Export verwenden
- Native Abruf im App-Quellcode
Beide werden unten ausführlich beschrieben.
- BigQuery Export verwenden
Wenn Sie BigQuery-Export aktiviert haben, gehen Sie so vor:
- In Firebase anmelden
- Gehen Sie zu „Projekteinstellungen“ > „Integrationen“ > „BigQuery“.
- Klicken Sie neben dem Datensatz auf „In BigQuery ansehen“.
Hinweis : Der Datensatz ist erst verfügbar, nachdem die Option 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 du in deinem Aufruf verwenden kannst.
- Nativ im App-Quellcode abrufen
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();
}
}
});
Für Kotlin können Sie Folgendes ausprobieren:
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 du eine iOS-App hast, kannst du 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 auf Ihre Infrastruktur zutreffen.
3. Anruf erstellen
Sie können einen Beispielaufruf mit dem Ereignis-Builder in GA4 erstellen. Dazu musst du dich anmelden und Cookies aktivieren. Achten Sie darauf, dass die Ein/Aus-Schaltfläche auf „firebase“ gestellt ist.
Sie müssen die folgenden Felder ausfüllen:
- api_secret – wurde bereits in GA4 erstellt
- firebase_app_id: Sie finden diese unter Verwaltung > Datenstreams > Stream auswählen . Es sollte so angezeigt werden:
- app_instance_id: Dieser Wert wurde bereits abgerufen.
- „user_id“ ist nicht obligatorisch. Sie können es vorerst leer lassen.
- Kategorie: Ändern Sie diesen Wert im Drop-down-Menü in „Benutzerdefiniert“ und geben Sie einen beliebigen Ereignisnamen ein. Verwenden Sie kein automatisch erfasstes Ereignis. 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, einschließlich der Schaltfläche „Ereignis bestätigen“.
Klicken Sie dann auf die orange hervorgehobene Schaltfläche „EVENT VALIDATEN“. Es sollte die folgende Meldung angezeigt werden, dass das Ereignis gültig ist, und Sie sollten jetzt die Schaltfläche „AN GA SENDE“ sehen. Wenn das Ereignis in diesem Fall als ungültig angezeigt wird, wird im Tool das genaue Feld angezeigt, in dem ein Problem vorliegt. Sie können das Problem beheben und es noch einmal versuchen.
Klicken Sie jetzt auf die Schaltfläche. Daraufhin sollte ein Testereignis 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 in den Tab „Ereignisberichte“ übertragen werden. Keine Sorge, wenn Sie sie nicht sofort in den normalen Ereignisberichten sehen.
Wenn Probleme oder Abweichungen auftreten, sollten Sie sich die bekannten Einschränkungen des Measurement Protocol ansehen.
5. Python-Script erstellen
Nachdem Sie den Test durchgeführt haben, können Sie den API-Aufruf und die Ereignisnutzlast untersuchen, um eine ähnliche Architektur in Python (oder in einer beliebigen anderen Sprache) zu erstellen, die diesen Aufruf ausführen kann. Sie können diese dann mit der gewünschten Häufigkeit planen und implementieren. Für diesen Teil können Sie entweder 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.
Im GA4-Ereignis-Builder sehen Sie, dass der Endpunkt so aussieht:
POST /mp/collect?firebase_app_id=XXXX&api_secret=XXXX
HTTP/1.1
Host: www.google-analytics.com
Die Ereignisnutzlast sah so aus:
{
"app_instance_id": XXXX,
"non_personalized_ads": false,
"events": [
{
"name": "test_from_codelab",
"params": {
"test_param": "test_123"
}
}
]
}
In Python würde das so aussehen:
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 das Script mit den richtigen Werten ausführen, sollte das Ereignis in GA4 in Echtzeit angezeigt werden.
6. Glückwunsch
Herzlichen Glückwunsch! Sie haben das Measurement Protocol in GA4 erfolgreich verwendet. Jetzt können Sie leistungsstarke Lösungsarchitekturen erstellen, um aussagekräftigere Daten an Google Analytics zu senden und Ihre Marketing- und Geschäftsanalysen zu verbessern. Damit Sie diese Daten optimal nutzen können, empfehlen wir Ihnen, eine Verknüpfung mit Google Ads herzustellen und diese Ereignisse als Conversions zu importieren. Eine ausführliche Anleitung dazu finden Sie in Schritt 6 dieses Codelabs. Für das Conversion-Tracking werden in Google Ads nur Daten angezeigt, die mit IDFAs oder Geräte-IDs verknüpft sind, die innerhalb der letzten 60 Tage über das Firebase SDK erfasst wurden. Beachte bitte, dass es sich hierbei noch um eine Alpha-API handelt. Lies dir die hier aufgeführten Einschränkungen durch, die vor der vollständigen Einführung behoben werden sollten.
Sie haben gelernt,
- Die richtigen Variablen für MP-Anrufe erheben
- Testereignisse senden und bestätigen
- Script zum Senden von MP-Anrufen erstellen