1. Einleitung
Letzte Aktualisierung: 08.06.2021
Was Sie bauen werden
In diesem Codelab erfahren Sie, wie Sie mithilfe des Measurement Protocol externe Ereignisse an GA4 senden.
Bei diesem Codelab wird davon ausgegangen, dass Sie bereits über eine App verfügen, in der Google Analytics für Firebase implementiert ist. Wenn Sie erfahren möchten, wie Sie Google Analytics für Firebase integrieren, lesen Sie bitte zuerst dieses Codelab . Wenn Sie erfahren möchten, wie Sie eine App mit Firebase erstellen, lesen Sie bitte den Firebase Android Codelab-Build Friendly Chat .
Was Sie lernen werden
- Schritte für Ihren ersten MP-Anruf
- Verstehen Sie die für den Anruf erforderlichen Parameter
- Senden und validieren Sie Ihren Testanruf
- Erstellen Sie ein Beispielskript in Python, um den Aufruf durchzuführen
Was du brauchen wirst
- Ihre Android- oder iOS-App
- Jede IDE, um Änderungen vorzunehmen
- GA4-Konto
- Optional – Python-Entwicklungsumgebung (oder Colab )
2. Sammeln Sie die Pflichtfelder
Erstellen Sie ein API-Geheimnis in GA4
Navigieren Sie zu GA4 und erstellen Sie Ihr neues API-Geheimnis, indem Sie zu Admin > Datenströme navigieren > Ihren Stream auswählen > Messprotokoll > Erstellen
Sie können einen beliebigen Spitznamen angeben und der geheime Wert wird angezeigt, den Sie in Ihrem Anruf verwenden können
Falls Sie nicht sicher sind, wie Sie auf GA4 zugreifen, können Sie Ihr Firebase-Projekt besuchen, Projekteinstellungen > Integrationen > Google Analytics überprüfen und auf „Verwalten“ klicken. Die Google Analytics-Verbindung sollte sichtbar sein und Sie können von dort aus auch direkt navigieren
Erfassen Sie app_instance_id
Sie können eine der folgenden Methoden verwenden, um Ihre app_instance_id zu erfassen.
- Verwenden des BigQuery-Exports
- Natives Abrufen in Ihrem App-Quellcode
Beides wird im Folgenden ausführlich erläutert
- Verwenden des BigQuery-Exports
Wenn Sie den BigQuery-Export aktiviert haben, können Sie die folgenden Schritte ausführen
- Melden Sie sich bei Firebase an
- Navigieren Sie zu Projekteinstellungen > Integrationen > BigQuery
- Klicken Sie neben dem Datensatz auf „In BigQuery anzeigen“.
Hinweis: Der Datensatz wäre erst verfügbar, nachdem der Schalter etwa 24 bis 48 Stunden lang aktiviert wurde
- In BigQuery können Sie in der Tabelle nach user_pseudo_id suchen. Dies ist die app_instance_id, die Sie in Ihrem Anruf verwenden können
- Natives Abrufen in Ihrem App-Quellcode
Wenn Ihre App mit Java erstellt wurde, können Sie so etwas verwenden, um die app_instance_id abzurufen
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 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
*/
Nachfolgend finden Sie je nach Infrastruktur weitere Links
3. Aufbau des Anrufs
Sie können einen Beispielanruf mit dem Event Builder in GA4 erstellen. (Dafür müssen Sie sich anmelden und Cookies aktiviert haben). Stellen Sie sicher, dass der Schalter auf „Firebase“ eingestellt ist.
Sie müssen die folgenden Felder ausfüllen
- api_secret – Bereits früher auf GA4 erstellt
- firebase_app_id – Um dies zu erhalten, können Sie zu „Admin“ > „Datenströme“ navigieren und Ihren Stream auswählen . Es sollte wie folgt angezeigt werden
- app_instance_id – Sie haben diesen Wert bereits abgerufen
- user_id ist nicht obligatorisch. Sie können es vorerst leer lassen
- Kategorie – ändern Sie dies im Dropdown-Menü in „Benutzerdefiniert“ und geben Sie einen beliebigen Ereignisnamen Ihrer Wahl ein (verwenden Sie kein automatisch erfasstes Ereignis ). Hier verwenden wir „test_from_codelab“
Optional können Sie auch Ereignisparameter und/oder Benutzereigenschaften angeben, indem Sie auf die Schaltflächen unten klicken
Sobald Sie alles ausgefüllt haben, sollten Sie etwa Folgendes sehen, mit einer Schaltfläche zum „Validieren des Ereignisses“.
Sobald Sie dort angelangt sind, klicken Sie auf „EREIGNIS VALIDIEREN“. Die Schaltfläche ist orange hervorgehoben. Es sollte die folgende Meldung angezeigt werden, die angibt, dass das Ereignis gültig ist, und Sie werden eine Schaltfläche sehen, auf die Sie jetzt „AN GA SENDEN“ klicken können. Wenn das Ereignis zu diesem Zeitpunkt als ungültig angezeigt wird, teilt Ihnen das Tool das genaue Feld mit, in dem ein Problem vorliegt, und Sie können das Problem beheben und es erneut versuchen
Sie können jetzt auf die Schaltfläche klicken und es sollte ein Testereignis an GA4 gesendet werden
4. Validierung von Ereignissen in GA4
Sobald Sie das Ereignis gesendet haben, können Sie zu Ihrem GA4-Konto navigieren und Echtzeit prüfen. Sie sollten sehen, wie das Ereignis zustande kommt
Es kann etwa 24 Stunden dauern, bis die Ereignisse von der Echtzeitansicht auf die Registerkarte „Ereignisberichte“ übertragen werden. Sie müssen sich also keine Sorgen machen, wenn Sie dies nicht sofort in den regulären Ereignisberichten sehen!
Wenn Sie auf Probleme oder Unstimmigkeiten stoßen, kann es hilfreich sein, sich hier über die bekannten Einschränkungen des Measurement Protocol zu informieren
5. Erstellen eines Python-Skripts
Nachdem Sie es nun getestet haben, können Sie den API-Aufruf und die Ereignisnutzlast untersuchen, um eine ähnliche Architektur in Python (oder in einer beliebigen Sprache Ihrer Wahl) zu erstellen, die diesen Aufruf durchführen kann. Sie können dies dann in der von Ihnen gewünschten Häufigkeit planen und in die Praxis umsetzen. Für diesen Teil können Sie entweder eine beliebige IDE Ihrer Wahl verwenden, die Python unterstützt, oder einfach ein Google Colab-Notebook verwenden, das keine Installation auf Ihrem Gerät erfordert
Wenn Sie noch einmal auf den GA4 Event Builder zurückgreifen, sehen Sie, dass der Endpunkt wie folgt aussieht
POST /mp/collect?firebase_app_id=XXXX&api_secret=XXXX
HTTP/1.1
Host: www.google-analytics.com
Die Ereignisnutzlast war wie folgt
{
"app_instance_id": XXXX,
"non_personalized_ads": false,
"events": [
{
"name": "test_from_codelab",
"params": {
"test_param": "test_123"
}
}
]
}
Sie können dies mit etwas wie diesem in Python ü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)
Sobald Sie dies mit den richtigen Werten ausführen, sollte sich das Ereignis ebenfalls in Echtzeit in GA4 widerspiegeln.
6. Herzlichen Glückwunsch
Herzlichen Glückwunsch, Sie haben das Measurement Protocol in GA4 erfolgreich eingesetzt. 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. Um das Beste daraus zu machen, empfehlen wir außerdem, eine Verbindung zu Google Ads herzustellen und diese Ereignisse als Conversions zu importieren. Detaillierte Anweisungen hierzu finden Sie in Schritt 6 in diesem Codelab . Für Conversion-Tracking-Zwecke zeigt Google Ads nur Daten an, die mit IDFA oder Geräte-IDs verknüpft sind, die innerhalb der letzten 60 Tage vom Firebase SDK erfasst wurden. Bedenken Sie, dass es sich hierbei immer noch um eine Alpha-API handelt und stellen Sie sicher, dass Sie die hier aufgeführten Einschränkungen durchgehen, die vor der vollständigen Veröffentlichung behoben werden sollten
Du hast gelernt
- So sammeln Sie die richtigen Variablen, um MP-Aufrufe durchzuführen
- So senden und validieren Sie Testereignisse
- So erstellen Sie ein Skript zum Senden von MP-Anrufen