Check out what’s new from Firebase@ Google I/O 2021, and join our alpha program for early access to the new Remote Config personalization feature. Learn more

Twórz eksperymenty z wiadomościami za pomocą testów A/B

Kiedy docierasz do swoich użytkowników lub rozpoczynasz nową kampanię marketingową, chcesz mieć pewność, że zrobiłeś to dobrze. Testy A/B mogą pomóc w znalezieniu optymalnego sformułowania i prezentacji poprzez testowanie wariantów wiadomości na wybranych fragmentach Twojej bazy użytkowników. Niezależnie od tego, czy Twoim celem jest lepsze utrzymanie lub konwersja oferty, testy A/B mogą przeprowadzić analizę statystyczną, aby określić, czy wariant wiadomości przewyższa grupę kontrolną dla wybranego celu.

Aby przetestować warianty funkcji A/B z grupą kontrolną, wykonaj następujące czynności:

  1. Stwórz swój eksperyment.
  2. Sprawdź poprawność eksperymentu na urządzeniu testowym.
  3. Zarządzaj swoim eksperymentem.

Utwórz eksperyment

Eksperyment, w którym używany jest układacz powiadomień, pozwala ocenić wiele wariantów w jednym komunikacie z powiadomieniem.

  1. Zaloguj się do Firebase, zaktualizuj ustawienia udostępniania danych i upewnij się, że udostępnianie danych jest włączone. Bez udostępniania danych eksperyment nie będzie miał dostępu do danych analitycznych.
  2. W sekcji Engage z Firebase konsola pasku nawigacyjnym kliknij testy A / B.
  3. Kliknij Utwórz eksperyment , a następnie wybierz Powiadomienia po wyświetleniu monitu o usługę, z którą chcesz poeksperymentować.
  4. Wprowadź nazwę i opcjonalny opis eksperymentu, a następnie kliknij przycisk Dalej .
  5. Wypełnij pola kierowania , najpierw wybierając aplikację, która korzysta z eksperymentu. Możesz także skierować podzbiór użytkowników do udziału w eksperymencie, wybierając opcje obejmujące:

    • Wersja: co najmniej jedna wersja Twojej aplikacji
    • Odbiorcy użytkowników: grupy 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 służąca do wybierania użytkowników, którzy mogą zostać uwzględnieni w eksperymencie
    • Przewidywanie: grupy użytkowników przewidziane przez uczenie maszynowe do angażowania się w określone zachowanie
    • Kraj/region: co najmniej jeden kraj lub region do wyboru użytkowników, którzy mogą zostać uwzględnieni w eksperymencie
    • Język urządzenia: co najmniej jeden język i ustawienia regionalne używane do wybierania użytkowników, którzy mogą zostać uwzględnieni w eksperymencie
  6. Ustaw procent użytkowników docelowych: wybierz procent bazy użytkowników Twojej aplikacji spełniającej kryteria ustawione w sekcji Docelowi użytkownicy , którą chcesz równomiernie podzielić między grupę kontrolną i co najmniej jeden wariant w eksperymencie. Może to być dowolny procent od 0,01% do 100%. Procenty są losowo ponownie przypisywane użytkownikom w przypadku każdego eksperymentu, w tym zduplikowanych eksperymentów.

  7. W sekcji Warianty wpisz wiadomość do wysłania do grupy kontrolnej w polu tekstowym Wprowadź wiadomość . Aby nie wysyłać wiadomości do grupy kontrolnej, pozostaw to pole puste.

  8. (opcjonalnie) Aby dodać więcej niż jeden wariant do eksperymentu, kliknij Dodaj wariant . Domyślnie eksperymenty mają jedną grupę kontrolną i jeden wariant.

  9. (opcjonalnie) Wprowadź nazwę dla każdego wariantu w eksperymencie, aby zastąpić nazwy Wariant A , Wariant B itd.

  10. Zdefiniuj dane celu eksperymentu, które będą używane podczas oceny wariantów eksperymentu, wraz z wszelkimi żądanymi dodatkowymi danymi z listy rozwijanej. Te dane obejmują wbudowane cele (zaangażowanie, zakupy, przychody, utrzymanie itp.), zdarzenia konwersji Analytics i inne zdarzenia Analytics.

  11. Wybierz opcje dla swojej wiadomości:

    • Data dostarczenia: albo wybierz Wyślij teraz, aby rozpocząć eksperyment natychmiast po zapisaniu, albo Zaplanowano, aby określić godzinę 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. Kliknij Sprawdź, aby zapisać eksperyment.

Dozwolone jest do 300 eksperymentów na projekt, które mogą składać się z maksymalnie 24 uruchomionych eksperymentów, a reszta to wersja robocza lub ukończona.

Sprawdź poprawność eksperymentu na urządzeniu testowym

Dla 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ą Twoją aplikacją. Aby zweryfikować eksperyment na urządzeniu testowym, wykonaj następujące czynności:

  1. Uzyskaj token rejestracji FCM w następujący sposób:

    Szybki

    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)"
      }
    }
    

    Cel 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;
      }
    }];
    

    Jawa

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

    Kotlin+KTX

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

    C++

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

    Unity

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

Zarządzaj swoim eksperymentem

Niezależnie od tego, czy tworzysz eksperyment za pomocą Zdalnej konfiguracji, kreatora powiadomień czy funkcji Firebase In-App Messaging, możesz następnie zweryfikować i rozpocząć eksperyment, monitorować eksperyment w trakcie jego trwania i zwiększyć liczbę użytkowników uwzględnionych w trwającym eksperymencie.

Po zakończeniu eksperymentu możesz zanotować ustawienia używane przez zwycięski wariant, a następnie udostępnić je wszystkim użytkownikom. Możesz też przeprowadzić kolejny eksperyment.

Rozpocznij eksperyment

  1. W sekcji Engage z Firebase konsola pasku nawigacyjnym kliknij testy A / B.
  2. Kliknij opcję Wersja robocza , a następnie kliknij tytuł eksperymentu.
  3. Aby sprawdzić, czy Twoja aplikacja ma użytkowników, którzy zostaliby uwzględnieni w eksperymencie, rozwiń szczegóły wersji roboczej i poszukaj liczby większej niż 0% w sekcji Kierowanie i dystrybucja (na przykład 1% użytkowników spełniających kryteria ).
  4. Aby zmienić eksperyment, kliknij Edytuj .
  5. Aby rozpocząć eksperyment, kliknij Rozpocznij eksperyment . Jednocześnie możesz przeprowadzić do 24 eksperymentów na projekt.

Monitoruj eksperyment

Po pewnym czasie trwania eksperymentu możesz sprawdzić jego postęp i zobaczyć, jak wyglądają wyniki dla użytkowników, którzy do tej pory uczestniczyli w eksperymencie.

  1. W sekcji Engage z Firebase konsola pasku nawigacyjnym kliknij testy A / B.
  2. Kliknij Uruchomiony , a następnie kliknij tytuł eksperymentu. Na tej stronie można wyświetlić różne zaobserwowane i modelowane statystyki dotyczące prowadzonego eksperymentu, w tym:

    • % różnicy w stosunku do linii bazowej : Miara poprawy metryki dla danego wariantu w porównaniu z linią bazową (lub grupą kontrolną). Obliczany przez porównanie zakresu wartości wariantu z zakresem wartości odniesienia.
    • Prawdopodobieństwo pokonania linii bazowej : Szacowane prawdopodobieństwo, że dany wariant przekroczy linię bazową dla wybranej metryki.
    • observed_metric na użytkownika : na podstawie wyników eksperymentu jest to przewidywany zakres, w którym z czasem będzie mieścić się wartość metryki.
    • Całkowita observed_metric : zaobserwowana skumulowana wartość dla grupy kontrolnej lub wariantu. Wartość służy do pomiaru skuteczności każdego wariantu eksperymentu i służy do obliczania poprawy , zakresu wartości , prawdopodobieństwa pokonania linii bazowej i prawdopodobieństwa uzyskania najlepszego wariantu . W zależności od mierzonych danych kolumna ta może być oznaczona etykietą „Czas trwania na użytkownika”, „Przychody na użytkownika”, „Współczynnik utrzymania” lub „Współczynnik konwersji”.
  3. Po pewnym czasie trwania eksperymentu (co najmniej 7 dni w przypadku FCM i wysyłania wiadomości w aplikacji lub 14 dni w przypadku Zdalnej konfiguracji) dane na tej stronie wskazują, który wariant (jeśli w ogóle) jest „liderem”. Niektórym pomiarom towarzyszy wykres słupkowy przedstawiający dane w formie wizualnej.

Przeprowadź eksperyment dla wszystkich użytkowników

Po zakończeniu eksperymentu na tyle długo, że masz „lidera” lub zwycięski wariant dla danych celu, możesz wdrożyć eksperyment u 100% użytkowników. Dzięki temu możesz wybrać wariant do opublikowania dla wszystkich przyszłych użytkowników. Nawet jeśli w eksperymencie nie wyłoniono wyraźnego zwycięzcy, nadal możesz wprowadzić wariant dla wszystkich użytkowników.

  1. W sekcji Engage z Firebase konsola pasku nawigacyjnym kliknij testy A / B.
  2. Kliknij Ukończone lub Uruchomione , kliknij eksperyment, który chcesz dla wszystkich użytkowników, kliknij menu kontekstowe ( ), a następnie kliknij wariant .
  3. Rozpocznij eksperyment dla wszystkich użytkowników, wykonując jedną z następujących czynności:

    • W przypadku eksperymentu z edytorem powiadomień użyj okna dialogowego Rozwiń wiadomość, aby wysłać wiadomość do pozostałych docelowych użytkowników, którzy nie brali udziału w eksperymencie.
    • W przypadku eksperymentu Zdalnej konfiguracji wybierz wariant, aby określić, które wartości parametrów Zdalnej konfiguracji mają zostać zaktualizowane. Kryteria kierowania zdefiniowane podczas tworzenia eksperymentu zostaną dodane jako nowy warunek w szablonie, aby zapewnić, że wdrożenie będzie dotyczyć tylko użytkowników docelowych eksperymentu. Po kliknięciu Przejrzyj w Zdalnej konfiguracji, aby przejrzeć zmiany, kliknij Opublikuj zmiany, aby zakończyć wdrażanie.
    • W przypadku eksperymentu z wiadomościami w aplikacji użyj okna dialogowego, aby określić, który wariant należy wdrożyć jako samodzielną kampanię z wiadomościami w aplikacji. Po wybraniu nastąpi przekierowanie do ekranu tworzenia FIAM, aby wprowadzić zmiany (w razie potrzeby) przed opublikowaniem.

Rozwiń eksperyment

Jeśli okaże się, że eksperyment nie przyciąga wystarczającej liczby użytkowników, aby testy A/B mogły określić lidera, możesz zwiększyć dystrybucję eksperymentu, aby dotrzeć do większego odsetka użytkowników aplikacji.

  1. W sekcji Engage z Firebase konsola pasku nawigacyjnym kliknij testy A / B.
  2. Wybierz trwający eksperyment, który chcesz edytować.
  3. W przeglądzie eksperymentu kliknij menu kontekstowe ( ), a następnie kliknij opcję Edytuj trwający eksperyment .
  4. Okno dialogowe Kierowanie wyświetla opcję zwiększenia odsetka użytkowników biorących udział w aktualnie trwającym eksperymencie. Wybierz liczbę większą niż aktualna wartość procentowa i kliknij Opublikuj . Eksperyment zostanie wypchnięty do określonego odsetka użytkowników.

Powiel lub zatrzymaj eksperyment

  1. W sekcji Engage z Firebase konsola pasku nawigacyjnym kliknij testy A / B.
  2. Kliknij Ukończone lub Uruchomione , najedź kursorem na eksperyment, kliknij menu kontekstowe ( ), a następnie kliknij Powiel eksperyment lub Zatrzymaj eksperyment .

Kierowanie na użytkowników

Możesz kierować reklamy na użytkowników, których chcesz uwzględnić w eksperymencie, korzystając z następujących kryteriów kierowania na użytkowników.

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

W przypadku używania dowolnego z operatorów zawiera , nie zawiera lub dokładnie pasuje do operatorów, można podać listę wartości oddzielonych przecinkami.

Używając operatora zawiera regex , możesz tworzyć wyrażenia regularne w formacie RE2 . Twoje wyrażenie regularne może pasować do całości lub części ciągu wersji docelowej. Możesz także użyć kotwic ^ i $, aby dopasować początek, koniec lub całość docelowego ciągu.

Odbiorcy użytkowników obejmuje wszystkie,
zawiera co najmniej jeden z,
nie obejmuje wszystkich,
nie zawiera co najmniej jednego z
Wybierz co najmniej jedną grupę odbiorców Analytics, aby kierować reklamy na użytkowników, którzy mogą być uwzględnieni w eksperymencie.
Własność użytkownika Dla tekstu:
zawiera,
nie zawiera,
dokładnie pasuje,
zawiera wyrażenie regularne

Dla 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.

Na kliencie można ustawić tylko wartości ciągów dla właściwości użytkownika. W przypadku warunków korzystających z operatorów liczbowych usługa Zdalna konfiguracja konwertuje wartość odpowiedniej właściwości użytkownika na liczbę całkowitą/zmiennoprzecinkową.
Używając operatora zawiera regex , możesz tworzyć wyrażenia regularne w formacie RE2 . Twoje wyrażenie regularne może pasować do całości lub części ciągu wersji docelowej. Możesz także użyć kotwic ^ i $, aby dopasować początek, koniec lub całość docelowego ciągu.
Prognoza Nie dotyczy Docelowe grupy użytkowników zdefiniowane przez Prognozy Firebase — na przykład osoby, które prawdopodobnie przestaną korzystać z Twojej aplikacji lub użytkownicy, którzy prawdopodobnie dokonają zakupu w aplikacji. Wybierz jedną z wartości zdefiniowanych przez narzędzie Prognozy Firebase. Jeśli opcja jest niedostępna, konieczne może być włączenie Prognoz Firebase w sekcji Prognozy w konsoli Firebase.
Kraj urządzenia Nie dotyczy Co najmniej jeden kraj lub region użyty do wybrania użytkowników, którzy mogą zostać uwzględnieni w eksperymencie.
Język urządzenia Nie dotyczy Co najmniej jeden język i ustawienia regionalne używane do wybierania użytkowników, którzy mogą zostać uwzględnieni w eksperymencie. To kryterium kierowania jest dostępne tylko w przypadku Zdalnej konfiguracji.
Pierwsze otwarcie więcej niż
mniej niż
pomiędzy
Kieruj reklamy na użytkowników na podstawie pierwszego otwarcia Twojej aplikacji, określonej w dniach. To kryterium kierowania jest dostępne tylko w przypadku wysyłania wiadomości Firebase w aplikacji.
Ostatnie zaangażowanie w aplikację więcej niż
mniej niż
pomiędzy
Kieruj reklamy na użytkowników na podstawie ostatniego kontaktu z Twoją aplikacją, określonego w dniach. To kryterium kierowania jest dostępne tylko w przypadku wysyłania wiadomości Firebase w aplikacji.

Wskaźniki testów A/B

Podczas tworzenia eksperymentu wybierasz dane, które służą do porównywania wariantów eksperymentu, a także możesz wybrać inne dane do śledzenia, aby lepiej zrozumieć każdy wariant eksperymentu i wykryć wszelkie istotne skutki uboczne (takie jak awarie aplikacji). Poniższe tabele zawierają szczegółowe informacje o sposobie obliczania danych celów i innych danych.

Wskaźniki celu

Metryczny Opis
Retencja (1 dzień) Liczba użytkowników, którzy codziennie wracają do Twojej aplikacji.
Retencja (2-3 dni) Liczba użytkowników, którzy wrócili do Twojej aplikacji w ciągu 2-3 dni.
Retencja (4-7 dni) Liczba użytkowników, którzy wrócili do Twojej aplikacji w ciągu 4-7 dni.
Retencja (8-14 dni) Liczba użytkowników, którzy wrócili do Twojej aplikacji w ciągu 8-14 dni.
Retencja (15+ dni) Liczba użytkowników, którzy wrócili do Twojej aplikacji co najmniej 15 dni po jej ostatnim użyciu.
Powiadomienie otwarte Śledzi, czy użytkownik otwiera powiadomienie wysłane przez kompozytora powiadomień.
Przychody z zakupów Łączna wartość dla wszystkich zdarzeń ecommerce_purchase i in_app_purchase .
Szacunkowe przychody z AdMob Szacunkowe zarobki z AdMob.
Szacowane całkowite przychody Łączna wartość zakupów i szacunkowe przychody AdMob.
pierwszy_otwarty Zdarzenie Analytics, które jest wyzwalane, gdy użytkownik po raz pierwszy otworzy aplikację po jej zainstalowaniu lub ponownym zainstalowaniu. Używane jako część ścieżki konwersji.
powiadomienie_otwarte Zdarzenie Analytics, które jest wyzwalane, gdy użytkownik otworzy powiadomienie wysłane przez kompozytora powiadomień. Używane jako część ścieżki konwersji.

Inne metryki

Metryczny Opis
Użytkownicy bez awarii Odsetek użytkowników, którzy nie napotkali błędów w Twojej aplikacji wykrytych przez pakiet Firebase Crashlytics SDK podczas eksperymentu.
powiadomienie_zwolnienie Zdarzenie Analytics, które jest wyzwalane, gdy powiadomienie wysłane przez kompozytora powiadomień zostanie odrzucone (tylko Android).
odbiór_powiadomienia Zdarzenie Analytics, które jest wyzwalane, gdy powiadomienie wysłane przez kompozytora powiadomień zostanie odebrane, gdy aplikacja działa w tle (tylko Android).
os_aktualizacja Zdarzenie Analytics śledzące aktualizację systemu operacyjnego urządzenia do nowej wersji.Aby dowiedzieć się więcej, zobacz Zdarzenia zbierane automatycznie .
screen_view Zdarzenie Analytics, które śledzi ekrany wyświetlane w Twojej aplikacji. Aby dowiedzieć się więcej, zobacz Śledzenie wyświetleń ekranu .
sesja_początkowa Zdarzenie Analytics, które zlicza sesje użytkowników w Twojej aplikacji. Aby dowiedzieć się więcej, zobacz Zdarzenia zbierane automatycznie .
zaangażowanie_użytkownika Zdarzenie Analytics, które jest wyzwalane okresowo, gdy aplikacja jest na pierwszym planie. Aby dowiedzieć się więcej, zobacz Zdarzenia zbierane automatycznie .

Eksport danych BigQuery

W BigQuery możesz uzyskać dostęp do wszystkich danych analitycznych związanych z testami A/B . BigQuery pozwala analizować dane za pomocą BigQuery SQL, eksportować je do innego dostawcy chmury lub używać danych do niestandardowych modeli ML. Więcej informacji znajdziesz w artykule Łączenie BigQuery z Firebase .

Aby w pełni wykorzystać eksport danych BigQuery, projekty Firebase powinny przyjąć plan cenowy „Blaze” z płatnością zgodnie z rzeczywistym użyciem. BigQuery pobiera opłaty za przechowywanie danych, przesyłanie strumieniowe wstawek i zapytania o dane. Wczytywanie i eksportowanie danych jest bezpłatne. Zobacz Ceny BigQuery lub piaskownicę BigQuery, aby uzyskać więcej informacji.

Aby rozpocząć, upewnij się, że Twój projekt Firebase jest połączony z BigQuery. Wybierz Ustawienia > Ustawienia projektu na lewym pasku nawigacyjnym, a następnie wybierz Integracje > BigQuery > Link . Ta strona wyświetla opcje wykonywania eksportu danych analitycznych BiqQuery dla wszystkich aplikacji w projekcie.

Aby wykonać zapytanie o dane analityczne dla eksperymentu:

  1. Z listy aktywnych eksperymentów wybierz żądany eksperyment, aby otworzyć stronę wyników eksperymentu.
  2. Z menu kontekstowego w okienku Przegląd eksperymentu wybierz dane eksperymentu (ta opcja nie jest dostępna w przypadku projektów w warstwie Bezpłatna) .

    Spowoduje to otwarcie edytora zapytań w konsoli BigQuery z automatycznie wygenerowanym przykładowym zapytaniem dotyczącym danych eksperymentu, które zostały wstępnie załadowane do sprawdzenia. W tym zapytaniu eksperyment jest zakodowany jako właściwość użytkownika z nazwą eksperymentu w kluczu i wariantem eksperymentu w wartości.

  3. W edytorze zapytań wybierz opcję Uruchom zapytanie. Wyniki są wyświetlane w dolnym okienku.

Pamiętaj, że ponieważ dane Firebase w BigQuery są aktualizowane tylko raz dziennie, dane dostępne na stronie eksperymentu mogą być bardziej aktualne niż dane dostępne w konsoli BigQuery.