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

1. Wprowadzenie

Ostatnia aktualizacja: 2021-06-08

Co utworzysz

Z tego modułu dowiesz się, jak wysyłać zdarzenia zewnętrzne do GA4 za pomocą Measurement Protocol.

W tym samouczku zakładamy, że masz już aplikację z wdrożoną usługą Google Analytics dla Firebase. Jeśli chcesz dowiedzieć się, jak zintegrować usługę z Google Analytics dla Firebase, najpierw zapoznaj się z tym kursem. Jeśli chcesz dowiedzieć się, jak tworzyć aplikacje za pomocą Firebase, zapoznaj się z samouczkiem Firebase na Androida – tworzenie aplikacji Friendly Chat.

Czego się nauczysz

  • Jak wykonać pierwsze wywołanie Measurement Protocol
  • Zapoznanie z parametrami wymaganymi na potrzeby wywołania
  • Wysyłanie i weryfikowanie wywołania testowego
  • Utwórz przykładowy skrypt w Pythonie, aby wykonać połączenie

Czego potrzebujesz

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

2. Zbieranie pól obowiązkowych

Tworzenie tajnego klucza API w GA4

Otwórz GA4 i utwórz nowy tajny klucz API. W tym celu kliknij Administracja > Strumienie danych > wybierz swój strumień > Measurement Protocol > Utwórz.

6e4afca63054d291.png

c9e9ccd2ffba98eb.png

e714cd969fca4a4d.png

Możesz podać dowolny pseudonim, a wyświetli się wartość obiektu tajnego, której możesz użyć w wywołaniu.

Jeśli nie wiesz, jak uzyskać dostęp do GA4, otwórz projekt Firebase, kliknij kolejno Ustawienia projektu > Integracje > Google Analytics i kliknij „Zarządzaj”. Połączenie z Google Analytics powinno być widoczne. Możesz też przejść bezpośrednio z tego miejsca.

73b4d77a57eddfba.png

Zbieranie identyfikatora app_instance_id

Aby zebrać parametr app_instance_id, możesz użyć dowolnej z tych metod.

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

Oba te przypadki zostały szczegółowo opisane poniżej.

  1. Korzystanie z BigQuery Export

Jeśli masz włączoną funkcję BigQuery Export , możesz wykonać poniższe czynności.

  • Logowanie w Firebase
  • Wybierz 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ć, czy w tabeli znajduje się identyfikator user_pseudo_id. Jest to identyfikator instancji aplikacji, którego możesz użyć w wywołaniu.

4b1b80bdc2884581.png

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

Jeśli Twoja aplikacja jest napisana w Javie, możesz użyć tego kodu, 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 języka Kotlin możesz wypróbować poniższe rozwiązanie.

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 następującego kodu:

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 w zależności od infrastruktury.

3. Tworzenie połączenia

Przykładowe wywołanie możesz utworzyć w GA4 za pomocą kreatora zdarzeń. (w tym celu musisz się zalogować i mieć włączone pliki cookie). Upewnij się, że przełącznik znajduje się w położeniu „firebase”.

fd78d961f3e48238.png

Musisz wypełnić te pola:

  • api_secret – utworzony wcześniej w GA4
  • firebase_app_id – aby uzyskać ten parametr, kliknij kolejno Administracja > Strumienie danych > wybierz swój strumień . Powinien on wyglądać tak:

19801c8e5cb29222.png

  • app_instance_id – ta wartość została już przez Ciebie pobrana
  • Pole user_id nie jest obowiązkowe. Możesz na razie pozostawić to pole puste.
  • Kategoria – w menu wybierz „Niestandardowa” i wpisz dowolną nazwę zdarzenia (nie używaj żadnego zdarzenia zbieranego automatycznie). Używamy tutaj nazwy „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

Po wypełnieniu wszystkich pól powinna pojawić się tabela podobna do tej poniżej z przyciskiem „Sprawdź wydarzenie”.

475801f25c3caf26.png

Gdy to zrobisz, kliknij przycisk „ZWERYFIKUJ ZDARZENIE” (wyróżniony na pomarańczowo). Powinien wyświetlić się komunikat poniżej, informujący, że zdarzenie jest prawidłowe, oraz przycisk „WYŚLIJ DO GA”. Jeśli w tym momencie zdarzenie zostanie uznane za nieprawidłowe, narzędzie wskaże dokładne pole, w którym występuje problem. Możesz go rozwiązać i spróbować ponownie.

23e4e6800705b4aa.png

Teraz możesz kliknąć przycisk. Powinno to spowodować wysłanie zdarzenia testowego do GA4.

4. Weryfikowanie zdarzeń w GA4

Po wysłaniu zdarzenia możesz przejść na konto GA4 i sprawdzić raport Czas rzeczywisty. Powinno się pojawić zdarzenie.

994b51ca46bb1973.png

Zanim zdarzenia zostaną przeniesione z widoku w czasie rzeczywistym na kartę raportowania zdarzeń, może minąć około 24 godzin, więc nie musisz się martwić, jeśli nie zobaczysz ich od razu w raportach o zdarzeniach.

Jeśli masz problemy lub zauważysz rozbieżności, warto zapoznać się ze znanymi ograniczeniami platformy Measurement Protocol.

5. Tworzenie skryptu w Pythonie

Po przetestowaniu możesz sprawdzić wywołanie interfejsu API i ładunek zdarzenia, aby utworzyć podobną architekturę w Pythonie (lub w dowolnym innym języku), która będzie mogła wykonywać to wywołanie. Możesz następnie zaplanować to działanie z wybraną częstotliwością i wdrożyć je w praktyce. W tej części możesz użyć dowolnego środowiska IDE obsługującego język Python lub po prostu notatnika Google Colab, który nie wymaga instalacji na urządzeniu.

W narzędziu do tworzenia zdarzeń GA4 zobaczysz, że punkt końcowy jest taki jak 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 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)

Po wykonaniu tego działania z odpowiednimi wartościami zdarzenie powinno być widoczne w GA4 w czasie rzeczywistym.

6. Gratulacje

Gratulacje! Udało Ci się użyć Measurement Protocol w GA4. Możesz teraz tworzyć zaawansowane architektury rozwiązań, aby wysyłać do Google Analytics bardziej przydatne dane i ulepszać marketing oraz analizy biznesowe. Aby w pełni wykorzystać tę funkcję, zalecamy też połączenie z Google Ads i zaimportowanie tych zdarzeń jako konwersji. Szczegółowe instrukcje znajdziesz w kroku 6 tego ćwiczenia z programowania. Na potrzeby śledzenia konwersji Google Ads będzie wyświetlać tylko dane powiązane z identyfikatorami IDFA lub identyfikatorami urządzeń zebranymi w ciągu ostatnich 60 dni za pomocą pakietu SDK Firebase. Pamiętaj, że to wciąż interfejs API w wersji alfa. Zapoznaj się z ograniczeniami wymienionymi tutaj , które powinny zostać rozwiązane przed pełnym wdrożeniem.

Czego się nauczysz

  • Jak zbierać odpowiednie zmienne do wykonywania połączeń MP
  • Wysyłanie i weryfikowanie zdarzeń testowych
  • Jak utworzyć skrypt do wysyłania połączeń MP