Wysyłaj zdarzenia aplikacji do GA4 przy użyciu protokołu Measurement Protocol

1. Wstęp

Ostatnia aktualizacja: 2021-06-08

Co zbudujesz

W tych ćwiczeniach z programowania dowiesz się, jak wysyłać zdarzenia zewnętrzne do GA4 przy użyciu protokołu Measurement Protocol .

W tym ćwiczeniu z programowania założono, że masz już zaimplementowaną aplikację z Google Analytics dla Firebase. Jeśli chcesz dowiedzieć się, jak zintegrować się z Google Analytics dla Firebase, zapoznaj się najpierw z tym ćwiczeniem z programowania . Jeśli chcesz dowiedzieć się, jak zbudować aplikację za pomocą Firebase, zapoznaj się z przyjazną budową czatu Firebase Android Codelab .

Czego się dowiesz

  • Kroki, aby wykonać pierwsze połączenie MP
  • Zapoznaj się z parametrami wymaganymi do połączenia
  • Wyślij i zatwierdź połączenie testowe
  • Zbuduj przykładowy skrypt w Pythonie, aby wykonać połączenie

Co będziesz potrzebował

  • Twoja aplikacja na Androida lub iOS
  • Dowolne IDE do wprowadzenia zmian
  • Konto GA4
  • Opcjonalnie — środowisko programistyczne Python (lub Colab )

2. Zbierz pola obowiązkowe

Utwórz sekret API w GA4

Przejdź do GA4 i utwórz nowy klucz tajny API, wybierając kolejno Administracja > Strumienie danych > wybierz strumień > Protokół pomiarowy > Utwórz

6e4afca63054d291.png

c9e9ccd2ffba98eb.png

e714cd969fca4a4d.png

Możesz podać dowolny pseudonim, wyświetli się tajna wartość, którą możesz wykorzystać w rozmowie

Jeśli nie masz pewności, jak uzyskać dostęp do GA4, możesz odwiedzić swój projekt Firebase, sprawdzić Ustawienia projektu > Integracje > Google Analytics i kliknąć „Zarządzaj”. Połączenie z Google Analytics powinno być widoczne i można z niego bezpośrednio nawigować

73b4d77a57eddfba.png

Zbierz identyfikator_instancji aplikacji

Możesz użyć dowolnej z poniższych metod, aby zebrać identyfikator_instancji_aplikacji.

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

Obydwa zostały szczegółowo wyjaśnione poniżej

  1. Korzystanie z BigQuery Export

Jeśli masz włączony eksport BigQuery , możesz wykonać poniższe kroki

  • Zaloguj się do Firebase
  • Przejdź do Ustawienia projektu > Integracje > BigQuery
  • Kliknij „Wyświetl w BigQuery” obok zbioru danych

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

63d061088b622961.png

  • W BigQuery możesz sprawdzić w tabeli user_pseudo_id. To jest app_instance_id, którego możesz użyć w swoim połączeniu

4b1b80bdc2884581.png

  1. Pobieranie natywne w kodzie źródłowym aplikacji

Jeśli Twoja aplikacja jest zbudowana przy użyciu języka Java, możesz użyć czegoś takiego, aby pobrać identyfikator_instancji_aplikacji

 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 Kotlina możesz wypróbować poniższe

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żywać następujących funkcji w Swift

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 znajduje się więcej linków w zależności od infrastruktury

3. Konstruowanie rozmowy

Możesz utworzyć przykładowe wywołanie, korzystając z Kreatora zdarzeń w GA4. (Wymaga to zalogowania się i włączenia obsługi plików cookie). Upewnij się, że przełącznik jest ustawiony na „firebase”

fd78d961f3e48238.png

Będziesz musiał wypełnić następujące pola

  • api_secret — Utworzono już wcześniej na GA4
  • firebase_app_id — aby to uzyskać, możesz przejść do opcji Administrator > Strumienie danych > wybierz swój strumień . Powinno wyświetlić się jak poniżej

19801c8e5cb29222.png

  • app_instance_id — już pobrałeś tę wartość
  • user_id nie jest obowiązkowy. Na razie możesz pozostawić to pole puste
  • Kategoria — zmień tę opcję na „Niestandardowe” z menu rozwijanego i wpisz dowolną wybraną nazwę wydarzenia (nie używaj żadnego zdarzenia zbieranego automatycznie ). Tutaj używamy „test_from_codelab”

54cce53df64d697.png

Opcjonalnie możesz także podać parametry zdarzenia i/lub właściwości użytkownika, klikając poniższe przyciski

16a8f531a3894021.png

Po wypełnieniu wszystkiego powinieneś zobaczyć coś takiego z przyciskiem „Zatwierdź wydarzenie”

475801f25c3caf26.png

Gdy dojdziesz do tego, kliknij „WALIDACJA ZDARZENIA”, przycisk podświetlony na pomarańczowo. Powinien wyświetlić poniższy komunikat, określający, że zdarzenie jest ważne, a teraz zobaczysz przycisk „WYŚLIJ DO GA”. W tym momencie, jeśli zdarzenie okaże się nieprawidłowe, narzędzie wskaże dokładne pole, w którym występuje problem, możesz to naprawić i spróbować ponownie

23e4e6800705b4aa.png

Możesz teraz kliknąć przycisk, który powinien wysłać zdarzenie testowe do GA4

4. Walidacja zdarzeń w GA4

Po wysłaniu wydarzenia możesz przejść do swojego konta GA4 i sprawdzić opcję Czas rzeczywisty. Powinieneś zobaczyć, jak wydarzenie dobiegło końca

994b51ca46bb1973.png

Przeniesienie wydarzeń z widoku czasu rzeczywistego do karty raportowania rzeczywistych wydarzeń może zająć około 24 godzin, więc nie musisz się martwić, jeśli nie zobaczysz tego natychmiast w zwykłym raportowaniu wydarzeń!

Jeśli napotkasz problemy lub rozbieżności, przydatne może być sprawdzenie znanych ograniczeń protokołu pomiarowego tutaj

5. Budowanie skryptu w Pythonie

Teraz, gdy już to przetestowałeś, możesz sprawdzić wywołanie interfejsu API i ładunek zdarzenia, aby zbudować podobną architekturę w Pythonie (lub w dowolnym wybranym języku), która będzie w stanie wykonać to wywołanie. Następnie możesz zaplanować to z żądaną częstotliwością i zoperacjonalizować. W tej części możesz użyć dowolnego wybranego IDE obsługującego Pythona lub po prostu użyć notatnika Google Colab , który nie wymaga żadnej instalacji na Twoim urządzeniu

Wracając do Kreatora zdarzeń GA4, zobaczysz, że punkt końcowy wygląda jak poniżej

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

Ładunek zdarzenia był następujący

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

Możesz przetłumaczyć to na Pythona, używając czegoś takiego

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 to z właściwymi wartościami, powinieneś podobnie zobaczyć odzwierciedlenie zdarzenia w czasie rzeczywistym w GA4.

6. Gratulacje

Gratulacje, pomyślnie użyłeś protokołu pomiaru w GA4. Teraz możesz tworzyć zaawansowane architektury rozwiązań, aby wysyłać bardziej znaczące dane do Google Analytics i ulepszać swoje analizy marketingowe i biznesowe. Aby jak najlepiej to wykorzystać, sugerujemy również połączenie się z Google Ads i zaimportowanie tych zdarzeń jako konwersji. Szczegółowe instrukcje na ten temat można znaleźć w kroku 6 w tym ćwiczeniu z kodowania . Na potrzeby śledzenia konwersji Google Ads będzie wyświetlać tylko dane powiązane z identyfikatorem IDFA lub identyfikatorami urządzeń zebranymi z pakietu SDK Firebase w ciągu ostatnich 60 dni. Pamiętaj, że jest to nadal interfejs API w wersji alfa i pamiętaj o zapoznaniu się z wymienionymi tutaj ograniczeniami, którymi należy się zająć przed pełnym uruchomieniem

Nauczyłeś się

  • Jak zebrać odpowiednie zmienne, aby wykonać wywołania MP
  • Jak wysyłać i sprawdzać zdarzenia testowe
  • Jak zbudować skrypt do wysyłania połączeń MP