Senden Sie App-Ereignisse mithilfe des Measurement Protocol an GA4

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

6e4afca63054d291.png

c9e9ccd2ffba98eb.png

e714cd969fca4a4d.png

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

73b4d77a57eddfba.png

Erfassen Sie app_instance_id

Sie können eine der folgenden Methoden verwenden, um Ihre app_instance_id zu erfassen.

  1. Verwenden des BigQuery-Exports
  2. Natives Abrufen in Ihrem App-Quellcode

Beides wird im Folgenden ausführlich erläutert

  1. 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

63d061088b622961.png

  • 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

4b1b80bdc2884581.png

  1. 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.

fd78d961f3e48238.png

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

19801c8e5cb29222.png

  • 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“

54cce53df64d697.png

Optional können Sie auch Ereignisparameter und/oder Benutzereigenschaften angeben, indem Sie auf die Schaltflächen unten klicken

16a8f531a3894021.png

Sobald Sie alles ausgefüllt haben, sollten Sie etwa Folgendes sehen, mit einer Schaltfläche zum „Validieren des Ereignisses“.

475801f25c3caf26.png

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

23e4e6800705b4aa.png

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

994b51ca46bb1973.png

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