Membuat Eksperimen Messaging dengan Pengujian A/B

Ketika mencoba berinteraksi dengan pengguna atau memulai kampanye pemasaran baru, pastikan agar prosesnya berjalan dengan baik. Pengujian A/B dapat membantu Anda menentukan kata-kata dan penyajian yang optimal dengan menguji beberapa variasi pesan pada segmen tertentu dari basis pengguna Anda. Apa pun sasaran Anda, baik untuk mencapai retensi yang lebih baik maupun konversi atas sebuah penawaran, pengujian A/B dapat menjalankan analisis statistik guna menentukan apakah sebuah variasi pesan memiliki performa yang lebih baik dibandingkan grup kontrol untuk tujuan yang Anda pilih.

Untuk melakukan pengujian A/B pada variasi fitur dengan grup kontrol, lakukan hal berikut:

  1. Buat eksperimen.
  2. Validasi eksperimen di perangkat uji.
  3. Kelola eksperimen.

Membuat eksperimen

Eksperimen yang menggunakan Notifications composer dapat digunakan untuk mengevaluasi beberapa varian pada satu pesan notifikasi.

  1. Login ke Firebase, update Setelan berbagi data dan pastikan fitur berbagi data sudah aktif. Tanpa berbagi data, eksperimen Anda tidak akan memiliki akses ke data analisis.
  2. Di menu navigasi Firebase console, luaskan Grow, lalu klik Pengujian A/B.
  3. Klik Buat eksperimen, lalu pilih Notifications saat diminta untuk layanan yang ingin Anda gunakan untuk bereksperimen.
  4. Masukkan Nama dan Deskripsi opsional untuk eksperimen Anda, lalu klik Berikutnya.
  5. Isi kolom Penargetan, yang diawali dengan memilih aplikasi yang menggunakan eksperimen Anda. Anda juga dapat menargetkan subkumpulan pengguna untuk disertakan dalam eksperimen dengan memilih satu atau beberapa opsi berikut:

    • Versi: Satu atau beberapa versi aplikasi Anda
    • Audiens pengguna: Audiens Analytics yang digunakan untuk menargetkan pengguna yang mungkin disertakan dalam eksperimen
    • Properti pengguna: Satu atau beberapa properti pengguna Analytics untuk memilih pengguna yang mungkin disertakan dalam eksperimen
    • Prediksi: Grup pengguna yang diprediksi oleh machine learning untuk melakukan perilaku tertentu
    • Negara/Wilayah: Satu atau beberapa negara atau wilayah untuk memilih pengguna yang mungkin disertakan dalam eksperimen
    • Bahasa perangkat: Satu atau beberapa bahasa dan lokal yang digunakan untuk memilih pengguna yang mungkin disertakan dalam eksperimen
  6. Tetapkan Persentase pengguna target: Masukkan persentase basis pengguna aplikasi Anda, yang cocok dengan kriteria yang ditetapkan dalam Pengguna target, yang ingin Anda bagi secara merata antara grup kontrol dan satu atau beberapa varian dalam eksperimen. Rentang persentase ini bisa antara 0,01% dan 100%. Persentase ditetapkan ulang ke pengguna secara acak untuk setiap eksperimen, termasuk eksperimen duplikat.

  7. Di bagian Variasi, ketik pesan yang akan dikirim ke grup kontrol di kolom Masukkan teks pesan. Untuk tidak mengirim pesan ke grup kontrol, kosongkan kolom ini.

  8. (Opsional) Untuk menambahkan lebih dari satu variasi pada eksperimen Anda, klik Tambahkan Variasi. Secara default, eksperimen memiliki satu grup kontrol dan satu variasi.

  9. (Opsional) Masukkan nama untuk setiap variasi dalam eksperimen Anda guna mengganti nama Variasi A, Variasi B, dll.

  10. Tentukan metrik tujuan untuk eksperimen Anda yang akan digunakan saat mengevaluasi variasi eksperimen, bersama dengan metrik tambahan yang diinginkan dari daftar drop-down. Metrik ini mencakup tujuan bawaan (interaksi, pembelian, pendapatan, retensi, dll.), Peristiwa konversi Analytics, dan peristiwa Analytics lainnya.

  11. Pilih opsi untuk pesan Anda:

    • Tanggal pengiriman: Pilih Kirim Sekarang untuk segera meluncurkan eksperimen atau Kirim Nanti untuk menentukan waktu peluncuran eksperimen di masa mendatang.
    • Opsi lanjutan: Guna memilih opsi lanjutan untuk semua notifikasi yang disertakan dalam eksperimen Anda, perluas Opsi lanjutan, lalu ubah salah satu opsi pesan yang tertera.
  12. Klik Tinjau untuk menyimpan eksperimen Anda.

Anda dapat melakukan maksimum 100 eksperimen per project, yang dapat terdiri dari hingga 24 eksperimen yang sedang berjalan, dengan eksperimen lainnya sebagai draf atau selesai.

Memvalidasi eksperimen di perangkat uji

Setiap instalasi aplikasi Firebase memiliki token ID instance (atau token pendaftaran) yang terkait dengannya. Anda dapat menggunakan token ini untuk menguji varian eksperimen tertentu pada perangkat uji tempat aplikasi Anda terinstal. Untuk memvalidasi eksperimen di perangkat uji, lakukan langkah berikut:

  1. Dapatkan token ID instance sebagai berikut:

    Swift

    InstanceID.instanceID().instanceID { (result, error) in
      if let error = error {
        print("Error fetching remote instance ID: \(error)")
      } else if let result = result {
        print("Remote instance ID token: \(result.token)")
        self.instanceIDTokenMessage.text  = "Remote InstanceID token: \(result.token)"
      }
    }
    

    Objective-C

    [[FIRInstanceID instanceID] instanceIDWithHandler:^(FIRInstanceIDResult * _Nullable result,
                                                        NSError * _Nullable error) {
      if (error != nil) {
        NSLog(@"Error fetching remote instance ID: %@", error);
      } else {
        NSLog(@"Remote instance ID token: %@", result.token);
        NSString* message =
          [NSString stringWithFormat:@"Remote InstanceID token: %@", result.token];
        self.instanceIDTokenMessage.text = message;
      }
    }];
    

    Java

    FirebaseInstanceId.getInstance().getInstanceId()
            .addOnCompleteListener(new OnCompleteListener<InstanceIdResult>() {
                @Override
                public void onComplete(@NonNull Task<InstanceIdResult> task) {
                    Log.d("IID_TOKEN", task.getResult().getToken());
                }
            });

    Kotlin+KTX

    FirebaseInstanceId.getInstance().instanceId
            .addOnSuccessListener { result ->
                Log.d("IID_TOKEN", result.token)
            }

    C++

    firebase::InitResult init_result;
    auto* instance_id_object = firebase::instance_id::InstanceId::GetInstanceId(
        firebase::App::GetInstance(), &init_result);
    instance_id_object->GetToken().OnCompletion(
        [](const firebase::Future<std::string>& future) {
          if (future.status() == kFutureStatusComplete &&
              future.error() == firebase::instance_id::kErrorNone) {
            printf("Instance ID Token %s\n", future.result()->c_str());
          }
        });
    

    Unity

    Firebase.InstanceId.FirebaseInstanceId.DefaultInstance.GetTokenAsync().ContinueWith(
      task => {
        if (!(task.IsCanceled || task.IsFaulted) && task.IsCompleted) {
          UnityEngine.Debug.Log(System.String.Format("Instance ID Token {0}", task.Result));
        }
      });
    
  2. Pada menu navigasi Firebase console, klik Pengujian A/B.
  3. Klik Draf, lalu klik judul eksperimen.
  4. Pada bagian heading Ringkasan eksperimen, klik Detail.
  5. Klik Kelola perangkat uji, lalu masukkan token ID instance untuk perangkat uji dan pilih varian eksperimen untuk dikirim ke perangkat uji tersebut.
  6. Jalankan aplikasi dan pastikan varian yang dipilih diterima di perangkat uji.

Untuk mempelajari token ID instance lebih lanjut, baca bagian FIRInstanceID (iOS) atau FirebaseInstanceId (Android).

Mengelola eksperimen

Baik membuat eksperimen dengan Remote Config maupun Notifications composer, maupun Firebase In-App Messaging, Anda dapat memvalidasi dan memulai eksperimen, memantau eksperimen saat dijalankan, dan menambah jumlah pengguna yang disertakan dalam eksperimen yang sedang berjalan.

Saat eksperimen selesai, Anda dapat mencatat setelan yang digunakan oleh varian dominan, lalu meluncurkan setelan tersebut ke semua pengguna. Atau, Anda dapat menjalankan eksperimen lain.

Memulai eksperimen

  1. Di menu navigasi Firebase console, luaskan Grow, lalu klik Pengujian A/B.
  2. Klik Draf, lalu klik judul eksperimen.
  3. Untuk memvalidasi bahwa aplikasi Anda memiliki pengguna yang akan disertakan ke dalam eksperimen, periksa jumlah yang lebih besar dari 0% di bagian Penargetan dan distribusi (misalnya, 1% pengguna yang cocok dengan kriteria).
  4. Untuk mengubah eksperimen, klik Edit.
  5. Untuk memulai eksperimen, klik Mulai Eksperimen. Anda dapat menjalankan hingga 24 eksperimen per project sekaligus.

Memantau eksperimen

Setelah eksperimen berjalan beberapa lama, Anda dapat memeriksa progresnya dan melihat seperti apa hasilnya bagi pengguna yang berpartisipasi dalam eksperimen Anda sejauh ini.

  1. Di menu navigasi Firebase console, klik Grow, lalu klik Pengujian A/B.
  2. Klik Berjalan, lalu klik judul eksperimen. Di halaman ini, Anda dapat melihat berbagai statistik yang terkait dengan eksperimen Anda yang sedang berjalan, termasuk metrik sasaran dan metrik lainnya. Untuk setiap metrik, tersedia informasi berikut:

    • Penyempurnaan: Ukuran peningkatan metrik untuk varian tertentu dibandingkan dengan suatu tolok ukur (atau grup kontrol). Dihitung dengan membandingkan rentang nilai untuk varian dengan rentang nilai untuk tolok ukur.
    • Kemungkinan memiliki performa lebih baik dari tolok ukur: Perkiraan kemungkinan bahwa varian tertentu akan lebih baik daripada tolok ukur untuk metrik yang dipilih.
    • Kemungkinan untuk menjadi varian terbaik: Perkiraan kemungkinan bahwa varian tertentu akan lebih baik daripada varian lain untuk metrik yang dipilih.
    • Nilai per pengguna: Didasarkan pada hasil eksperimen, ini adalah rentang perkiraan di mana nilai metrik akan berada sepanjang waktu.
    • Nilai total: Nilai kumulatif yang diamati untuk grup kontrol atau varian. Nilai ini digunakan untuk mengukur performa setiap varian eksperimen dan untuk menghitung Peningkatan, Rentang nilai, Kemungkinan untuk mengalahkan yang asli, serta Kemungkinan untuk menjadi varian terbaik. Bergantung pada metrik yang diukur, kolom ini mungkin diberi label "Durasi per pengguna", "Rasio retensi", atau "Rasio konversi".
  3. Untuk menambah jumlah pengguna yang disertakan dalam eksperimen, klik Tingkatkan Distribusi, lalu pilih peningkatan persentase untuk menambahkan lebih banyak pengguna yang memenuhi syarat ke eksperimen tersebut.

  4. Setelah eksperimen Anda berjalan untuk sementara waktu (setidaknya 24 jam), data pada halaman ini menunjukkan varian mana, jika ada, yang merupakan varian "unggulan". Beberapa pengukuran disertai dengan diagram batang yang menyajikan data dalam format visual.

Meluncurkan eksperimen ke semua pengguna

Setelah eksperimen berjalan cukup lama sehingga muncul varian "unggulan", atau varian dominan, untuk metrik sasaran, Anda dapat meluncurkan eksperimen ke 100% pengguna. Dengan demikian, Anda dapat memilih varian yang akan dipublikasikan ke semua pengguna di ke depannya. Meskipun eksperimen Anda belum menghasilkan varian dominan, Anda tetap dapat memilih untuk meluncurkan satu varian ke semua pengguna.

  1. Di menu navigasi Firebase console, klik Grow, lalu klik Pengujian A/B.
  2. Klik Selesai atau Berjalan, klik eksperimen yang ingin diluncurkan ke semua pengguna, klik menu konteks (), lalu klik Luncurkan varian.
  3. Luncurkan eksperimen Anda ke semua pengguna dengan melakukan salah satu hal berikut:

    • Untuk eksperimen yang menggunakan Notifications Composer, gunakan dialog Luncurkan pesan untuk mengirim pesan ke pengguna target lain yang bukan merupakan bagian eksperimen.
    • Untuk eksperimen Remote Config, gunakan dialog tersebut untuk menentukan parameter value Remote Config mana yang akan diubah untuk semua pengguna.
    • Untuk eksperimen In-App Messaging, gunakan dialog untuk menentukan varian mana yang perlu diluncurkan sebagai kampanye In-App Messaging mandiri. Setelah dipilih, Anda akan dialihkan ke layar penulisan FIAM untuk melakukan perubahan apa pun (jika diperlukan) sebelum memublikasikan.

Memperluas eksperimen

Jika eksperimen Anda tidak melibatkan cukup pengguna untuk Pengujian A/B agar bisa mengumumkan varian dominan, Anda dapat meningkatkan distribusi eksperimen untuk menjangkau persentase basis pengguna aplikasi yang lebih besar.

  1. Di menu navigasi Firebase console, klik Grow, lalu klik Pengujian A/B.
  2. Klik Berjalan, arahkan kursor ke eksperimen, klik menu konteks (), lalu klik Tingkatkan Distribusi.
  3. Konsol akan menampilkan dialog dengan opsi untuk meningkatkan persentase pengguna yang saat ini disertakan dalam eksperimen yang sedang berjalan. Masukkan angka yang lebih besar daripada persentase saat ini, lalu klik Kirim. Eksperimen akan dikirim ke pengguna sesuai persentase yang Anda tentukan.

Menduplikasi atau menghentikan eksperimen

  1. Di menu navigasi Firebase console, klik Grow, lalu klik Pengujian A/B.
  2. Klik Selesai atau Berjalan, arahkan kursor ke eksperimen, klik menu konteks (), lalu klik Duplikasikan atau Hentikan.

Penargetan pengguna

Anda bisa menargetkan pengguna untuk disertakan dalam eksperimen Anda menggunakan kriteria penargetan pengguna berikut.

Kriteria penargetan Operator    Nilai Catatan
Versi berisi,
tidak berisi,
sama persis,
berisi ekspresi reguler
Masukkan nilai untuk satu atau beberapa versi aplikasi yang ingin Anda sertakan dalam eksperimen.

Bila menggunakan salah satu operator berisi, tidak berisi, atau sama persis, Anda dapat memberikan daftar nilai yang dipisah koma.

Jika menggunakan operator berisi ekspresi reguler, Anda dapat membuat ekspresi reguler dalam format RE2. Ekspresi reguler Anda dapat cocok dengan semua atau sebagian dari string versi target. Anda juga dapat menggunakan tanda ^ dan $ untuk mencocokkan bagian awal, akhir, atau keseluruhan string target.

Audiens pengguna mencakup semua,
imencakup setidaknya salah satu dari,
tidak mencakup semua dari,
tidak mencakup setidaknya salah satu dari
Pilih satu atau beberapa audiens Analytics untuk menargetkan pengguna yang mungkin disertakan dalam eksperimen Anda.  
Properti pengguna Untuk teks:
berisi,
tidak berisi,
sama persis,
berisi ekspresi reguler

Untuk angka:
<, ≤, =, ≥, >
Properti pengguna Analytics digunakan untuk memilih pengguna yang mungkin disertakan dalam eksperimen, dengan serangkaian opsi untuk memilih nilai properti pengguna.

Di klien yang digunakan, Anda dapat menetapkan hanya nilai string untuk properti pengguna. Untuk kondisi yang menggunakan operator numerik, layanan Remote Config akan mengonversi nilai properti pengguna yang terkait menjadi bilangan bulat/desimal.
Jika menggunakan operator berisi ekspresi reguler, Anda dapat membuat ekspresi reguler dalam format RE2. Ekspresi reguler Anda dapat cocok dengan semua atau sebagian dari string versi target. Anda juga dapat menggunakan tanda ^ dan $ untuk mencocokkan bagian awal, akhir, atau keseluruhan string target.
Prediksi T/A Targetkan grup pengguna yang ditetapkan oleh Firebase Predictions—misalnya, pengguna yang mungkin akan berhenti menggunakan aplikasi Anda, atau pengguna yang mungkin akan melakukan pembelian dalam aplikasi. Pilih salah satu nilai yang ditentukan oleh fitur Firebase Predictions. Jika tidak ada opsi yang tersedia, Anda mungkin perlu menggunakan Firebase Predictions dengan membuka bagian Predictions pada Firebase console.  
Negara perangkat T/A Satu atau beberapa negara atau wilayah yang digunakan untuk memilih pengguna yang mungkin disertakan dalam eksperimen.  
Bahasa perangkat T/A Satu atau beberapa bahasa dan lokal yang digunakan untuk memilih pengguna yang mungkin disertakan dalam eksperimen. Kriteria penargetan ini hanya tersedia untuk Remote Config.
Pertama dibuka lebih dari
kurang dari
antara
Menargetkan pengguna berdasarkan saat pertama kali mereka membuka aplikasi Anda, yang ditentukan dalam hari. Kriteria penargetan ini hanya tersedia untuk Firebase In-App Messaging.
Interaksi terakhir dengan aplikasi lebih dari
kurang dari
antara
Menargetkan pengguna berdasarkan terakhir kali mereka berinteraksi dengan aplikasi Anda, yang ditentukan dalam hari. Kriteria penargetan ini hanya tersedia untuk Firebase In-App Messaging.

Metrik Pengujian A/B

Saat Anda membuat eksperimen, Anda memilih metrik yang digunakan untuk membandingkan varian eksperimen. Anda juga dapat memilih metrik lain untuk dilacak guna membantu Anda agar lebih memahami setiap varian eksperimen dan mendeteksi efek samping yang signifikan (seperti kerusakan aplikasi). Tabel berikut memberikan detail tentang cara perhitungan metrik sasaran dan metrik lainnya.

Metrik sasaran

Metrik Deskripsi
Interaksi pengguna harian Rata-rata waktu yang dihabiskan oleh pengguna dalam menggunakan aplikasi per hari.
Retensi (1 hari) Jumlah pengguna yang kembali ke aplikasi Anda setiap harinya.
Retensi (2-3 hari) Jumlah pengguna yang kembali ke aplikasi Anda dalam 2-3 hari.
Retensi (4-7 hari) Jumlah pengguna yang kembali ke aplikasi Anda dalam 4-7 hari.
Retensi (8-14 hari) Jumlah pengguna yang kembali ke aplikasi Anda dalam 8-14 hari.
Retensi (15+ hari) Jumlah pengguna yang kembali ke aplikasi Anda dalam 15 hari atau lebih sejak terakhir menggunakannya.
Notifikasi terbuka Melacak apakah pengguna membuka notifikasi yang dikirim Notifications Composer.
Pendapatan pembelian Nilai gabungan untuk semua peristiwa ecommerce_purchase dan in_app_purchase.
Estimasi pendapatan AdMob Estimasi pendapatan dari AdMob.
Estimasi pendapatan total Nilai gabungan untuk pembelian dan estimasi pendapatan AdMob.
first_open Peristiwa Analytics yang terpicu saat pengguna pertama kali membuka aplikasi setelah menginstal atau menginstal ulang. Digunakan sebagai bagian dari funnel konversi.
notification_open Peristiwa Analytics yang terpicu saat pengguna membuka notifikasi yang dikirim Notifications composer. Digunakan sebagai bagian dari funnel konversi.

Metrik lainnya

Metrik Deskripsi
Pengguna bebas error Persentase pengguna yang tidak mengalami error di aplikasi Anda yang terdeteksi Firebase Crashlytics SDK selama eksperimen berlangsung.
notification_dismiss Peristiwa Analytics yang terpicu saat notifikasi yang dikirim Notifications Composer ditolak (khusus Android).
notification_receive Peristiwa Analytics yang terpicu saat notifikasi yang dikirim Notifications Composer diterima saat aplikasi berada di background (khusus Android).
os_update Peristiwa Analytics yang melacak kapan sistem operasi perangkat diupdate ke versi baru. Untuk mempelajari lebih lanjut, baca artikel Peristiwa yang dikumpulkan secara otomatis.
screen_view Peristiwa Analytics yang melacak layar yang ditampilkan dalam aplikasi Anda. Untuk mempelajari lebih lanjut, baca artikel Melacak Tampilan Layar.
session_start Peristiwa Analytics yang menghitung sesi pengguna di aplikasi Anda. Untuk mempelajari lebih lanjut, baca artikel Peristiwa yang dikumpulkan secara otomatis.
user_engagement Peristiwa Analytics yang terpicu secara berkala saat aplikasi Anda berada di latar depan. Untuk mempelajari lebih lanjut, lihat Peristiwa yang dikumpulkan secara otomatis.

Ekspor data BigQuery

Anda dapat mengakses semua data analisis yang terkait dengan Pengujian A/B di BigQuery. Dengan BigQuery, Anda dapat menganalisis data menggunakan BigQuery SQL, mengekspornya ke penyedia cloud lain, atau menggunakan data tersebut untuk model ML kustom Anda. Baca artikel Menautkan BigQuery ke Firebase untuk mengetahui informasi selengkapnya.

Untuk mendapatkan manfaat penuh dari ekspor data BigQuery, project Firebase harus menggunakan paket harga bayar sesuai penggunaan "Blaze". BigQuery menagih biaya untuk penyimpanan data, streaming insert, dan pembuatan kueri data. Memuat dan mengekspor data tidak ditagih biaya. Lihat Harga BigQuery, atau sandbox BigQuery untuk mengetahui informasi selengkapnya.

Untuk memulai, pastikan project Firebase Anda sudah ditautkan ke BigQuery. Pilih Setelan > Setelan Project dari menu navigasi sebelah kiri, lalu pilih Integrasi > BigQuery > Tautkan. Halaman ini menampilkan opsi untuk melakukan ekspor data analisis BiqQuery untuk semua aplikasi dalam project tersebut.

Untuk membuat kueri data analisis eksperimen:

  1. Dari daftar eksperimen aktif, pilih eksperimen yang diinginkan untuk membuka halaman hasil eksperimen.
  2. Dari menu konteks di panel Ringkasan eksperimen, pilih Lihat di BigQuery (opsi ini tidak tersedia untuk project di paket gratis) .

    Langkah ini akan membuka komposer kueri konsol BigQuery dengan kueri sampel eksperimen yang dibuat secara otomatis yang dimuat sebelumnya untuk ditinjau. Dalam kueri ini, eksperimen Anda dienkode sebagai properti pengguna dengan nama eksperimen dalam kunci dan varian eksperimen dalam nilai.

  3. Di komposer kueri, pilih Jalankan kueri. Hasil akan ditampilkan di panel bagian bawah.

Perlu diperhatikan bahwa karena data Firebase di BigQuery hanya diupdate sekali sehari, data yang tersedia di halaman eksperimen mungkin lebih baru daripada data yang tersedia di konsol BigQuery.