Gdy kontaktujesz się z użytkownikami lub rozpoczynasz nową kampanię marketingową, chcesz mieć pewność, że wszystko robisz prawidłowo. 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 częściach bazy użytkowników. Niezależnie od tego, czy Twoim celem jest lepsze utrzymanie klientów czy konwersja w ramach 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 korzystający z Firebase In-App Messaging umożliwia ocenę wielu wariantów jednego komunikatu w aplikacji.
Sprawdź, czy w projekcie włączona jest 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
Ustawienia > Integracje w konsoli Firebase.W konsoli Firebase rozpocznij eksperyment Firebase In-App Messaging, korzystając z jednej z tych opcji:
Z urządzenia A/B Testing:
Kliknij DevOps i zaangażowanie > Testy A/B.
Kliknij Utwórz eksperyment, a następnie, gdy pojawi się prośba o wybranie usługi, z którą chcesz przeprowadzić eksperyment, kliknij Wiadomości w aplikacji.
Z urządzenia In-App Messaging:
Kliknij DevOps i zaangażowanie > Wiadomości.
Kliknij In-App Messaging, a następnie Nowy eksperyment.
Wpisz nazwę i opcjonalny opis eksperymentu, a następnie kliknij Dalej.
Wypełnij pola Kierowanie, zaczynając od wybrania aplikacji, w której będzie przeprowadzany eksperyment. Możesz też kierować reklamy na podzbiór użytkowników, którzy będą uczestniczyć 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 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ć włączeni do eksperymentu.
- Kraj/region: co najmniej jeden kraj lub region, w którym można wybierać 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 w eksperymencie:wybierz odsetek użytkowników aplikacji spełniających kryteria określone w sekcji Użytkownicy w eksperymencie, których chcesz równomiernie podzielić między wersję podstawową a co najmniej 1 wariant w eksperymencie. Może to być dowolny odsetek 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 skonfiguruj podstawową wiadomość w aplikacji, która będzie wysyłana do grupy podstawowej za pomocą interfejsu projektowania wiadomości używanego w przypadku zwykłej kampanii wiadomości w aplikacji.
Aby dodać wariant do eksperymentu, kliknij Dodaj wariant. Domyślnie eksperymenty mają 1 wartość bazową i 1 wariant.
(Opcjonalnie) Wpisz bardziej opisową nazwę każdego wariantu.
(Opcjonalnie) U góry sekcji Wersje kliknij przycisk Porównaj wersje, aby porównać ze sobą kolejne wersje wiadomości z wersją podstawową.
Określ dane celu, które będą używane w eksperymencie do oceny wariantów eksperymentu, oraz wszelkie dodatkowe dane, które chcesz wykorzystać z listy. Obejmują one wbudowane cele (zaangażowanie, zakupy, przychody, utrzymanie klientów itp.), Analyticszdarzenia konwersji i inne Analyticszdarzenia.
Skonfiguruj harmonogram eksperymentu:
- Ustaw datę rozpoczęcia i datę zakończenia eksperymentu.
- Określ, jak wiadomości w aplikacji mają być wywoływane we wszystkich wariantach.
Aby zapisać eksperyment, kliknij Sprawdź.
W każdym projekcie możesz przeprowadzić maksymalnie 300 eksperymentów, z czego maksymalnie 24 mogą być aktywne, a pozostałe mogą być wersjami roboczymi lub zakończonymi eksperymentami.
Weryfikowanie eksperymentu na urządzeniu testowym
W przypadku każdej instalacji Firebase możesz pobrać powiązany z nią token uwierzytelniania instalacji. 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:
- Aby uzyskać token uwierzytelniania instalacji:
Swift
do { let result = try await Installations.installations() .authTokenForcingRefresh(true) print("Installation auth token: \(result.authToken)") } catch { print("Error fetching token: \(error)") }
Objective-C
[[FIRInstallations installations] authTokenForcingRefresh:true completion:^(FIRInstallationsAuthTokenResult *result, NSError *error) { if (error != nil) { NSLog(@"Error fetching Installation token %@", error); return; } NSLog(@"Installation auth token: %@", [result authToken]); }];
Java
FirebaseInstallations.getInstance().getToken(/* forceRefresh */true) .addOnCompleteListener(new OnCompleteListener<InstallationTokenResult>() { @Override public void onComplete(@NonNull Task<InstallationTokenResult> task) { if (task.isSuccessful() && task.getResult() != null) { Log.d("Installations", "Installation auth token: " + task.getResult().getToken()); } else { Log.e("Installations", "Unable to get Installation auth token"); } } });
Kotlin
val forceRefresh = true FirebaseInstallations.getInstance().getToken(forceRefresh) .addOnCompleteListener { task -> if (task.isSuccessful) { Log.d("Installations", "Installation auth token: " + task.result?.token) } else { Log.e("Installations", "Unable to get Installation auth token") } }
Sieć
import { getInstallations, getToken } from "firebase/installations"; const installations = getInstallations(app); const installationAuthToken = getToken(installations);
- W konsoli Firebase otwórz DevOps i zaangażowanie > Testy A/B.
- Kliknij Wersja robocza (lub Aktywny w przypadku eksperymentów Zdalnej konfiguracji), najedź kursorem na eksperyment, kliknij menu kontekstowe more_vert, a potem kliknij Zarządzaj urządzeniami testowymi.
- Wpisz token autoryzacji instalacji 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.
Więcej informacji o Firebase instalacjach znajdziesz w artykule Zarządzanie instalacjami Firebase.
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 konsoli Firebase otwórz DevOps i zaangażowanie > Testy A/B.
- 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 konsoli Firebase otwórz DevOps i zaangażowanie > Testy A/B.
Kliknij Uruchomione, a potem kliknij lub wyszukaj tytuł eksperymentu. Na tej stronie możesz wyświetlić różne odnotowane i modelowane statystyki dotyczące prowadzonego eksperymentu, w tym:
- % różnicy w stosunku do wartości bazowej: miara poprawy danych w przypadku danego wariantu w porównaniu z wartością bazową. Obliczana przez porównanie zakresu wartości wariantu z zakresem wartości bazowej.
- Prawdopodobieństwo przekroczenia wartości podstawowej: szacunkowe 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 wartość danych będzie się mieścić z biegiem czasu.
- Łącznieobserved_metric: zaobserwowana wartość skumulowana w przypadku wersji podstawowej lub wariantu. Ta wartość służy do pomiaru skuteczności poszczególnych wariantów eksperymentu i do obliczania wzrostu, zakresu wartości, prawdopodobieństwa przekroczenia wartości podstawowej i prawdopodobieństwa uzyskania najlepszych wyników. 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”.
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 wyłonić najlepszy wariant umożliwiający realizację Twojego celu, możesz wdrożyć go dla wszystkich użytkowników. Dzięki temu możesz wybrać wariant, który będzie odtąd wyświetlany wszystkim użytkownikom. Możesz to zrobić także w przypadku, gdy eksperyment nie wyłoni zdecydowanego zwycięzcy.
- W konsoli Firebase otwórz DevOps i zaangażowanie > Testy A/B.
- Kliknij Ukończono lub Trwa, a potem kliknij eksperyment, który chcesz udostępnić wszystkim użytkownikom. Następnie kliknij menu kontekstowe i Wdróż wariant.
Wdróż eksperyment dla wszystkich użytkowników, wykonując jedną z tych czynności:
- W przypadku eksperymentu, w którym używasz edytora 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 w oknie dialogowym określ, która wersja ma zostać wdrożona jako samodzielna In-App Messaging kampania. Po dokonaniu wyboru nastąpi przekierowanie do ekranu tworzenia wiadomości FIAM, na którym 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 wyłonić zwycięzcę, możesz zwiększyć jego zasięg, aby dotrzeć do większego odsetka użytkowników aplikacji.
- W konsoli Firebase otwórz DevOps i zaangażowanie > Testy A/B.
- Wybierz trwający eksperyment, który chcesz edytować.
- W sekcji Omówienie eksperymentu kliknij menu kontekstowe , a potem kliknij Edytuj trwający eksperyment.
- W oknie Kierowanie wyświetli 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 udostępniony wybranemu przez Ciebie odsetkowi użytkowników.
Duplikowanie i zatrzymywanie eksperymentu
- W konsoli Firebase otwórz DevOps i zaangażowanie > Testy A/B.
- Kliknij Zakończone lub Trwające, najedź wskaźnikiem myszy na eksperyment, kliknij menu kontekstowe , a potem kliknij Duplikuj 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ę rozdzieloną przecinkami wartości. 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ść ciągu docelowego. |
| Odbiorcy | zawiera wszystkie,
zawiera przynajmniej jeden, nie zawiera wszystkich, nie zawiera przynajmniej jednego |
Wybierz co najmniej 1 Analyticslistę odbiorców, na którą chcesz kierować reklamy, aby docierać do użytkowników, którzy mogą być objęci eksperymentem. | W przypadku niektórych eksperymentów kierowanych na Google Analytics odbiorców gromadzenie danych może potrwać kilka dni, ponieważ podlegają one 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. W przypadku właściwości użytkownika w kliencie można ustawiać tylko wartości tekstowe. 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ść ciągu docelowego. |
| 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żyte do wybrania 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 podstawowe dane, czyli cel, które służą do określania zwycięskiego wariantu. Warto też śledzić inne dane, aby lepiej zrozumieć skuteczność poszczególnych wariantów eksperymentu i śledzić 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 rodzajów danych innych niż dane dotyczące celu.
Załóżmy na przykład, że w aplikacji pojawiły się nowe zakupy w aplikacji i chcesz porównać skuteczność 2 różnych komunikatów zachęcających do zakupu. W takim przypadku możesz wybrać Przychody z zakupów jako dane celu, ponieważ chcesz, aby zwycięska wersja reprezentowała 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 dane do śledzenia możesz dodać te dane:- 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 i tygodniowe utrzymanie użytkowników.
W tabelach poniżej znajdziesz szczegółowe informacje o sposobie obliczania danych dotyczących celów i innych danych.
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. 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 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 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 | Analytics Zdarzenie wywoływane, gdy użytkownik po raz pierwszy otwiera aplikację po jej zainstalowaniu lub ponownym zainstalowaniu. Jest 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.
Ten rodzaj danych nie jest obsługiwany w przypadku aplikacji internetowych. |
| 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. |