Tworzenie eksperymentów z komunikatem za pomocą Testów A/B

Gdy kontaktujesz się z użytkownikami lub rozpoczynasz nową kampanię marketingową, warto zadbać o to, by wszystko działało jak należy. Testy A/B mogą pomóc Ci znaleźć optymalne sformułowania i swoją prezentację, testując warianty wiadomości w wybranych częściach grupy użytkowników. Niezależnie od tego, czy Twoim celem jest lepszy wskaźnik utrzymania użytkowników czy konwersja z oferty, testy A/B mogą przeprowadzić analizę statystyczną, aby określić, czy wariant wiadomości osiąga lepsze wyniki niż wartość bazowa wybranego celu.

Aby przeprowadzić test A/B wariantów cech z użyciem punktu odniesienia:

  1. Utwórz eksperyment.
  2. Zweryfikuj eksperyment na urządzeniu testowym.
  3. Zarządzaj eksperymentem.

Utwórz eksperyment

Eksperyment, który korzysta z kompozytora powiadomień, umożliwia ocenę wielu wariantów w ramach jednego powiadomienia.

  1. Zaloguj się w konsoli Firebase i sprawdź, czy w projekcie jest włączona usługa Google Analytics, dzięki czemu eksperyment ma dostęp do danych Analytics.

    Jeśli podczas tworzenia projektu nie włączysz Google Analytics, możesz włączyć tę usługę na karcie Integracje. Aby ją otworzyć, kliknij > Ustawienia projektu w konsoli Firebase.

  2. W sekcji Zaangażowanie na pasku nawigacyjnym konsoli Firebase kliknij Testy A/B.

  3. Kliknij Utwórz eksperyment, a gdy pojawi się prośba o zmianę usługi, z którą chcesz przeprowadzić eksperyment, wybierz Powiadomienia.

  4. Wpisz nazwę i opcjonalnie opis eksperymentu, a potem kliknij Dalej.

  5. Wypełnij pola Kierowanie, wybierając najpierw aplikację, która ma korzystać z eksperymentu. Eksperyment możesz też kierować na podzbiór użytkowników, wybierając opcje zawierające m.in.:

    • Wersja: co najmniej 1 wersja aplikacji.
    • Odbiorcy użytkowników: listy odbiorców Analytics służące do kierowania reklam na użytkowników, którzy mogą być objęci eksperymentem.
    • Właściwość użytkownika: co najmniej 1 właściwość użytkownika w Analytics służąca do wyboru użytkowników, którzy mogą zostać uwzględnieni w eksperymencie.
    • Kraj/region: co najmniej jeden kraj lub region do wyboru użytkowników, którzy mogą zostać objęci eksperymentem.
    • Język urządzenia: co najmniej jeden język i region używany do wyboru użytkowników, którzy mogą zostać objęci eksperymentem.
    • Pierwsze uruchomienie: kierowanie na użytkowników według tego, kiedy po raz pierwszy otworzyli Twoją aplikację.
    • Ostatnie zaangażowanie w aplikację: kierowanie na użytkowników na podstawie tego, kiedy ostatni raz weszli w interakcję z Twoją aplikacją
  6. Ustaw Odsetek użytkowników docelowych: wybierz odsetek użytkowników aplikacji spełniających kryteria określone w sekcji Kieruj reklamy na użytkowników, których chcesz równomiernie podzielić między wariant podstawowy a co najmniej 1 wariant w eksperymencie. Może to być dowolna wartość procentowa między 0,01% a 100%. Wartości procentowe są losowo przypisywane użytkownikom w przypadku każdego eksperymentu, w tym w przypadku eksperymentów powielonych.

  7. W sekcji Warianty w polu Wpisz tekst wiadomości wpisz wiadomość, którą chcesz wysłać do grupy bazowej. Aby nie wysyłać żadnej wiadomości do grupy bazowej, pozostaw to pole puste.

  8. (Opcjonalnie) Aby dodać do eksperymentu więcej niż 1 wariant, kliknij Dodaj wariant. Domyślnie eksperymenty mają 1 wariant i 1 element bazowy.

  9. (Opcjonalnie) Wpisz nazwy poszczególnych wariantów w eksperymencie, zastępując nimi nazwy Wariant A, Wariant B itp.

  10. Określ dane celu eksperymentu, które będą używane do oceny wariantów eksperymentu wraz z odpowiednimi danymi dodatkowymi z listy. Te dane obejmują cele wbudowane (zaangażowanie, zakupy, przychody, utrzymanie itp.), zdarzeń konwersji Analytics i innych zdarzeń Analytics.

  11. Wybierz opcje swojej wiadomości:

    • Data dostarczenia: kliknij Wyślij teraz, aby uruchomić eksperyment od razu po zapisaniu, lub Zaplanowany, aby określić godzinę uruchomienia eksperymentu w przyszłości.
    • Opcje zaawansowane: aby wybrać zaawansowane opcje dla wszystkich powiadomień uwzględnionych w eksperymencie, rozwiń Opcje zaawansowane i zmień dowolne z wymienionych opcji dotyczących wiadomości.
  12. Kliknij Sprawdź, aby zapisać eksperyment.

Możesz utworzyć maksymalnie 300 eksperymentów na projekt, co może się składać z maksymalnie 24 uruchomionych eksperymentów – pozostałe jako wersje robocze lub zakończone.

Weryfikowanie eksperymentu na urządzeniu testowym

Dla każdej instalacji Firebase możesz pobrać powiązany z nią token rejestracji FCM. Za pomocą tego tokena możesz testować określone warianty eksperymentu na urządzeniu testowym z zainstalowaną aplikacją. Aby zweryfikować eksperyment na urządzeniu testowym:

  1. Token rejestracji FCM możesz uzyskać w ten sposób:

    Swift

    Messaging.messaging().token { token, error in
      if let error = error {
        print("Error fetching FCM registration token: \(error)")
      } else if let token = token {
        print("FCM registration token: \(token)")
        self.fcmRegTokenMessage.text  = "Remote FCM registration token: \(token)"
      }
    }
    

    Objective-C

    [[FIRMessaging messaging] tokenWithCompletion:^(NSString *token, NSError *error) {
      if (error != nil) {
        NSLog(@"Error getting FCM registration token: %@", error);
      } else {
        NSLog(@"FCM registration token: %@", token);
        self.fcmRegTokenMessage.text = token;
      }
    }];
    

    Java

    FirebaseMessaging.getInstance().getToken()
        .addOnCompleteListener(new OnCompleteListener<String>() {
            @Override
            public void onComplete(@NonNull Task<String> task) {
              if (!task.isSuccessful()) {
                Log.w(TAG, "Fetching FCM registration token failed", task.getException());
                return;
              }
    
              // Get new FCM registration token
              String token = task.getResult();
    
              // Log and toast
              String msg = getString(R.string.msg_token_fmt, token);
              Log.d(TAG, msg);
              Toast.makeText(MainActivity.this, msg, Toast.LENGTH_SHORT).show();
            }
        });

    Kotlin+KTX

    FirebaseMessaging.getInstance().token.addOnCompleteListener(OnCompleteListener { task ->
        if (!task.isSuccessful) {
            Log.w(TAG, "Fetching FCM registration token failed", task.exception)
            return@OnCompleteListener
        }
    
        // Get new FCM registration token
        val token = task.result
    
        // Log and toast
        val msg = getString(R.string.msg_token_fmt, token)
        Log.d(TAG, msg)
        Toast.makeText(baseContext, msg, Toast.LENGTH_SHORT).show()
    })

    C++

    firebase::InitResult init_result;
    auto* installations_object = firebase::installations::Installations::GetInstance(
        firebase::App::GetInstance(), &init_result);
    installations_object->GetToken().OnCompletion(
        [](const firebase::Future& future) {
          if (future.status() == kFutureStatusComplete &&
              future.error() == firebase::installations::kErrorNone) {
            printf("Installations Auth Token %s\n", future.result()->c_str());
          }
        });
        

    Unity

    Firebase.Messaging.FirebaseMessaging.DefaultInstance.GetTokenAsync().ContinueWith(
      task => {
        if (!(task.IsCanceled || task.IsFaulted) && task.IsCompleted) {
          UnityEngine.Debug.Log(System.String.Format("FCM registration token {0}", task.Result));
        }
      });
    
  2. Na pasku nawigacyjnym konsoli Firebase kliknij Testy A/B.
  3. Kliknij Wersja robocza, najedź kursorem na eksperyment, kliknij menu kontekstowe (), a następnie kliknij Zarządzaj urządzeniami testowymi.
  4. Wpisz token FCM dla urządzenia testowego i wybierz wariant eksperymentu, który chcesz wysłać na to urządzenie testowe.
  5. Uruchom aplikację i sprawdź, czy wybrany wariant jest odbierany na urządzeniu testowym.

Zarządzanie eksperymentem

Niezależnie od tego, czy utworzysz eksperyment przy użyciu Zdalnej konfiguracji, Narzędzia do tworzenia powiadomień czy funkcji wysyłania wiadomości w aplikacji w Firebase, możesz zweryfikować i rozpocząć eksperyment, monitorować go w trakcie jego trwania i zwiększać liczbę użytkowników, którzy będą w nim uczestniczyć.

Po zakończeniu eksperymentu możesz zapoznać się z ustawieniami użytymi przez najlepszy wariant i wdrożyć je dla wszystkich użytkowników. Możesz też przeprowadzić inny eksperyment.

Rozpocznij eksperyment

  1. W sekcji Zaangażowanie w menu nawigacyjnym konsoli Firebase kliknij Testy A/B.
  2. Kliknij kolejno Wersja robocza i tytuł eksperymentu.
  3. Aby upewnić się, że aplikacja ma użytkowników, którzy mogą zostać objęci eksperymentem, rozwiń szczegóły wersji roboczej i w sekcji Kierowanie i dystrybucja sprawdź wartość większą niż 0% (np. 1% użytkowników spełniających kryteria).
  4. Aby zmienić eksperyment, kliknij Edytuj.
  5. Aby rozpocząć eksperyment, kliknij Rozpocznij eksperyment. Możesz prowadzić maksymalnie 24 eksperymenty na projekt naraz.

Monitorowanie eksperymentu

Po pewnym czasie działania eksperymentu możesz sprawdzać jego postęp i wyniki dla użytkowników, którzy uczestniczyli w nim do tej pory.

  1. W sekcji Zaangażowanie w menu nawigacyjnym konsoli Firebase kliknij Testy A/B.
  2. Kliknij Bieganie, a następnie kliknij tytuł eksperymentu lub wyszukaj go. Na tej stronie znajdziesz różne zaobserwowane i modelowane statystyki trwającego eksperymentu, w tym:

    • % różnicy w stosunku do punktu odniesienia: miara poprawy wskaźnika w danym wariancie w stosunku do punktu odniesienia. Oblicza się go przez porównanie zakresu wartości wariantu z zakresem wartości odniesienia.
    • Prawdopodobieństwo przekroczenia wartości podstawowej: szacunkowe prawdopodobieństwo, że dany wariant będzie miał lepszy wynik niż wartość bazowa wybranego wskaźnika.
    • observed_metric na użytkownika: na podstawie wyników eksperymentu jest to przewidywany zakres, w którym z czasem zmieni się wartość danych.
    • Łącznie observed_metric: zaobserwowana skumulowana wartość dla punktu odniesienia lub wariantu. Ta wartość służy do pomiaru skuteczności każdego wariantu eksperymentu i jest wykorzystywana do obliczania wartości Poprawa, Zakres wartości, Prawdopodobieństwo przekroczenia wartości podstawowej i Prawdopodobieństwo, że będzie to najlepszy wariant. Zależnie od mierzonych danych kolumna może mieć etykietę „Czas trwania na użytkownika”, „Przychody na użytkownika”, „Współczynnik utrzymania” lub „Współczynnik konwersji”.
  3. Po pewnym czasie działania eksperymentu (co najmniej 7 dni w przypadku FCM i funkcji wysyłania wiadomości w aplikacji lub 14 dni w przypadku Zdalnej konfiguracji) dane na tej stronie wskazują, który wariant jest najlepszy (o ile występuje). Niektórym pomiarom towarzyszy wykres słupkowy, który przedstawia dane w formacie wizualnym.

Wdrożenie eksperymentu dla wszystkich użytkowników

Gdy eksperyment minie wystarczająco długo, że uzyskasz „najlepszy wariant” lub zwycięski wariant, możesz udostępnić eksperyment wszystkim użytkownikom. Dzięki temu możesz wybrać wariant, który będzie od tej pory publikowany wszystkim użytkownikom. Nawet jeśli eksperyment nie wyłoni jednoznacznej zwycięzcy, możesz udostępnić wariant wszystkim użytkownikom.

  1. W sekcji Zaangażowanie w menu nawigacyjnym konsoli Firebase kliknij Testy A/B.
  2. Kliknij Ukończony lub W toku, kliknij eksperyment, który chcesz udostępnić wszystkim użytkownikom, a potem kliknij menu kontekstowe () Wdróż wariant.
  3. Udostępnij eksperyment wszystkim użytkownikom, wykonując jedną z tych czynności:

    • W przypadku eksperymentu wykorzystującego kompozytora powiadomień użyj okna Wdróż wiadomość, aby wysłać wiadomość do pozostałych docelowych użytkowników, którzy nie brali udziału w eksperymencie.
    • W przypadku eksperymentu Zdalna konfiguracja wybierz wariant, aby określić, które wartości parametrów Zdalnej konfiguracji chcesz zaktualizować. Kryteria kierowania określone podczas tworzenia eksperymentu są dodawane do szablonu jako nowy warunek, aby mieć pewność, że wdrożenie dotyczy tylko użytkowników, których obejmuje eksperyment. Kliknij Sprawdź w Zdalnej konfiguracji i sprawdź zmiany, a potem kliknij Opublikuj zmiany, aby zakończyć wdrażanie.
    • W przypadku eksperymentu dotyczącego wysyłania wiadomości w aplikacji w oknie dialogowym wybierz wariant, który należy wdrożyć jako samodzielną kampanię wysyłającą wiadomości w aplikacji. Po wybraniu nastąpi przekierowanie na ekran tworzenia wiadomości FIAM, gdzie możesz wprowadzić ewentualne zmiany przed opublikowaniem.

Rozwiń eksperyment

Jeśli stwierdzisz, że w ramach eksperymentu nie ma wystarczającej liczby użytkowników do wskazania zwycięzcy przez Testy A/B, możesz rozszerzyć eksperyment, aby dotrzeć do większego odsetka użytkowników aplikacji.

  1. W sekcji Zaangażowanie w menu nawigacyjnym konsoli Firebase kliknij Testy A/B.
  2. Wybierz aktywny eksperyment, który chcesz edytować.
  3. W Przeglądzie eksperymentu kliknij menu kontekstowe (), a następnie Edytuj aktywny eksperyment.
  4. W oknie Kierowanie widoczna jest opcja zwiększenia odsetka użytkowników biorących udział w eksperymencie. Wybierz liczbę większą od bieżącego odsetka i kliknij Opublikuj. Eksperyment zostanie przekazany do wskazanego odsetka użytkowników.

Duplikowanie lub przerywanie eksperymentu

  1. W sekcji Zaangażowanie w menu nawigacyjnym konsoli Firebase kliknij Testy A/B.
  2. Kliknij Ukończony lub Aktywny, najedź kursorem na eksperyment, kliknij menu kontekstowe (), a następnie kliknij Duplikuj eksperyment lub Zatrzymaj eksperyment.

Kierowanie na użytkowników

Możesz kierować reklamy na użytkowników, którzy mają wziąć udział w eksperymencie, korzystając z podanych niżej kryteriów kierowania na użytkowników.

Kryterium kierowania Operatory Wartości Uwaga
Wersja zawiera,
nie zawiera,
pasuje dokładnie,
zawiera wyrażenie regularne
Wpisz wartość dla co najmniej jednej wersji aplikacji, którą chcesz objąć eksperymentem.

Jeśli użyjesz dowolnego z operatorów zawiera, nie zawiera lub dopasowanie ścisłe, możesz podać listę wartości rozdzielonych przecinkami.

Gdy używasz operatora zawiera wyrażenie regularne, możesz tworzyć wyrażenia regularne w formacie RE2. Wyrażenie regularne może zostać dopasowane do całego ciągu znaków wersji docelowej lub do jego części. Możesz też użyć kotwic ^ i $, aby dopasować początek, koniec lub całość docelowego ciągu znaków.

Odbiorcy zawiera wszystkie z,
obejmuje co najmniej jeden z,
nie obejmuje wszystkich spośród,
nie zawiera co najmniej jednego z
Wybierz co najmniej 1 listę odbiorców Analytics, aby kierować reklamy na użytkowników, którzy mogą zostać objęci Twoim eksperymentem. Niektóre eksperymenty kierowane na odbiorców Google Analytics mogą potrzebować kilku dni na zebranie danych, ponieważ podlegają opóźnieniu w przetwarzaniu danych Analytics. Opóźnienie to najczęściej występuje w przypadku nowych użytkowników, którzy są zwykle zarejestrowani w kwalifikujących się grupach odbiorców w ciągu 24–48 godzin od utworzenia, lub w przypadku list odbiorców utworzonych niedawno.
Właściwość użytkownika W przypadku tekstu:
zawiera,
nie zawiera,
ściśle pasuje do,
zawiera wyrażenie regularne

W przypadku liczb:
<, ≤, =, ≥, >
Usługa użytkownika w Analytics służy do wybierania użytkowników, którzy mogą zostać uwzględnieni w eksperymencie, oraz udostępnia szereg opcji wyboru wartości właściwości użytkownika.

Na kliencie możesz ustawić tylko wartości ciągu znaków dla właściwości użytkownika. W przypadku warunków z operatorami liczbowymi usługa Zdalna konfiguracja konwertuje wartość odpowiedniej właściwości użytkownika na liczbę całkowitą/zmiennoprzecinkową.
Gdy używasz operatora zawiera wyrażenie regularne, możesz tworzyć wyrażenia regularne w formacie RE2. Wyrażenie regularne może zostać dopasowane do całego ciągu znaków wersji docelowej lub do jego części. Możesz też użyć kotwic ^ i $, aby dopasować początek, koniec lub całość docelowego ciągu znaków.
Kraj lub region Nie dotyczy Co najmniej jeden kraj lub region służący do wyboru użytkowników, którzy mogą zostać objęci eksperymentem.  
Języki Nie dotyczy Co najmniej jeden język i regiony użyte do wybrania użytkowników, którzy mogą zostać objęci eksperymentem.  
Pierwsze uruchomienie Więcej niż
Mniejsze niż
Między
Kieruj reklamy na użytkowników na podstawie tego, kiedy po raz pierwszy otworzyli Twoją aplikację (liczbę dni).
Ostatnia interakcja z aplikacją Więcej niż
Mniejsze niż
Między
Kieruj reklamy na użytkowników na podstawie tego, kiedy ostatni raz weszli w interakcję z Twoją aplikacją, określona w dniach.

Dane Testów A/B

Podczas tworzenia eksperymentu wybierasz dane podstawowe, czyli cele, które posłużą do wyłonienia zwycięskiego wariantu. Warto też śledzić inne dane, które pomogą Ci lepiej poznać skuteczność poszczególnych wariantów eksperymentu i śledzić istotne trendy, które mogą się różnić w przypadku poszczególnych wariantów, np. utrzymanie użytkowników, stabilność aplikacji czy przychody z zakupów w aplikacji. W eksperymencie możesz śledzić maksymalnie pięć rodzajów danych.

Załóżmy na przykład, że dodajesz do aplikacji nowe zakupy w aplikacji i chcesz porównać skuteczność 2 różnych komunikatów zachęcających do działania. W tym przypadku możesz ustawić Przychody z zakupów jako dane celu, ponieważ chcesz, aby zwycięski wariant reprezentował powiadomienie, które wygenerowało najwyższe przychody z zakupów w aplikacji. Chcesz też śledzić, który wariant generuje więcej konwersji w przyszłości i utrzymuj użytkowników, więc możesz dodać taką opcję w sekcji Inne dane do śledzenia:

  • Szacunkowe łączne przychody, które pozwalają sprawdzić, jak różnią się łączne przychody z zakupów w aplikacji i z reklam w przypadku tych 2 wariantów.
  • Utrzymanie (1 dzień), Utrzymanie (2–3 dni), Utrzymanie (4–7 dni), aby śledzić dzienny/tygodniowy wskaźnik utrzymania użytkowników

W tabelach poniżej znajdziesz szczegółowe informacje o sposobie obliczania danych celów i innych danych.

Dane celów

Wskaźnik Opis
Użytkownicy, u których nie wystąpił błąd Odsetek użytkowników, którzy nie napotkali błędów w Twojej aplikacji wykrytych przez pakiet SDK Firebase Crashlytics podczas eksperymentu.
Szacunkowe przychody z reklam Szacunkowe zarobki z reklam
Szacunkowe łączne przychody Łączna wartość z zakupów i szacunkowe przychody z reklam.
Przychody z zakupów Połączona wartość wszystkich zdarzeń purchase i in_app_purchase.
Utrzymanie użytkowników (1 dzień) Liczba użytkowników, którzy wracają do Twojej aplikacji każdego dnia.
Utrzymanie użytkowników (2–3 dni) Liczba użytkowników, którzy wrócili do aplikacji w ciągu 2–3 dni.
Utrzymanie użytkowników (4–7 dni) Liczba użytkowników, którzy wrócili do aplikacji w ciągu 4–7 dni.
Utrzymanie użytkowników (8–14 dni) Liczba użytkowników, którzy wrócili do aplikacji w ciągu 8–14 dni.
Utrzymanie użytkowników (15 dni lub więcej) Liczba użytkowników, którzy wrócili do Twojej aplikacji co najmniej 15 dni od ostatniego użycia.
first_open Zdarzenie Analytics, które jest wywoływane, gdy użytkownik po raz pierwszy otworzy aplikację po jej zainstalowaniu lub ponownym zainstalowaniu. Używany jako część ścieżki konwersji.

Inne dane

Wskaźnik Opis
notification_dismiss Zdarzenie Analytics, które jest wywoływane po zamknięciu powiadomienia wysłanego przez kompozytora powiadomień (tylko na Androidzie).
notification_receive Zdarzenie Analytics, które jest wywoływane, gdy powiadomienie wysłane przez kompozytora powiadomień nadejdzie w czasie, gdy aplikacja działa w tle (tylko na Androidzie).
os_update Zdarzenie Analytics, które śledzi aktualizację systemu operacyjnego urządzenia do nowej wersji.Więcej informacji znajdziesz w artykule Zdarzenia zbierane automatycznie.
screen_view Zdarzenie Analytics, które śledzi ekrany wyświetlane w aplikacji. Więcej informacji znajdziesz w artykule Śledzenie wyświetleń ekranu.
session_start Zdarzenie Analytics, które zlicza sesje użytkownika w aplikacji. Więcej informacji znajdziesz w artykule Zdarzenia zbierane automatycznie.

Eksportowanie danych do BigQuery

Oprócz wyświetlania danych eksperymentu A/B w konsoli Firebase możesz przeglądać i analizować dane eksperymentu w BigQuery. Testy A/B nie mają osobnej tabeli BigQuery, ale przynależność do eksperymentów i wariantów jest przechowywana w przypadku każdego zdarzenia Google Analytics w tabelach zdarzeń Analytics.

Właściwości użytkownika, które zawierają informacje o eksperymencie, mają postać userProperty.key like "firebase_exp_%" lub userProperty.key = "firebase_exp_01", gdzie 01 to identyfikator eksperymentu, a userProperty.value.string_value zawiera indeks wariantu eksperymentu (wartość zero).

Możesz skorzystać z tych właściwości użytkownika w eksperymencie, aby wyodrębnić dane eksperymentu. Dzięki temu możesz dzielić wyniki eksperymentu na wiele różnych sposobów i niezależnie weryfikować wyniki testów A/B.

Aby rozpocząć, wykonaj następujące czynności zgodnie z opisem w tym przewodniku:

  1. Włącz w konsoli Firebase eksport do BigQuery w Google Analytics
  2. Uzyskiwanie dostępu do danych Testów A/B za pomocą BigQuery
  3. Przykładowe zapytania

Włącz w konsoli Firebase eksport do BigQuery w przypadku Google Analytics

Jeśli masz abonament Spark, możesz użyć piaskownicy BigQuery, aby uzyskać bezpłatny dostęp do BigQuery (z uwzględnieniem limitów piaskownicy). Więcej informacji znajdziesz w artykule Ceny i piaskownica BigQuery.

Najpierw upewnij się, że eksportujesz dane Analytics do BigQuery:

  1. Otwórz kartę Integracje, do której możesz uzyskać dostęp, klikając > Ustawienia projektu w konsoli Firebase.
  2. Jeśli korzystasz już z BigQuery z innymi usługami Firebase, kliknij Zarządzaj. W przeciwnym razie kliknij Połącz.
  3. Przeczytaj artykuł Łączenie Firebase z BigQuery i kliknij Dalej.
  4. W sekcji Skonfiguruj integrację włącz przełącznik Google Analytics.
  5. Wybierz region i ustawienia eksportu.

  6. Kliknij Połącz z BigQuery.

W zależności od wybranego sposobu eksportowania danych udostępnienie tabel może potrwać nawet 1 dzień. Więcej informacji o eksportowaniu danych projektu do BigQuery znajdziesz w artykule Eksportowanie danych projektu do BigQuery.

Dostęp do danych Testów A/B w BigQuery

Przed wysłaniem zapytania o dane związane z konkretnym eksperymentem musisz uzyskać niektóre lub wszystkie z tych danych do użycia w zapytaniu:

  • Identyfikator eksperymentu: możesz go znaleźć w adresie URL strony Przegląd eksperymentu. Jeśli np. adres URL ma postać https://console.firebase.google.com/project/my_firebase_project/config/experiment/results/25, identyfikator eksperymentu to 25.
  • Identyfikator usługi w Google Analytics: to 9-cyfrowy identyfikator usługi w Google Analytics. Znajdziesz ją w Google Analytics. Pojawia się też w BigQuery, gdy rozwiniesz nazwę projektu, aby wyświetlić nazwę tabeli zdarzeń Google Analytics (project_name.analytics_000000000.events).
  • Data eksperymentu: aby przyspieszyć i usprawnić zapytanie, warto ograniczyć zapytania do partycji tabel dziennych zdarzeń Google Analytics, które zawierają dane eksperymentu – tabele oznaczone za pomocą sufiksu YYYYMMDD. Jeśli więc Twój eksperyment trwał od 2 lutego do 2 maja 2024 r., musisz określić _TABLE_SUFFIX between '20240202' AND '20240502'. Przykład znajdziesz w sekcji Wybieranie wartości określonego eksperymentu.
  • Nazwy zdarzeń: zwykle odpowiadają one danym celu skonfigurowanym przez Ciebie w eksperymencie. np. zdarzenia in_app_purchase, ad_impression lub user_retention.
.

Po zgromadzeniu informacji potrzebnych do wygenerowania zapytania:

  1. Otwórz BigQuery w konsoli Google Cloud.
  2. Wybierz projekt, a następnie kliknij Utwórz zapytanie SQL.
  3. Dodaj zapytanie. Przykładowe zapytania, które należy wykonać, znajdziesz w sekcji Przeglądanie przykładowych zapytań.
  4. Kliknij Uruchom.

Zapytanie o dane eksperymentu za pomocą zapytania wygenerowanego automatycznie w konsoli Firebase

Jeśli korzystasz z abonamentu Blaze, na stronie Omówienie eksperymentu znajdziesz przykładowe zapytanie zwracające nazwę eksperymentu, jego warianty, nazwy zdarzeń oraz liczbę zdarzeń z wyświetlanego eksperymentu.

Aby uzyskać i uruchomić automatycznie wygenerowane zapytanie:

  1. W konsoli Firebase otwórz Testy A/B i wybierz eksperyment A/B, którego ma dotyczyć zapytanie, aby otworzyć Przegląd eksperymentu.
  2. W menu Opcje w sekcji Integracja z BigQuery wybierz Zapytanie o dane eksperymentu. Spowoduje to otwarcie projektu w BigQuery w konsoli Google Cloud i udostępnienie podstawowego zapytania, którego możesz używać do wysyłania zapytań o dane eksperymentu.

Przykład poniżej pokazuje wygenerowane zapytanie do eksperymentu z 3 wariantami (w tym z elementem bazowym) o nazwie „Zimowy eksperyment powitalny”. Zwraca nazwę aktywnego eksperymentu, nazwę wariantu, niepowtarzalne zdarzenie i liczbę zdarzeń w przypadku każdego zdarzenia. Pamiętaj, że kreator zapytań nie określa nazwy projektu w nazwie tabeli, ponieważ otwiera się bezpośrednio w projekcie.

  /*
    This query is auto-generated by Firebase A/B Testing for your
    experiment "Winter welcome experiment".
    It demonstrates how you can get event counts for all Analytics
    events logged by each variant of this experiment's population.
  */
  SELECT
    'Winter welcome experiment' AS experimentName,
    CASE userProperty.value.string_value
      WHEN '0' THEN 'Baseline'
      WHEN '1' THEN 'Welcome message (1)'
      WHEN '2' THEN 'Welcome message (2)'
      END AS experimentVariant,
    event_name AS eventName,
    COUNT(*) AS count
  FROM
    `analytics_000000000.events_*`,
    UNNEST(user_properties) AS userProperty
  WHERE
    (_TABLE_SUFFIX BETWEEN '20240202' AND '20240502')
    AND userProperty.key = 'firebase_exp_25'
  GROUP BY
    experimentVariant, eventName

Więcej przykładów zapytań znajdziesz w artykule Przykładowe zapytania.

Przykładowe zapytania

W sekcjach poniżej znajdziesz przykłady zapytań, których możesz użyć do wyodrębnienia danych eksperymentu z testami A/B z tabel zdarzeń Google Analytics.

Wyodrębnij wartości odchyleń standardowych zakupu i eksperymentu ze wszystkich eksperymentów

Dane z wyników eksperymentu możesz wykorzystać do niezależnej weryfikacji wyników Testów A/B Firebase. Ta instrukcja SQL BigQuery wyodrębnia warianty eksperymentu, liczbę unikalnych użytkowników w każdym wariancie oraz sumuje łączne przychody ze zdarzeń in_app_purchase i ecommerce_purchase oraz odchylenia standardowe dla wszystkich eksperymentów w zakresie czasowym określonym jako data rozpoczęcia i zakończenia _TABLE_SUFFIX. Danych uzyskanych z tego zapytania możesz użyć w generatorze istotności statystycznej dla jednostronnych testów T, aby sprawdzić, czy wyniki dostarczane przez Firebase pasują do Twojej analizy.

Więcej informacji o tym, jak Testy A/B obliczają wnioskowanie, znajdziesz w artykule Interpretowanie wyników testu.

  /*
    This query returns all experiment variants, number of unique users,
    the average USD spent per user, and the standard deviation for all
    experiments within the date range specified for _TABLE_SUFFIX.
  */
  SELECT
    experimentNumber,
    experimentVariant,
    COUNT(*) AS unique_users,
    AVG(usd_value) AS usd_value_per_user,
    STDDEV(usd_value) AS std_dev
  FROM
    (
      SELECT
        userProperty.key AS experimentNumber,
        userProperty.value.string_value AS experimentVariant,
        user_pseudo_id,
        SUM(
          CASE
            WHEN event_name IN ('in_app_purchase', 'ecommerce_purchase')
              THEN event_value_in_usd
            ELSE 0
            END) AS usd_value
      FROM `PROJECT_NAME.analytics_ANALYTICS_ID.events_*`
      CROSS JOIN UNNEST(user_properties) AS userProperty
      WHERE
        userProperty.key LIKE 'firebase_exp_%'
        AND event_name IN ('in_app_purchase', 'ecommerce_purchase')
        AND (_TABLE_SUFFIX BETWEEN 'YYYYMMDD' AND 'YYYMMDD')
      GROUP BY 1, 2, 3
    )
  GROUP BY 1, 2
  ORDER BY 1, 2;

Wybierz wartości z konkretnego eksperymentu

Przykład poniżej pokazuje, jak uzyskać dane z konkretnego eksperymentu w BigQuery. To przykładowe zapytanie zwraca nazwę eksperymentu, nazwy wariantów (w tym punkt odniesienia), nazwy zdarzeń i liczbę zdarzeń.

  SELECT
    'EXPERIMENT_NAME' AS experimentName,
    CASE userProperty.value.string_value
      WHEN '0' THEN 'Baseline'
      WHEN '1' THEN 'VARIANT_1_NAME'
      WHEN '2' THEN 'VARIANT_2_NAME'
      END AS experimentVariant,
    event_name AS eventName,
    COUNT(*) AS count
  FROM
    `analytics_ANALYTICS_PROPERTY.events_*`,
    UNNEST(user_properties) AS userProperty
  WHERE
    (_TABLE_SUFFIX BETWEEN 'YYYMMDD' AND 'YYYMMDD')
    AND userProperty.key = 'firebase_exp_EXPERIMENT_NUMBER'
  GROUP BY
    experimentVariant, eventName