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ą:
- Utwórz eksperyment.
- Sprawdź eksperyment na urządzeniu testowym.
- Zarządzaj eksperymentem.
Utwórz eksperyment
Eksperyment, w którym używasz kompozytora powiadomień, umożliwia ocenę wielu wariantów pojedynczej wiadomości powiadomienia.
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 projektu w Firebase konsoli.
Na pasku nawigacyjnym konsoli Firebase w sekcji Zaangażowanie kliknij A/B Testing.
Kliknij Utwórz eksperyment, a potem, gdy pojawi się prośba o wybranie usługi, w której chcesz przeprowadzić eksperyment, kliknij Powiadomienia.
Wpisz nazwę i opcjonalnie opis eksperymentu, a następnie kliknij Dalej.
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ą.
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.
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.
(Opcjonalnie) Aby dodać do eksperymentu więcej niż 1 wariant, kliknij Dodaj wariant. Domyślnie eksperymenty mają 1 wartość bazową i 1 wariant.
(Opcjonalnie) Wpisz nazwę każdego wariantu w eksperymencie, aby zastąpić nazwy Wariant A, Wariant B itp.
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ń.
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.
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:
- 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)); } });
- Na pasku nawigacyjnym Firebase konsoli kliknij Testy A/B.
- Kliknij Wersja robocza, najedź kursorem na eksperyment, kliknij menu kontekstowe (more_vert), a potem kliknij Zarządzaj urządzeniami testowymi.
- Wpisz token FCM urządzenia testowego i wybierz wariant eksperymentu, który ma być wysłany na to urządzenie.
- 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
- W sekcji Zaangażowanie w menu nawigacyjnym Firebase konsoli kliknij A/B Testing.
- Kliknij Wersja robocza, a następnie tytuł eksperymentu.
- 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).
- Aby zmienić eksperyment, kliknij Edytuj.
- 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ł.
- W sekcji Zaangażowanie w menu nawigacyjnym Firebase konsoli kliknij A/B Testing.
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 odniesienia i prawdopodobień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”.
Gdy eksperyment będzie trwać przez pewien czas (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” (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.
- W sekcji Zaangażowanie w menu nawigacyjnym Firebase konsoli kliknij A/B Testing.
- 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.
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.
- W sekcji Zaangażowanie w menu nawigacyjnym Firebase konsoli kliknij A/B Testing.
- Wybierz trwający eksperyment, który chcesz edytować.
- W sekcji Podsumowanie eksperymentu kliknij menu kontekstowe , a potem Edytuj trwający eksperyment.
- 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
- W sekcji Zaangażowanie w menu nawigacyjnym Firebase konsoli kliknij A/B Testing.
- 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 ^ i $, 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 ^ i $, 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ń 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 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:
- Włącz BigQuery eksportowanie Google Analytics w konsoli Firebase
- Dostęp do danych A/B Testing za pomocą BigQuery
- 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:
- Otwórz kartę Integracje, do której możesz przejść, klikając > Ustawienia projektu w Firebase konsoli.
- Jeśli korzystasz już z BigQuery w innych usługach Firebase, kliknij Zarządzaj. W przeciwnym razie kliknij Połącz.
- Zapoznaj się z sekcją Informacje o łączeniu Firebase z BigQuery, a potem kliknij Dalej.
- W sekcji Skonfiguruj integrację włącz przełącznik Google Analytics.
Wybierz region i ustawienia eksportu.
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_purchase
wydarzeniaad_impression
lubuser_retention
wydarzenia.
Po zebraniu informacji potrzebnych do wygenerowania zapytania:
- Otwórz BigQuery w konsoli Google Cloud.
- Wybierz projekt, a następnie kliknij Utwórz zapytanie SQL.
- Dodaj zapytanie. Przykładowe zapytania znajdziesz w artykule Przykładowe zapytania.
- 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:
- W 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.
- 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_purchase
i ecommerce_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