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

Gdy kontaktujesz się z użytkownikami lub rozpoczynasz nową kampanię marketingową, chcesz mieć pewność, że wszystko pójdzie dobrze. Testy A/B mogą pomóc Ci znaleźć optymalne sformułowania i sposób prezentacji, ponieważ umożliwiają testowanie wariantów wiadomości na wybranych grupach użytkowników. Niezależnie od tego, czy Twoim celem jest lepsze utrzymanie użytkowników, czy konwersja w ramach oferty, testy A/B mogą przeprowadzić analizę statystyczną, aby określić, czy dany wariant wiadomości jest skuteczniejszy niż wersja podstawowa w przypadku wybranego celu.

Aby przeprowadzić testy A/B wariantów funkcji z wariantem bazowym:

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

Utwórz eksperyment

Eksperyment, który korzysta z Kreatora powiadomień, pozwala ocenić wiele wariantów pojedynczego powiadomienia.

  1. Sprawdź, czy w projekcie jest włączona usługa Google Analytics, aby eksperyment miał dostęp do danych Analytics.

    Jeśli podczas tworzenia projektu nie włączono Google Analytics, możesz to zrobić na karcie Ustawienia > Integracje w konsoli Firebase.

  2. W konsoli Firebase kliknij DevOps i zaangażowanie > Testy A/B.

  3. Kliknij Utwórz eksperyment, a następnie wybierz Powiadomienia, gdy pojawi się prośba o wybranie usługi, którą chcesz przetestować.

  4. Wpisz nazwę i opcjonalny opis eksperymentu, a następnie kliknij Dalej.

  5. Wypełnij pola Kierowanie, wybierając najpierw aplikację, która korzysta z eksperymentu. Możesz też kierować eksperyment na podzbiór użytkowników, wybierając opcje takie jak:

    • Wersja: co najmniej 1 wersja aplikacji.
    • Grupa odbiorców: listy odbiorców (Analytics) używane do kierowania na użytkowników, którzy mogą zostać uwzględnieni w eksperymencie.
    • Właściwość użytkownika: co najmniej jedna właściwość użytkownika Analytics, która służy do wybierania użytkowników do eksperymentu.
    • Kraj/region: co najmniej 1 kraj lub region, w którym chcesz wybrać użytkowników do eksperymentu.
    • Język urządzenia: co najmniej 1 język i region używane do wybierania użytkowników, którzy mogą zostać uwzględnieni w eksperymencie.
    • Pierwsze uruchomienie: kieruj reklamy na użytkowników na podstawie daty pierwszego uruchomienia aplikacji.
    • Ostatnie zaangażowanie w aplikację: kieruj reklamy na użytkowników na podstawie tego, kiedy ostatnio korzystali z Twojej aplikacji.
  6. Ustaw Odsetek docelowych użytkowników: wybierz odsetek użytkowników aplikacji spełniających kryteria określone w sekcji Docelowi użytkownicy, których chcesz równomiernie podzielić między grupę bazową i co najmniej 1 grupę wariantową w eksperymencie. Może to być dowolna wartość procentowa z zakresu od 0,01% do 100%. Wartości procentowe są losowo przypisywane użytkownikom w każdym eksperymencie, w tym w eksperymentach zduplikowanych.

  7. W sekcji Warianty wpisz wiadomość, którą chcesz wysłać do grupy bazowej, w polu Wpisz tekst wiadomości. Aby nie wysyłać 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 element bazowy i 1 wariant.

  9. (Opcjonalnie) Wpisz nazwę każdego wariantu w eksperymencie, aby zastąpić nazwy Wariant A, Wariant B itd.

  10. Zdefiniuj wskaźnik celu eksperymentu, który będzie używany podczas oceny wariantów eksperymentu, oraz wybierz z listy dodatkowe wskaźniki. Te dane obejmują wbudowane cele (zaangażowanie, zakupy, przychody, utrzymanie użytkowników itp.), zdarzenia konwersji Analytics i inne zdarzenia Analytics.

  11. Wybierz opcje wiadomości:

    • Data dostawy: wybierz Wyślij teraz, aby rozpocząć eksperyment natychmiast po zapisaniu, lub Zaplanowane, aby określić czas rozpoczęcia eksperymentu w przyszłości.
    • Opcje zaawansowane: aby wybrać opcje zaawansowane dla wszystkich powiadomień uwzględnionych w eksperymencie, rozwiń Opcje zaawansowane, a następnie zmień dowolne z wymienionych opcji wiadomości.
  12. Aby zapisać eksperyment, kliknij Sprawdź.

W każdym projekcie możesz mieć maksymalnie 300 eksperymentów (w tym wdrożeń), z czego 24 mogą być aktywne, a pozostałe muszą być zakończone.

Sprawdzanie eksperymentu na urządzeniu testowym

W przypadku każdej instalacji Firebase możesz pobrać powiązany z nią token rejestracji FCM. Możesz użyć tego tokena do przetestowania konkretnych wariantów eksperymentu na urządzeniu testowym z zainstalowaną aplikacją. Aby sprawdzić eksperyment na urządzeniu testowym:

  1. Pobierz token rejestracji FCM w ten sposób:

    Swift

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

    Objective-C

    [[FIRMessaging messaging] tokenWithCompletion:^(NSString * _Nullable token, NSError * _Nullable error) {
      if (error != nil) {
        NSLog(@"Error fetching the remote FCM registration token: %@", error);
      } else {
        NSLog(@"Remote FCM registration token: %@", token);
        NSString* message =
          [NSString stringWithFormat:@"FCM registration token: %@", token];
        // display message
        NSLog(@"%@", message);
      }
    }];

    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

    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<std::string>& 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. W konsoli Firebase kliknij DevOps i zaangażowanie > 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 urządzenia testowego i wybierz wariant eksperymentu, który chcesz wysłać na to urządzenie.
  5. Uruchom aplikację i sprawdź, czy wybrany wariant jest odbierany na urządzeniu testowym.

Zarządzanie eksperymentem

Niezależnie od tego, czy utworzysz eksperyment za pomocą Remote Config, kreatora powiadomień czy Firebase In-App Messaging, możesz go zweryfikować i rozpocząć, monitorować jego przebieg oraz zwiększyć liczbę użytkowników, którzy biorą w nim udział.

Po zakończeniu eksperymentu możesz sprawdzić ustawienia używane przez zwycięski wariant, a następnie zastosować je u wszystkich użytkowników. Możesz też przeprowadzić kolejny eksperyment.

Rozpocznij eksperyment

  1. W konsoli Firebase kliknij DevOps i zaangażowanie > Testy A/B.
  2. Kliknij Wersja robocza, a potem tytuł eksperymentu.
  3. Aby sprawdzić, czy Twoja aplikacja ma użytkowników, którzy zostaną uwzględnieni w eksperymencie, rozwiń szczegóły wersji roboczej i upewnij się, że w sekcji Kierowanie i dystrybucja jest liczba większa niż 0% (np. 1% użytkowników spełniających kryteria).
  4. Aby zmienić eksperyment, kliknij Edytuj.
  5. Aby rozpocząć eksperyment, kliknij Rozpocznij eksperyment. W danym momencie możesz przeprowadzać maksymalnie 24 eksperymenty na projekt.

Monitorowanie eksperymentu

Po pewnym czasie działania eksperymentu możesz sprawdzić jego postępy i zobaczyć, jakie wyniki uzyskali użytkownicy, którzy do tej pory wzięli w nim udział.

  1. W konsoli Firebase kliknij DevOps i zaangażowanie > Testy A/B.
  2. Kliknij Uruchomione, a następnie kliknij lub wyszukaj tytuł eksperymentu. Na tej stronie możesz wyświetlić różne odnotowane i modelowane statystyki dotyczące trwającego eksperymentu, m.in.:

    • Różnica procentowa w stosunku do wartości bazowej: miara poprawy wartości danych w przypadku danego wariantu w porównaniu z wartością bazową. Obliczana przez porównanie zakresu wartości dla wariantu z zakresem wartości dla wersji bazowej.
    • Prawdopodobieństwo przekroczenia wartości podstawowej: szacowane prawdopodobieństwo, że dany wariant przekroczy wartość podstawową wybranych danych.
    • observed_metric na użytkownika: na podstawie wyników eksperymentu jest to prognozowany zakres, w którym wartość danych będzie się mieścić w miarę upływu czasu.
    • Łącznie observed_metric: zaobserwowana skumulowana wartość dla grupy kontrolnej lub wariantu. Wartość ta służy do pomiaru skuteczności poszczególnych wariantów eksperymentu oraz do obliczania Ulepszenia, Zakresu wartości, Prawdopodobieństwa przekroczenia wartości podstawowej i Prawdopodobieństwa, że dany wariant jest najlepszy. W zależności od mierzonych danych ta 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 od rozpoczęcia eksperymentu (co najmniej 7 dni w przypadku FCM i In-App Messaging lub 14 dni w przypadku Remote Config) dane na tej stronie wskażą, który wariant jest „liderem”. Niektórym pomiarom towarzyszy wykres słupkowy, który przedstawia dane w formie wizualnej.

Wdrażanie eksperymentu dla wszystkich użytkowników

Gdy eksperyment będzie trwał wystarczająco długo, aby można było wyłonić najlepszy wariant umożliwiający realizację Twojego celu, możesz wdrożyć eksperyment dla wszystkich użytkowników. Oznacza to, że możesz wybrać wariant, który będzie wyświetlany wszystkim użytkownikom. Możesz to zrobić także w przypadku, gdy eksperyment nie wyłoni zdecydowanego zwycięzcy.

  1. W konsoli Firebase kliknij DevOps i zaangażowanie > Testy A/B.
  2. Kliknij Zakończone lub Trwające, wybierz eksperyment, który chcesz udostępnić wszystkim użytkownikom, i kliknij menu kontekstowe () Wdróż wariant.
  3. Wdróż eksperyment dla wszystkich użytkowników, wykonując jedną z tych czynności:

    • W przypadku eksperymentu, który korzysta z Kreatora powiadomień, użyj okna Wdrażanie wiadomości, aby wysłać wiadomość do pozostałych docelowych użytkowników, którzy nie brali udziału w eksperymencie.
    • W przypadku eksperymentu Remote Config wybierz wariant, aby określić, które wartości parametrów Remote Config należy zaktualizować. Kryteria kierowania wybrane podczas tworzenia eksperymentu zostaną dodane jako nowy warunek do Twojego szablonu, aby zapewnić wdrożenie wariantu tylko w przypadku użytkowników, na których kierowany jest dany eksperyment. Kliknij Weryfikacja ze Zdalną konfiguracją, aby przejrzeć zmiany, a następnie Opublikuj zmiany, aby zakończyć wdrożenie.
    • W przypadku eksperymentu In-App Messaging użyj okna, aby określić, który wariant ma zostać wdrożony jako samodzielna kampania In-App Messaging. Po wybraniu tej opcji nastąpi przekierowanie do ekranu tworzenia wiadomości w aplikacji, gdzie możesz wprowadzić zmiany (w razie potrzeby) przed opublikowaniem.

Rozwijanie eksperymentu

Jeśli zauważysz, że eksperyment nie przyciąga wystarczającej liczby użytkowników, aby A/B Testing mogła wyłonić lidera, możesz zwiększyć dystrybucję eksperymentu, aby dotrzeć do większego odsetka użytkowników aplikacji.

  1. W konsoli Firebase kliknij DevOps i zaangażowanie > Testy A/B.
  2. Wybierz aktywny eksperyment, który chcesz edytować.
  3. W Przeglądzie eksperymentu kliknij menu kontekstowe (), a następnie Edytuj trwający eksperyment.
  4. W oknie Kierowanie pojawi się opcja zwiększenia odsetka użytkowników, którzy biorą udział w trwającym eksperymencie. Wybierz liczbę większą niż bieżąca wartość procentowa i kliknij Opublikuj. Eksperyment zostanie udostępniony określonej przez Ciebie części użytkowników.

Duplikowanie i zatrzymywanie eksperymentu

  1. W konsoli Firebase kliknij DevOps i zaangażowanie > Testy A/B.
  2. Kliknij Zakończone lub Aktywne, najedź wskaźnikiem myszy na eksperyment, kliknij menu kontekstowe (), a następnie kliknij Zduplikuj eksperyment lub Zatrzymaj eksperyment.

Kierowanie na użytkowników

Możesz wybrać użytkowników, którzy mają zostać uwzględnieni w eksperymencie, korzystając z tych kryteriów kierowania na użytkowników.

Kryterium kierowania Operatorzy    Wartości Uwaga
Wersja zawiera,
nie zawiera,
dokładnie pasuje,
zawiera wyrażenie regularne (regex)
Wpisz wartość dla co najmniej 1 wersji aplikacji, którą chcesz uwzględnić w eksperymencie.

Jeśli używasz operatorów zawiera, nie zawiera lub dokładnie pasuje, możesz podać listę wartości rozdzielonych przecinkami.

Jeśli używasz operatora zawiera wyrażenie regularne, możesz tworzyć wyrażenia regularne w formacie RE2. Wyrażenie regularne może pasować do całości lub części ciągu znaków wersji docelowej. Możesz też używać kotwic ^ i $, aby dopasowywać początek, koniec lub całość docelowego ciągu znaków.

Odbiorcy zawiera wszystkie,
zawiera co najmniej 1,
nie zawiera wszystkich,
nie zawiera co najmniej 1
Wybierz co najmniej 1 grupę odbiorców Analytics, aby kierować reklamy na użytkowników, którzy mogą zostać uwzględnieni w eksperymencie. Niektóre eksperymenty kierowane na odbiorców Google Analytics mogą wymagać kilku dni na zgromadzenie danych, ponieważ podlegają Analytics opóźnieniu przetwarzania danych. Opóźnienie to najczęściej występuje w przypadku nowych użytkowników, którzy są zwykle dodawani do odpowiednich list odbiorców po upływie 24–48 godzin od ich utworzenia, lub w przypadku niedawno utworzonych list odbiorców.
Właściwość użytkownika W przypadku tekstu:
zawiera,
nie zawiera,
dokładnie pasuje,
zawiera wyrażenie regularne (regex).

W przypadku liczb:
<, ≤, =, ≥, >
Właściwość użytkownika Analytics służy do wybierania użytkowników, którzy mogą zostać uwzględnieni w eksperymencie, z różnymi opcjami wyboru wartości właściwości użytkownika.

W przypadku klienta możesz ustawiać tylko wartości ciągów znaków dla właściwości użytkownika. W przypadku warunków, które używają operatorów liczbowych, usługa Remote Config konwertuje wartość odpowiedniej właściwości użytkownika na liczbę całkowitą lub zmiennoprzecinkową.
Jeśli używasz operatora zawiera wyrażenie regularne, możesz tworzyć wyrażenia regularne w formacie RE2. Wyrażenie regularne może pasować do całości lub części ciągu znaków wersji docelowej. Możesz też używać kotwic ^ i $, aby dopasowywać początek, koniec lub całość docelowego ciągu znaków.
Kraj/region Nie dotyczy Co najmniej 1 kraj lub region używany do wybierania użytkowników, którzy mogą zostać uwzględnieni w eksperymencie.  
Języki Nie dotyczy Co najmniej 1 język i region używane do wybierania użytkowników, którzy mogą zostać uwzględnieni w eksperymencie.  
Pierwsze uruchomienie Więcej niż
Mniej niż
Między
Liczba dni, które upłynęły od pierwszego uruchomienia aplikacji przez użytkownika.
Ostatnia interakcja z aplikacją Więcej niż
Mniej niż
Między
Kieruj reklamy na użytkowników na podstawie czasu, który upłynął od ich ostatniej interakcji z aplikacją (podanego w dniach).

A/B Testing wskaźnika

Podczas tworzenia eksperymentu wybierasz podstawowe dane, czyli cel, które służą do określenia zwycięskiego wariantu. Warto też śledzić inne dane, aby lepiej zrozumieć skuteczność każdego wariantu eksperymentu i obserwować ważne trendy, które mogą się różnić w zależności od wariantu, np. utrzymanie użytkowników, stabilność aplikacji i przychody z zakupów w aplikacji. W eksperymencie możesz śledzić maksymalnie 5 danych niebędących celem.

Załóżmy na przykład, że dodajesz do aplikacji nowe zakupy w aplikacji i chcesz porównać skuteczność 2 różnych wiadomości zachęcających do zakupu. W takim przypadku możesz ustawić Przychody z zakupów jako dane docelowe, ponieważ chcesz, aby zwycięski wariant reprezentował powiadomienie, które przyniosło najwyższe przychody z zakupów w aplikacji. Chcesz też śledzić, który wariant przyniósł więcej przyszłych konwersji i utrzymanych użytkowników, więc w sekcji Inne dane do śledzenia możesz dodać te dane:

  • Szacunkowe łączne przychody, aby zobaczyć, jak różnią się łączne przychody z zakupów w aplikacji i reklam w przypadku obu wariantów.
  • Utrzymanie (1 dzień), Utrzymanie (2–3 dni), Utrzymanie (4–7 dni), aby śledzić dzienne lub tygodniowe utrzymanie użytkowników.

W tabelach poniżej znajdziesz szczegółowe informacje o tym, jak obliczane są dane dotyczące celów i inne dane.

Dane celów

Wskaźnik Opis
Użytkownicy, u których nie wystąpił błąd Odsetek użytkowników, u których podczas eksperymentu nie wystąpiły błędy w aplikacji wykryte przez pakiet SDK Firebase Crashlytics.

Uwaga: Firebase Crashlytics nie jest obsługiwany w przypadku aplikacji internetowych.

Szacunkowe przychody z reklam Szacunkowe zarobki z reklam.
Szacunkowe łączne przychody Łączna wartość zakupów i szacunkowych przychodów z reklam.
Przychody z zakupów Łączna wartość wszystkich zdarzeń purchase i in_app_purchase.
Utrzymanie użytkowników (1 dzień) Liczba użytkowników, którzy codziennie wracają do Twojej aplikacji.
Utrzymanie (2–3 dni) Liczba użytkowników, którzy wracają do Twojej aplikacji w ciągu 2–3 dni.
Utrzymanie (4–7 dni) Liczba użytkowników, którzy wrócili do Twojej aplikacji w ciągu 4–7 dni.
Utrzymanie (8–14 dni) Liczba użytkowników, którzy wrócili do Twojej aplikacji w ciągu 8–14 dni.
Utrzymanie użytkowników (15 dni lub więcej) Liczba użytkowników, którzy wracają do aplikacji po co najmniej 15 dniach od ostatniego użycia.
first_open Zdarzenie Analytics, które jest wywoływane, gdy użytkownik po raz pierwszy otwiera aplikację po jej zainstalowaniu lub ponownym zainstalowaniu. Używana jako część ścieżki konwersji.

Inne wskaźniki

Wskaźnik Opis
notification_dismiss Zdarzenie Analytics, które jest wywoływane, gdy powiadomienie wysłane przez Kreator powiadomień zostanie zamknięte (tylko Android).
notification_receive Zdarzenie Analytics, które jest wywoływane, gdy powiadomienie wysłane przez Kreator powiadomień nadejdzie podczas działania aplikacji w tle (tylko Android).
os_update Zdarzenie Analytics, które śledzi, kiedy system operacyjny urządzenia jest aktualizowany do nowej wersji.Więcej informacji znajdziesz w artykule Zdarzenia zbierane automatycznie.

Ten wskaźnik nie jest obsługiwany w przypadku aplikacji internetowych.

screen_view Zdarzenie Analytics, które śledzi wyświetlenia ekranu w aplikacji. Więcej informacji znajdziesz w artykule Śledzenie wyświetleń ekranu.
session_start Zdarzenie Analytics, które zlicza sesje użytkowników w aplikacji. Więcej informacji znajdziesz w artykule Zdarzenia zbierane automatycznie.

Eksport danych do BigQuery

Oprócz wyświetlania danych eksperymentu A/B Testing w konsoli Firebase możesz też sprawdzać i analizować dane eksperymentu w BigQuery. Chociaż A/B Testing nie ma osobnej tabeli BigQuery, informacje o przynależności do eksperymentu i wariantu są przechowywane w każdym zdarzeniu 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 (liczony od zera) wariantu eksperymentu.

Możesz używać tych właściwości użytkownika eksperymentu do wyodrębniania danych eksperymentu. Dzięki temu możesz analizować wyniki eksperymentu na wiele różnych sposobów i samodzielnie weryfikować wyniki A/B Testing.

Aby rozpocząć, wykonaj te czynności opisane w tym przewodniku:

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

Włącz eksport BigQuery dla Google Analytics w konsoli Firebase

Jeśli korzystasz z abonamentu Spark, możesz używać piaskownicy BigQuery, aby bezpłatnie korzystać z BigQuery, z zastrzeżeniem limitów piaskownicy. Więcej informacji znajdziesz w artykule Ceny i piaskownica BigQuery.

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

  1. W konsoli Firebase otwórz Ustawienia > karta Integracje.

  2. Na karcie BigQuery kliknij Zarządzaj i sprawdź, czy projekt eksportuje dane Analytics do BigQuery.

    Jeśli na karcie widoczna jest opcja Połącz, musisz skonfigurować eksport (przejdź do następnego kroku).

  3. Jeśli chcesz skonfigurować eksport:

    1. Zapoznaj się z artykułem Łączenie Firebase z BigQuery, a potem kliknij Dalej.

    2. W sekcji Skonfiguruj integrację włącz Google Analytics.

    3. Wybierz region i ustawienia eksportu.

    4. Kliknij Połącz z: BigQuery.

W zależności od wybranego sposobu eksportowania danych tabele mogą stać się dostępne dopiero po upływie doby. Więcej informacji o eksportowaniu danych projektu do BigQuery znajdziesz w artykule Eksportowanie danych projektu do BigQuery.

Dostęp do danych A/B Testing w usłudze BigQuery

Zanim wyślesz zapytanie o dane dotyczące konkretnego eksperymentu, musisz uzyskać niektóre lub wszystkie z tych informacji, aby użyć ich w zapytaniu:

  • Identyfikator eksperymentu: możesz go uzyskać z adresu URL strony Przegląd eksperymentu. Jeśli na przykład adres URL wygląda tak: https://console.firebase.google.com/project/my_firebase_project/config/experiment/results/25, identyfikator eksperymentu to 25.
  • Identyfikator usługi Google Analytics: to 9-cyfrowy identyfikator usługi Google Analytics. Znajdziesz go 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 utworzyć szybsze i bardziej wydajne zapytanie, warto ograniczyć zapytania do Google Analytics partycji tabeli zdarzeń dziennych, które zawierają dane eksperymentu – tabel oznaczonych sufiksem YYYYMMDD. Jeśli więc eksperyment trwał od 2 lutego 2026 r. do 2 maja 2026 r., podaj _TABLE_SUFFIX between '20260202' AND '20260502'. Przykład znajdziesz w sekcji Wybieranie wartości konkretnego eksperymentu.
  • Nazwy zdarzeń: zwykle odpowiadają danym celu skonfigurowanym w eksperymencie. Na przykład zdarzenia in_app_purchase, ad_impression lub user_retention.
.

Po zebraniu informacji potrzebnych do wygenerowania zapytania:

  1. W konsoli Google Cloud otwórz BigQuery.
  2. Wybierz projekt, a następnie kliknij Utwórz zapytanie SQL.
  3. Dodaj zapytanie. Przykładowe zapytania, które możesz uruchomić, znajdziesz w artykule Przykładowe zapytania.
  4. Kliknij Wykonaj.

Wykonywanie zapytania dotyczącego danych eksperymentu za pomocą zapytania wygenerowanego automatycznie w konsoli Firebase

Jeśli korzystasz z abonamentu Blaze, na stronie Przegląd eksperymentu znajdziesz przykładowe zapytanie, które zwraca nazwę eksperymentu, warianty, nazwy zdarzeń i liczbę zdarzeń w wyświetlanym eksperymencie.

Aby uzyskać i uruchomić wygenerowane automatycznie zapytanie:

  1. W konsoli Firebase kliknij DevOps i zaangażowanie > Testy A/B.
  2. Wybierz eksperyment A/B Testing, który chcesz sprawdzić, aby otworzyć Przegląd eksperymentu.
  3. W menu Opcje w sekcji Integracja z BigQuery wybierz Zapytanie o dane eksperymentu. Spowoduje to otwarcie projektu w BigQuery w konsoli Google Cloud i wyświetlenie podstawowego zapytania, którego możesz użyć do wysłania zapytania o dane eksperymentu.

Poniższy przykład pokazuje wygenerowane zapytanie dotyczące eksperymentu z 3 wariantami (w tym z elementem bazowym) o nazwie „Eksperyment z powitaniem zimowym”. Zwraca nazwę aktywnego eksperymentu, nazwę wariantu, unikalne zdarzenie i liczbę zdarzeń dla każdego zdarzenia. Zwróć uwagę, że kreator zapytań nie podaje 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 '20260202' AND '20260502')
    AND userProperty.key = 'firebase_exp_25'
  GROUP BY
    experimentVariant, eventName

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

Przeglądanie przykładowych zapytań

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

Wyodrębnianie wartości odchylenia standardowego zakupów i eksperymentów ze wszystkich eksperymentów

Możesz używać danych z wyników eksperymentu, aby samodzielnie weryfikować wyniki Firebase A/B Testing. Podana niżej instrukcja SQL BigQuery wyodrębnia warianty eksperymentu, liczbę unikalnych użytkowników w każdym wariancie oraz sumę łącznych przychodów ze zdarzeń in_app_purchase i ecommerce_purchase, a także odchylenia standardowe dla wszystkich eksperymentów w zakresie czasu określonym przez daty rozpoczęcia i zakończenia _TABLE_SUFFIX. Dane uzyskane z tego zapytania możesz wykorzystać w generatorze istotności statystycznej do jednostronnych testów t, aby sprawdzić, czy wyniki podawane przez Firebase są zgodne z Twoją analizą.

Więcej informacji o tym, jak A/B Testing oblicza 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;

Wybieranie wartości konkretnego eksperymentu

Poniższe przykładowe zapytanie pokazuje, jak uzyskać dane dotyczące konkretnego eksperymentu w BigQuery. To przykładowe zapytanie zwraca nazwę eksperymentu, nazwy wariantów (w tym Baseline), 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