App-Ereignisse über das Measurement Protocol an GA4 senden

1. Einführung

Zuletzt aktualisiert: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 Verknüpfung mit 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

  • Schritte für deinen ersten MP-Anruf
  • Für den Aufruf erforderliche Parameter
  • Testanruf senden und validieren
  • Beispielskript 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 erfassen

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.

6e4afca63054d291.png

c9e9ccd2ffba98eb.png

e714cd969fca4a4d.png

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, rufen Sie Ihr Firebase-Projekt auf, gehen Sie zu „Projekteinstellungen“ > Integrationen > Google Analytics und klicken Sie auf „Verwalten“. Die Google Analytics-Verbindung sollte sichtbar sein, und Sie können auch von dort direkt navigieren

73b4d77a57eddfba.png

app_instance_id erfassen

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

  1. BigQuery Export verwenden
  2. Native Abruf im App-Quellcode

Beides wird im Folgenden ausführlich erläutert.

  1. BigQuery Export verwenden

Wenn BigQuery Export aktiviert ist, 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.

63d061088b622961.png

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

4b1b80bdc2884581.png

  1. Nativ aus dem 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
*/

Abhängig von Ihrer Infrastruktur finden Sie unten weitere Links

3. Anruf erstellen

Sie können einen Beispielaufruf mit dem Ereignis-Builder in GA4 erstellen. Dazu müssen Sie sich anmelden und Cookies aktivieren. Die Ein/Aus-Schaltfläche muss auf „firebase“ festgelegt sein.

fd78d961f3e48238.png

Füllen Sie die folgenden Felder aus:

  • api_secret – wurde bereits in GA4 erstellt
  • firebase_app_id: Sie finden diese unter Verwaltung > Datenstreams > Stream auswählen. Es sollte so angezeigt werden:

19801c8e5cb29222.png

  • app_instance_id: Dieser Wert wurde bereits abgerufen.
  • user_id ist nicht erforderlich. Sie können es vorerst leer lassen.
  • Kategorie: in "Benutzerdefiniert" ändern aus und geben Sie einen beliebigen Ereignisnamen ein. Verwenden Sie kein automatisch erfasstes Ereignis. Hier verwenden wir „test_from_codelab“,

54cce53df64d697.png

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

16a8f531a3894021.png

Wenn Sie alles ausgefüllt haben, sollte in etwa Folgendes angezeigt werden: die Schaltfläche „Ereignis validieren“.

475801f25c3caf26.png

Klicken Sie dann auf die orange hervorgehobene Schaltfläche „EVENT VALIDIEREN“. 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 als ungültig eingestuft wird, teilt Ihnen das Tool das genaue Feld mit, in dem das Problem vorliegt, und Sie können es beheben und es noch einmal versuchen.

23e4e6800705b4aa.png

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 Ihr GA4-Konto aufrufen und sich den Echtzeitbericht ansehen. Das Ereignis sollte angezeigt werden.

994b51ca46bb1973.png

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.

Falls Probleme oder Abweichungen auftreten, sehen Sie sich am besten die bekannten Einschränkungen des Measurement Protocol an.

5. Python-Script erstellen

Nachdem Sie es 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 ausführen kann. Anschließend können Sie dies wie gewünscht planen und operationalisieren. Dazu können Sie entweder eine IDE Ihrer Wahl verwenden, die Python unterstützt, oder einfach ein Google Colab-Notebook verwenden, für das keine Installation auf Ihrem Gerät erforderlich ist.

Im GA4 Event Builder sehen Sie folgenden Endpunkt:

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"
      }
    }
  ]
}

Mit etwas wie diesem können Sie dies 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 ausgeführt haben, 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 detaillierte Anleitung dazu finden Sie in Schritt 6 in diesem Codelab. 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. Diese API ist noch in der Alphaversion. Beachten Sie die hier aufgeführten Einschränkungen , die vor der vollständigen Einführung behoben werden müssen.

Sie haben gelernt,

  • Die richtigen Variablen für MP-Anrufe erheben
  • Testereignisse senden und validieren
  • Script zum Senden von MP-Anrufen erstellen