Wysyłanie zdarzeń w aplikacji do GA4 za pomocą Measurement Protocol

1. Wprowadzenie

Ostatnia aktualizacja: 8.06.2021

Co utworzysz

Z tego ćwiczenia w Codelabs dowiesz się, jak wysyłać zdarzenia zewnętrzne do GA4 za pomocą platformy Measurement Protocol.

W tym ćwiczeniu w Codelabs zakładamy, że masz już aplikację z wdrożoną aplikacją Google Analytics dla Firebase. Jeśli chcesz dowiedzieć się, jak przeprowadzić integrację z Google Analytics dla Firebase, zapoznaj się najpierw z tym ćwiczeniem z programowania. Jeśli chcesz dowiedzieć się, jak tworzyć aplikacje za pomocą Firebase, zapoznaj się z czatem ułatwiającym tworzenie aplikacji na Androida w Firebase.

Czego się nauczysz

  • Kroki do wykonania pierwszego połączenia w formacie MP
  • Omówienie parametrów wymaganych do wywołania
  • Wysyłanie i weryfikacja rozmowy testowej
  • Tworzenie przykładowego skryptu w Pythonie w celu wywołania

Czego potrzebujesz

  • Twoja aplikacja na Androida lub iOS
  • Dowolne IDE do wprowadzania zmian
  • Konto GA4
  • Opcjonalnie – środowisko programistyczne Pythona (lub Colab)

2. Uzupełnij pola obowiązkowe

Tworzenie obiektu tajnego API w GA4

Przejdź do GA4 i utwórz nowy tajny klucz API. W tym celu kliknij Administracja > Strumienie danych > wybierz transmisję > Measurement Protocol > Utwórz

6e4afca63054d291.png

c9e9ccd2ffba98eb.png

E714cd969fca4a4d.png

Możesz podać dowolny pseudonim, a zostanie wyświetlona wartość obiektu tajnego, której możesz użyć podczas rozmowy.

Jeśli nie wiesz, jak uzyskać dostęp do GA4, możesz otworzyć swój projekt Firebase, w sekcji Ustawienia projektu > Integracje > Google Analytics i kliknij „Zarządzaj”. Połączenie z Google Analytics powinno być widoczne i możesz przechodzić bezpośrednio z niego.

73b4d77a57eddfba.png

Zbieraj dane app_instance_id

Identyfikator app_instance_id możesz zbierać za pomocą dowolnej z poniższych metod.

  1. Korzystanie z BigQuery Export
  2. Natywne pobieranie w kodzie źródłowym aplikacji

Oba te modele zostały szczegółowo wyjaśnione poniżej.

  1. Korzystanie z BigQuery Export

Jeśli masz włączony BigQuery Export , wykonaj poniższe czynności.

  • Zaloguj się w Firebase
  • Otwórz Ustawienia projektu > Integracje > BigQuery,
  • Kliknij „Wyświetl w BigQuery”. w pobliżu zbioru danych

Uwaga : zbiór danych będzie dostępny dopiero po włączeniu przełącznika od około 24–48 godzin

63d061088b622961.png

  • W BigQuery możesz sprawdzić w tabeli parametr user_pseudo_id. Jest to identyfikator app_instance_id, którego możesz użyć w wywołaniu.

4b1b80bdc2884581.png

  1. Natywne pobieranie w kodzie źródłowym aplikacji

Jeśli Twoja aplikacja została utworzona w języku Java, możesz pobrać parametr app_instance_id:

 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();
            }
        }
    });

W przypadku Kotlin możesz wypróbować poniższe rozwiązania

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()

Jeśli masz aplikację na iOS, możesz użyć w Swift tych elementów:

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
*/

Poniżej znajdziesz więcej linków zależnie od Twojej infrastruktury

3. Tworzenie rozmowy

Możesz utworzyć przykładowe wywołanie za pomocą Kreatora zdarzeń w GA4. (Aby to zrobić, należy się zalogować i włączyć obsługę plików cookie). Upewnij się, że przełącznik jest ustawiony na „firebase”

fd78d961f3e48238.png

Musisz wypełnić następujące pola

  • api_secret – został już utworzony wcześniej w GA4.
  • firebase_app_id – aby je pobrać, kliknij Administracja > Strumienie danych > wybierz transmisję . Powinien wyglądać tak jak poniżej.

19801c8e5cb29222.png

  • app_instance_id – ta wartość została już pobrana
  • Parametr user_id nie jest wymagany. Możesz na razie zostawić to pole puste
  • Kategoria – zmień na „Niestandardowa” i wpisz dowolną nazwę zdarzenia (nie używaj żadnego zdarzenia zbieranego automatycznie). Tutaj używamy parametru „test_from_codelab”

54cce53df64d697.png

Opcjonalnie możesz też podać parametry zdarzenia lub właściwości użytkownika, klikając przyciski poniżej

16a8f531a3894021.png

Gdy wypełnisz wszystkie pola, zobaczysz coś takiego z przyciskiem „Sprawdź zdarzenie”.

475801f25c3caf26.png

Gdy to zrobisz, kliknij „SPRAWDŹ WYDARZENIE”. , przycisk jest wyróżniony na pomarańczowo. Powinien wyświetlić się komunikat poniżej z informacją, że zdarzenie jest prawidłowe. Powinien pojawić się przycisk „WYŚLIJ DO GA”. Jeśli na tym etapie zdarzenie okaże się nieprawidłowe, narzędzie poda dokładne pole, w którym występuje problem, co umożliwi Ci naprawienie tego błędu i spróbowanie jeszcze raz.

23e4e6800705b4aa.png

Możesz już kliknąć ten przycisk. Powinien on wysłać zdarzenie testowe do GA4.

4. Weryfikowanie zdarzeń w GA4

Po wysłaniu zdarzenia możesz przejść na swoje konto GA4 i sprawdzić dane w czasie rzeczywistym. Powinno wyświetlić się zdarzenie.

994b51ca46bb1973.png

Rozpowszechnienie zdarzeń z widoku w czasie rzeczywistym na karcie raportowania zdarzeń może potrwać do 24 godzin, więc nie martw się, jeśli nie pojawi się on od razu w standardowych raportach o zdarzeniach.

Jeśli masz problemy lub rozbieżności, zapoznaj się ze znanymi ograniczeniami platformy Measurement Protocol.

5. Tworzenie skryptu Pythona

Po przetestowaniu tego interfejsu możesz sprawdzić wywołanie interfejsu API i ładunek zdarzenia, aby utworzyć podobną architekturę w Pythonie (lub w dowolnym wybranym języku), która obsługuje to wywołanie. Możesz potem zaplanować tę częstotliwość i wdrożyć ją z wybraną częstotliwością. W tej części możesz użyć dowolnego IDE obsługującego Pythona lub po prostu notatnika Google Colab, który nie wymaga instalacji na urządzeniu.

W Kreatorze zdarzeń GA4 znajdziesz punkt końcowy przedstawiony poniżej.

POST /mp/collect?firebase_app_id=XXXX&api_secret=XXXX 
HTTP/1.1
Host: www.google-analytics.com

Ładunek zdarzenia wyglądał tak:

{
  "app_instance_id": XXXX,
  "non_personalized_ads": false,
  "events": [
    {
      "name": "test_from_codelab",
      "params": {
        "test_param": "test_123"
      }
    }
  ]
}

Możesz to przetłumaczyć na Pythona, używając kodu podobnego do tego:

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)

Gdy wykonasz kod z właściwymi wartościami, zdarzenie powinno być również odzwierciedlane w czasie rzeczywistym w GA4.

6. Gratulacje

Gratulujemy korzystania z platformy Measurement Protocol w GA4. Możesz teraz tworzyć zaawansowane architektury rozwiązań, które pozwalają wysyłać do Google Analytics bardziej przydatne dane oraz ulepszać analitykę biznesową i marketingową. Aby w pełni wykorzystać możliwości, warto też połączyć się z Google Ads i zaimportować te zdarzenia jako konwersje. Szczegółowe instrukcje znajdziesz w kroku 6 w tym ćwiczeniu z programowania. Na potrzeby śledzenia konwersji Google Ads wyświetla tylko dane powiązane z IDFA lub identyfikatorami urządzeń zebrane przez pakiet SDK Firebase w ciągu ostatnich 60 dni. Pamiętaj, że nadal jest to interfejs alfa. Musisz zapoznać się z ograniczeniami podanymi tutaj , które należy rozwiązać przed pełnym wdrożeniem.

Wiesz już

  • Jak zbierać odpowiednie zmienne, aby wykonywać wywołania MP
  • Jak wysyłać i weryfikować zdarzenia testowe
  • Jak utworzyć skrypt do wysyłania wywołań w formacie MP