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 robisz 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 klientów czy zwiększenie konwersji w przypadku oferty, testy A/B mogą przeprowadzać analizę statystyczną, aby określić, czy wariant wiadomości jest skuteczniejszy od wersji podstawowej w przypadku wybranego celu.

Aby przeprowadzić test A/B wariantów funkcji z wartością bazową:

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

Utwórz eksperyment

Eksperyment, w którym używasz kompozytora powiadomień, umożliwia ocenę wielu wariantów pojedynczej wiadomości powiadomienia.

  1. Zaloguj się w Firebasekonsoli i sprawdź, czy w Twoim projekcie jest włączona usługa Google Analytics, aby eksperyment miał dostęp do danych Analytics.

    Jeśli podczas tworzenia projektu nie włączysz Google Analytics, możesz to zrobić na karcie Integracje, do której dostęp uzyskasz, klikając > Ustawienia projektuFirebase konsoli.

  2. Na pasku nawigacyjnym konsoli Firebase w sekcji Zaangażowanie kliknij A/B Testing.

  3. Kliknij Utwórz eksperyment, a potem, gdy pojawi się prośba o wybranie usługi, w której chcesz przeprowadzić eksperyment, kliknij Powiadomienia.

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

  5. Wypełnij pola w sekcji Kierowanie, zaczynając od wyboru aplikacji, która korzysta z Twojego eksperymentu. Możesz też kierować reklamy na podzbiór użytkowników, którzy mają brać udział w eksperymencie, wybierając opcje obejmujące:

    • Wersja: co najmniej jedna wersja aplikacji.
    • Lista odbiorców użytkowników: Analytics listy odbiorców używane do kierowania reklam na użytkowników, którzy mogą być uwzględnieni w eksperymencie.
    • Właściwość użytkownika: co najmniej 1 Analytics właściwość użytkownika do wybierania użytkowników, którzy mogą zostać uwzględnieni w eksperymencie.
    • Kraj/region: co najmniej jeden kraj lub region, w którym można wybrać użytkowników, którzy mogą zostać uwzględnieni w eksperymencie.
    • 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 na użytkowników na podstawie tego, że po raz pierwszy uruchomili Twoją aplikację.
    • Ostatnie zaangażowanie w aplikację: kieruj reklamy 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 ustawione w sekcji Użytkownicy docelowi), których chcesz równomiernie podzielić między wersję podstawową a co najmniej 1 wariant w eksperymencie. Może to być dowolna wartość procentowa z zakresu od 0,01% do 100%. Odsetki są losowo przypisywane do użytkowników w przypadku każdego eksperymentu, w tym zduplikowanych eksperymentów.

  7. W sekcji Warianty wpisz wiadomość, która ma być wysłana do grupy podstawowej, w polu Wpisz tekst wiadomości. Aby nie wysyłać wiadomości do grupy podstawowej, pozostaw to pole puste.

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

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

  10. Określ wskaźnik celu eksperymentu, który będzie używany do oceny wariantów eksperymentu, oraz dodatkowe wskaźniki z listy. Obejmują one wbudowane cele (zaangażowanie, zakupy, przychody, utrzymanie klientów itp.), Analytics zdarzeń konwersji i innychAnalytics zdarzeń.

  11. Wybierz opcje wiadomości:

    • Data dostawy: wybierz Wyślij teraz, aby uruchomić eksperyment od razu po zapisaniu, lub Zaplanowane, aby określić czas uruchomienia 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ń dowolną z wymienionych opcji wiadomości.
  12. Aby zapisać eksperyment, kliknij Sprawdź.

W każdym projekcie możesz mieć maksymalnie 300 eksperymentów, z czego maksymalnie 24 mogą być aktywne, a pozostałe mogą być wersjami roboczymi lub ukończonymi eksperymentami.

Weryfikowanie eksperymentu na urządzeniu testowym

W przypadku każdej instalacji Firebase możesz pobrać powiązany z nią FCMtoken rejestracji. Możesz użyć tego tokena, aby przetestować określone warianty 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 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

    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. Na pasku nawigacyjnym Firebase konsoli kliknij Testy A/B.
  3. Kliknij Wersja robocza, najedź kursorem na eksperyment, kliknij menu kontekstowe (), a potem kliknij Zarządzaj urządzeniami testowymi.
  4. Wpisz token FCM urządzenia testowego i wybierz wariant eksperymentu, który ma być wysłany na to urządzenie.
  5. Uruchom aplikację i sprawdź, czy na urządzeniu testowym otrzymywana jest wybrana wersja.

Zarządzanie eksperymentem

Niezależnie od tego, czy utworzysz eksperyment za pomocą Remote Config, kompozytora powiadomień czyFirebase In-App Messaging, możesz go następnie zweryfikować i rozpocząć, monitorować go w trakcie działania oraz zwiększać liczbę użytkowników objętych eksperymentem.

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

Rozpocznij eksperyment

  1. W sekcji Zaangażowanie w menu nawigacyjnym Firebase konsoli kliknij A/B Testing.
  2. Kliknij Wersja robocza, a następnie 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 w sekcji Kierowanie i dystrybucja sprawdź, czy liczba jest 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 ramach jednego projektu możesz przeprowadzać jednocześnie maksymalnie 24 eksperymenty.

Monitorowanie eksperymentu

Po pewnym czasie działania eksperymentu możesz sprawdzić jego postępy i zobaczyć wyniki uzyskane przez użytkowników, którzy wzięli w nim udział.

  1. W sekcji Zaangażowanie w menu nawigacyjnym Firebase konsoli kliknij A/B Testing.
  2. Kliknij Trwa, a potem kliknij tytuł eksperymentu lub go wyszukaj. Na tej stronie możesz wyświetlić różne odnotowane i modelowane statystyki dotyczące prowadzonego eksperymentu, w tym:

    • % różnicy wobec punktu odniesienia: miara poprawy wartości danego rodzaju danych w przypadku danego wariantu w porównaniu z wartością bazową. Obliczana przez porównanie zakresu wartości wariantu z zakresem wartości poziomu odniesienia.
    • Prawdopodobieństwo przekroczenia wartości podstawowej: szacowane prawdopodobieństwo, że dany wariant osiągnie lepsze wyniki niż wartość podstawowa w przypadku wybranych danych.
    • observed_metric na użytkownika: na podstawie wyników eksperymentu jest to przewidywany zakres, w którym z czasem znajdzie się wartość danych.
    • Łącznie observed_metric: zaobserwowana wartość skumulowana w przypadku wersji podstawowej lub wariantu. Wartość ta służy do pomiaru skuteczności każdego wariantu eksperymentu i do obliczania wzrostu, zakresu wartości, prawdopodobieństwa uzyskania lepszych wyników niż punkt odniesieniaprawdopodobieństwa uzyskania najlepszych wyników. W zależności od mierzonych danych ta kolumna może być oznaczona jako „Czas trwania na użytkownika”, „Przychody na użytkownika”, „Współczynnik utrzymania” lub „Współczynnik konwersji”.
  3. Gdy eksperyment będzie trwać przez pewien czas (co najmniej 7 dni w przypadku FCMIn-App Messaging lub 14 dni w przypadku Remote Config), dane na tej stronie wskażą, który wariant jest „liderem” (jeśli w ogóle). Niektórym pomiarom towarzyszy wykres słupkowy, który przedstawia dane w formie wizualnej.

Wdrażanie eksperymentu u 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 sekcji Zaangażowanie w menu nawigacyjnym Firebase konsoli kliknij A/B Testing.
  2. Kliknij Ukończono lub Trwa, a następnie kliknij eksperyment, który chcesz udostępnić wszystkim użytkownikom. Kliknij menu kontekstowe , a potem Wdróż wariant.
  3. Wdróż eksperyment dla wszystkich użytkowników, wykonując jedną z tych czynności:

    • W przypadku eksperymentu, w którym używasz kompozytora 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óra wersja powinna zostać wdrożona jako samodzielna kampania In-App Messaging. Po wybraniu tej opcji nastąpi przekierowanie do ekranu tworzenia FIAM, na którym możesz wprowadzić zmiany (jeśli to konieczne) przed opublikowaniem.

Rozwijanie eksperymentu

Jeśli zauważysz, że eksperyment nie przyciąga wystarczającej liczby użytkowników, aby A/B Testing można było wyłonić zwycięzcę, możesz zwiększyć jego zasięg, aby dotrzeć do większego odsetka użytkowników aplikacji.

  1. W sekcji Zaangażowanie w menu nawigacyjnym Firebase konsoli kliknij A/B Testing.
  2. Wybierz trwający eksperyment, który chcesz edytować.
  3. W sekcji Podsumowanie eksperymentu kliknij menu kontekstowe , a potem Edytuj trwający eksperyment.
  4. W oknie Kierowanie wyświetla się opcja zwiększenia odsetka użytkowników, którzy biorą udział w eksperymencie. Wybierz liczbę większą niż bieżący odsetek i kliknij Opublikuj. Eksperyment zostanie wdrożony u określonego odsetka użytkowników.

Duplikowanie i zatrzymywanie eksperymentu

  1. W sekcji Zaangażowanie w menu nawigacyjnym Firebase konsoli kliknij A/B Testing.
  2. Kliknij Zakończone lub Trwające, najedź wskaźnikiem myszy na eksperyment, kliknij menu kontekstowe , a następnie kliknij Zduplikuj eksperyment lub Zatrzymaj eksperyment.

Kierowanie na użytkowników

Użytkowników, którzy mają być uwzględnieni w eksperymencie, możesz kierować na podstawie tych kryteriów kierowania na użytkowników.

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

Gdy używasz operatorów zawiera, nie zawiera lub dokładnie pasuje, 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 pasować do całości lub części docelowego ciągu znaków wersji. Możesz też użyć kotwic ^$, aby dopasować początek, koniec lub całość docelowego ciągu znaków.

Odbiorcy zawiera wszystkie,
zawiera przynajmniej jeden,
nie zawiera wszystkich,
nie zawiera przynajmniej jednego
Wybierz co najmniej 1 Analyticsgrupę odbiorców, na którą chcesz kierować reklamy, aby docierać do użytkowników, którzy mogą być objęci eksperymentem. Niektóre eksperymenty kierowane na odbiorców Google Analytics mogą wymagać kilku dni na zebranie danych, ponieważ podlegają Analytics opóźnieniu w przetwarzaniu danych. Najprawdopodobniej wystąpi to opóźnienie w przypadku nowych użytkowników, którzy zwykle są dodawani do kwalifikujących się list odbiorców w ciągu 24–48 godzin od 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

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

Na kliencie możesz ustawiać tylko wartości ciągu dla właściwości użytkownika. W przypadku warunków, które używają operatorów numerycznych, usługa Remote Config przekształca wartość odpowiedniej właściwości użytkownika w liczbę całkowitą lub zmiennoprzecinkową.
Gdy 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 docelowego ciągu znaków wersji. Możesz też użyć kotwic ^$, aby dopasować początek, koniec lub całość docelowego ciągu znaków.
Kraj/region Nie dotyczy Co najmniej 1 kraj lub region użyty do wybrania 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ż
Pomiędzy
Kieruj na użytkowników na podstawie tego, że po raz pierwszy uruchomili Twoją aplikację, podanego w dniach.
Ostatnia interakcja z aplikacją Więcej niż
Mniej niż
Pomiędzy
Kieruj na użytkowników na podstawie tego, kiedy ostatni raz weszli w interakcję z Twoją aplikacją (w dniach).

A/B Testing wskaźnika

Podczas tworzenia eksperymentu wybierasz podstawowy wskaźnik lub cel, który służy do określania zwycięskiego wariantu. Warto też śledzić inne dane, aby lepiej zrozumieć skuteczność poszczególnych wariantów eksperymentu i obserwować ważne trendy, które mogą się różnić w zależności od wariantu, takie jak utrzymanie użytkowników, stabilność aplikacji i przychody z zakupów w aplikacji. W eksperymencie możesz śledzić maksymalnie 5 rodzajów danych innych niż cele.

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 takim przypadku możesz wybrać jako dane celu Przychody z zakupów, ponieważ chcesz, aby zwycięski wariant reprezentował powiadomienie, które przyniosło najwyższe przychody z zakupów w aplikacji. Chcesz też śledzić, która wersja przyniosła więcej przyszłych konwersji i utrzymanych użytkowników, więc w sekcji Inne kategorie danych do śledzenia możesz dodać te informacje:

  • Szacunkowe łączne przychody, aby zobaczyć, jak łączne przychody z zakupów w aplikacji i reklam różnią się w przypadku 2 wariantów.
  • Utrzymanie (1 dzień), Utrzymanie (2–3 dni), Utrzymanie (4–7 dni), aby śledzić dzienne/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

Dane Opis
Użytkownicy, u których nie wystąpił błąd Odsetek użytkowników, u których w aplikacji nie wystąpiły błędy wykryte przez pakiet SDK Firebase Crashlytics podczas eksperymentu.
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ń purchasein_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 wracają do Twojej aplikacji w ciągu 4–7 dni.
Utrzymanie (8–14 dni) Liczba użytkowników, którzy wracają 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 To Analytics zdarzenie jest wywoływane, gdy użytkownik po raz pierwszy otwiera aplikację po jej zainstalowaniu lub ponownym zainstalowaniu. Używane w ramach ścieżki konwersji.

Inne wskaźniki

Dane Opis
notification_dismiss Analytics Zdarzenie wywoływane, gdy powiadomienie wysłane przez kompozytor powiadomień zostanie odrzucone (tylko na Androidzie).
notification_receive Analytics Zdarzenie wywoływane, gdy powiadomienie wysłane przez kompozytor powiadomień nadejdzie podczas działania aplikacji w tle (tylko na Androidzie).
os_update Analytics zdarzenie, które śledzi, kiedy system operacyjny urządzenia jest aktualizowany do nowej wersji.Więcej informacji znajdziesz w artykule Automatycznie zbierane zdarzenia.
screen_view Analytics Zdarzenie, które śledzi wyświetlenia ekranów w aplikacji. Więcej informacji znajdziesz w artykule Śledzenie wyświetleń ekranu.
session_start Analytics Zdarzenie, które zlicza sesje użytkowników w aplikacji. Więcej informacji znajdziesz w artykule Zdarzenia zbierane automatycznie.

Eksportowanie danych z BigQuery

Oprócz wyświetlania danych eksperymentu w konsoli A/B TestingFirebase możesz sprawdzać i analizować dane eksperymentu w BigQuery. A/B Testing nie ma osobnej tabeli, ale informacje o eksperymentach i wariantach są przechowywane w każdym zdarzeniu w tabelach zdarzeń Analytics.BigQueryGoogle 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.

Za pomocą tych właściwości użytkownika eksperymentu możesz wyodrębniać dane eksperymentu. Dzięki temu możesz analizować wyniki eksperymentu na wiele różnych sposobów i niezależnie weryfikować wyniki A/B Testing.

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

  1. Włącz BigQuery eksportowanie Google Analytics w konsoli Firebase
  2. Dostęp do danych A/B Testing za pomocą BigQuery
  3. Przykładowe zapytania

Włączanie eksportowania BigQuery dla Google Analytics w konsoli Firebase

Jeśli korzystasz z abonamentu Spark, możesz używać BigQuerypiaskownicy, aby uzyskać dostęp do BigQuery bez żadnych opłat, z zastrzeżeniem limitów piaskownicy. Więcej informacji znajdziesz w sekcji Ceny i BigQuery sandbox.

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

  1. Otwórz kartę Integracje, do której możesz przejść, klikając  > Ustawienia projektuFirebase konsoli.
  2. Jeśli korzystasz już z BigQuery w innych usługach Firebase, kliknij Zarządzaj. W przeciwnym razie kliknij Połącz.
  3. Zapoznaj się z sekcją Informacje o łączeniu Firebase z BigQuery, a potem 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ć do 1 dnia. 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 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 Twój adres URL wygląda tak:https://console.firebase.google.com/project/my_firebase_project/config/experiment/results/25, identyfikator eksperymentu to 25.
  • Google Analytics identyfikator usługi: to 9-cyfrowy identyfikator usługi.Google Analytics Znajdziesz go w sekcji Google Analytics. Pojawia się też w sekcji BigQuery, gdy rozwiniesz nazwę projektu, aby wyświetlić nazwę tabeli zdarzeń Google Analytics (project_name.analytics_000000000.events).
  • Data eksperymentu: aby utworzyć szybsze i wydajniejsze zapytanie, warto ograniczyć zapytania do Google Analytics codziennych partycji tabeli zdarzeń, które zawierają dane eksperymentu – tabel oznaczonych sufiksem YYYYMMDD. Jeśli więc eksperyment był prowadzony od 2 lutego do 2 maja 2024 r., musisz podać _TABLE_SUFFIX between '20240202' AND '20240502'. Przykład znajdziesz w artykule Wybieranie wartości konkretnego eksperymentu.
  • Nazwy zdarzeń: zwykle odpowiadają one wartościom docelowym skonfigurowanym w eksperymencie. Na przykład in_app_purchasewydarzeniaad_impression lub user_retentionwydarzenia.
.

Po zebraniu 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 znajdziesz w artykule Przykładowe zapytania.
  4. Kliknij Wykonaj.

Tworzenie zapytań o dane eksperymentu za pomocą automatycznie generowanego zapytania w konsoli Firebase

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

Aby uzyskać i uruchomić automatycznie wygenerowane zapytanie:

  1. Firebase konsoli otwórz A/B Testing i wybierz eksperyment A/B Testing, o który chcesz wysłać 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 BigQueryw konsoli Google Cloud i udostępnienie podstawowego zapytania, którego możesz użyć do wysyłania zapytań o dane eksperymentu.

Poniższy przykład pokazuje wygenerowane zapytanie dotyczące eksperymentu z 3 wariantami (w tym z elementem bazowym) o nazwie „Eksperyment powitalny na zimę”. Zwraca nazwę aktywnego eksperymentu, nazwę wariantu, unikalne zdarzenie i liczbę zdarzeń dla każdego zdarzenia. Pamiętaj, że w nazwie tabeli w konstruktorze zapytań nie jest podana nazwa projektu, ponieważ konstruktor 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żywać do wyodrębniania danych eksperymentu z tabel zdarzeń A/B TestingGoogle Analytics.

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

Dane z wynikami eksperymentu możesz wykorzystać do niezależnego sprawdzenia Firebase A/B Testingwyników. Poniższe BigQueryinstrukcje SQLBigQuerywyodrębniają warianty eksperymentu, liczbę unikalnych użytkowników w każdym wariancie i sumują łączne przychodyBigQueryze zdarzeń in_app_purchaseecommerce_purchase oraz odchylenia standardoweBigQuerywszystkich eksperymentów w zakresie czasu określonym jako daty rozpoczęcia i zakończenia _TABLE_SUFFIX. Dane uzyskane z tego zapytania możesz wykorzystać w generatorze istotności statystycznej dla testów t-Studenta jednostronnych, aby sprawdzić, czy wyniki podawane przez Firebase są zgodne z Twoją analizą.

Więcej informacji o sposobie obliczania wnioskowania przez A/B Testing znajdziesz w sekcji Interpretowanie wyników testów.

  /*
    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ższy przykład zapytania pokazuje, jak uzyskać dane dotyczące konkretnego eksperymentu w BigQuery. To przykładowe zapytanie zwraca nazwę eksperymentu, nazwy wersji (w tym wersji podstawowej), 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