Membuat Eksperimen In-App Messaging dengan A/B Testing

Ketika mencoba berinteraksi dengan pengguna atau memulai kampanye pemasaran baru, pastikan prosesnya berjalan dengan baik. Pengujian A/B dapat membantu Anda menentukan kata-kata dan penyajian yang optimal dengan menguji beberapa varian pesan pada segmen tertentu basis pengguna Anda. Apa pun sasaran Anda, baik untuk mengoptimalkan retensi maupun konversi atas sebuah penawaran, pengujian A/B dapat menjalankan analisis statistik guna menentukan apakah performa suatu varian pesan mengalahkan dasar pengukuran untuk tujuan yang dipilih.

Untuk melakukan pengujian A/B pada variasi fitur dengan dasar pengukuran, lakukan hal berikut:

  1. Buat eksperimen.
  2. Lakukan validasi eksperimen di perangkat uji.
  3. Kelola eksperimen.

Membuat eksperimen

Eksperimen yang menggunakan Firebase In-App Messaging dapat digunakan untuk mengevaluasi beberapa varian suatu pesan dalam aplikasi.

  1. Login ke Firebase console dan pastikan bahwa Google Analytics sudah diaktifkan di project Anda sehingga eksperimen memiliki akses ke data Analytics.

    Jika tidak mengaktifkan Google Analytics saat membuat project, Anda dapat mengaktifkannya di tab Integrations, yang dapat diakses menggunakan > Project settings di Firebase console.

  2. Di bagian Engage pada menu navigasi Firebase console, klik A/B Testing.

  3. Klik Create experiment, lalu pilih In-App Messaging saat diminta memasukkan layanan yang ingin digunakan dalam eksperimen.

  4. Atau, pada menu navigasi Firebase console, luaskan Engage, lalu klik In-App Messaging. Lalu klik New experiment.

  5. Masukkan Name dan Description opsional untuk eksperimen Anda, lalu klik Next.

  6. Isi kolom Targeting, yang diawali dengan memilih aplikasi yang menggunakan eksperimen Anda. Anda juga dapat menargetkan subkumpulan pengguna untuk disertakan dalam eksperimen dengan memilih opsi yang menyertakan hal berikut:

    • Version: Satu atau beberapa versi aplikasi Anda
    • User audience: Audience Analytics yang digunakan untuk menargetkan pengguna yang mungkin disertakan dalam eksperimen
    • User property: Satu atau beberapa properti pengguna Analytics untuk memilih pengguna yang mungkin disertakan dalam eksperimen
    • Country/Region: Satu atau beberapa negara atau wilayah untuk memilih pengguna yang mungkin disertakan dalam eksperimen
    • Device language: Satu atau beberapa bahasa dan lokalitas yang digunakan untuk memilih pengguna yang mungkin disertakan dalam eksperimen
    • First open: Menargetkan pengguna berdasarkan waktu pertama kali mereka membuka aplikasi Anda
    • Last app engagement: Menargetkan pengguna berdasarkan waktu terakhir kali mereka berinteraksi dengan aplikasi Anda
  7. Tetapkan Percentage of target users: Pilih persentase basis pengguna aplikasi Anda, yang cocok dengan kriteria yang ditetapkan dalam Target users. Bagi kriteria ini secara merata antara dasar pengukuran 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.

  8. Di bagian Variants, konfigurasikan pesan dalam aplikasi dasar pengukuran yang akan dikirim ke grup dasar pengukuran menggunakan antarmuka desain pesan yang Anda gunakan untuk kampanye pesan dalam aplikasi biasa.

  9. Untuk menambahkan varian ke eksperimen, klik Add variant. Secara default, eksperimen memiliki satu dasar pengukuran dan satu varian.

  10. (opsional) Masukkan nama yang lebih deskriptif untuk setiap varian.

  11. (opsional) Di bagian atas Variants, klik tombol Compare variants untuk membandingkan satu varian pesan lainnya secara berdampingan dengan pesan dasar pengukuran.

  12. Tentukan metrik sasaran untuk eksperimen Anda yang akan digunakan saat mengevaluasi varian eksperimen, bersama dengan metrik tambahan yang ingin digunakan dari daftar. Metrik ini mencakup tujuan bawaan (interaksi, pembelian, pendapatan, retensi, dll.), Peristiwa konversi Analytics, dan peristiwa Analytics lainnya.

  13. Konfigurasi penjadwalan untuk eksperimen:

    • Tetapkan tanggal Start dan End untuk eksperimen.
    • Tetapkan cara pesan dalam aplikasi dipicu di semua varian.
  14. Klik Review untuk menyimpan eksperimen Anda.

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

Memvalidasi eksperimen di perangkat uji

Untuk setiap penginstalan Firebase, Anda dapat mengambil token autentikasi penginstalan yang terkait dengannya. Anda dapat menggunakan token ini untuk menguji varian eksperimen tertentu di perangkat uji yang menginstal aplikasi Anda. Untuk memvalidasi eksperimen di perangkat uji, lakukan langkah berikut:

  1. Dapatkan token autentikasi penginstalan sebagai berikut:

    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+KTX

    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")
            }
        }
  2. Di menu navigasi Firebase console, klik A/B Testing.
  3. Klik Draft (dan/atau Running untuk eksperimen Remote Config), arahkan kursor ke eksperimen Anda, klik menu konteks (), lalu klik Manage test devices.
  4. Masukkan token autentikasi penginstalan Firebase untuk perangkat uji dan pilih varian eksperimen untuk dikirim ke perangkat uji tersebut.
  5. Jalankan aplikasi dan pastikan varian yang dipilih diterima di perangkat uji.

Untuk mempelajari lebih lanjut tentang penginstalan Firebase, baca artikel Mengelola penginstalan Firebase.

Mengelola eksperimen

Baik menggunakan Remote Config, Notifications Composer, maupun Firebase In-App Messaging untuk membuat eksperimen, 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 melihat setelan yang digunakan oleh varian dominan, lalu meluncurkan setelan tersebut ke semua pengguna. Atau, Anda dapat menjalankan eksperimen lain.

Memulai eksperimen

  1. Di bagian Engage pada menu navigasi Firebase console, klik A/B Testing.
  2. Klik Draft, lalu klik judul eksperimen.
  3. Untuk memvalidasi bahwa aplikasi Anda memiliki pengguna yang akan disertakan dalam eksperimen, perluas detail draf dan cari angka yang lebih besar dari 0% di bagian Targeting and distribution (misalnya, 1% of users matching the criteria).
  4. Untuk mengubah eksperimen, klik Edit.
  5. Untuk memulai eksperimen, klik Start Experiment. Anda dapat menjalankan hingga 24 eksperimen per project sekaligus.

Memantau eksperimen

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

  1. Di bagian Engage pada menu navigasi Firebase console, klik A/B Testing.
  2. Klik Running, lalu klik atau telusuri judul eksperimen Anda. Di halaman ini, Anda dapat melihat berbagai statistik yang diamati dan dimodelkan tentang eksperimen yang sedang berjalan, termasuk yang berikut:

    • % difference from baseline: Ukuran peningkatan metrik untuk varian tertentu dibandingkan dengan dasar pengukuran. Dihitung dengan membandingkan rentang nilai untuk varian dengan rentang nilai untuk dasar pengukuran.
    • Probability to beat baseline: Perkiraan kemungkinan bahwa varian tertentu akan mengalahkan dasar pengukuran untuk metrik yang dipilih.
    • observed_metric per pengguna: Berdasarkan hasil eksperimen, ini adalah perkiraan rentang nilai metrik yang akan dicapai seiring waktu.
    • Total observed_metric: Nilai kumulatif yang diamati untuk dasar pengukuran atau varian. Nilai ini digunakan untuk mengukur performa setiap varian eksperimen dan untuk menghitung Improvement, Value range, Probability to beat baseline, dan Probability to be the best variant. Bergantung pada metrik yang diukur, kolom ini dapat diberi label "Duration per user", "Revenue per user", "Retention rate", atau "Conversion rate".
  3. Setelah eksperimen berjalan selama beberapa saat (setidaknya 7 hari untuk FCM dan In-App Messaging atau 14 hari untuk Remote Config), data di halaman ini menunjukkan varian "posisi teratas", jika ada. Beberapa hasil pengukuran disertai dengan diagram batang yang menyajikan data dalam format visual.

Meluncurkan eksperimen ke semua pengguna

Setelah eksperimen berjalan cukup lama sehingga muncul varian "posisi teratas", 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 untuk ke depannya. Meskipun eksperimen Anda belum menghasilkan varian dominan, Anda tetap dapat memilih untuk meluncurkan satu varian ke semua pengguna.

  1. Di bagian Engage pada menu navigasi Firebase console, klik A/B Testing.
  2. Klik Completed atau Running, klik eksperimen yang ingin dirilis ke semua pengguna, klik menu konteks () Roll out variant.
  3. Luncurkan eksperimen Anda ke semua pengguna dengan melakukan salah satu hal berikut:

    • Untuk eksperimen yang menggunakan Notifications Composer, gunakan dialog Roll out message untuk mengirim pesan kepada pengguna target lain yang bukan merupakan bagian dari eksperimen.
    • Untuk eksperimen Remote Config, pilih varian untuk menentukan parameter value Remote Config yang akan diubah. Kriteria penargetan yang ditentukan saat membuat eksperimen akan ditambahkan sebagai kondisi baru dalam template Anda, untuk memastikan peluncuran hanya memengaruhi pengguna yang ditargetkan oleh eksperimen tersebut. Setelah mengklik Review in Remote Config untuk meninjau perubahan, klik Publish changes untuk menyelesaikan peluncuran.
    • Untuk eksperimen In-App Messaging, gunakan dialog untuk menentukan varian mana yang perlu diluncurkan sebagai kampanye In-App Messaging mandiri. Setelah varian dipilih, Anda akan dialihkan ke layar penulisan FIAM untuk melakukan perubahan apa pun (jika diperlukan) sebelum memublikasikan.

Memperluas cakupan eksperimen

Jika eksperimen Anda tidak mendapatkan cukup pengguna agar A/B Testing bisa mendeklarasikan posisi teratas, Anda dapat memperluas distribusi eksperimen agar menjangkau persentase basis pengguna aplikasi yang lebih besar.

  1. Di bagian Engage pada menu navigasi Firebase console, klik A/B Testing.
  2. Pilih eksperimen yang sedang berjalan yang ingin Anda edit.
  3. Di bagian Experiment overview, klik menu konteks (), lalu klik Edit running experiment.
  4. Dialog Targeting menampilkan opsi untuk meningkatkan persentase pengguna yang saat ini disertakan dalam eksperimen yang sedang berjalan. Pilih angka yang lebih besar daripada persentase saat ini, lalu klik Publish. Eksperimen akan dikirim ke jumlah pengguna yang sesuai dengan persentase yang Anda tentukan.

Menduplikasi atau menghentikan eksperimen

  1. Di bagian Engage pada menu navigasi Firebase console, klik A/B Testing.
  2. Klik Completed atau Running, arahkan kursor ke eksperimen, klik menu konteks (), lalu klik Duplicate experiment atau Stop experiment.

Penargetan pengguna

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

Kriteria penargetan Operator    Nilai Catatan
Version contains,
does not contain,
matches exactly,
contains regex
Masukkan nilai untuk satu atau beberapa versi aplikasi yang ingin Anda sertakan dalam eksperimen.

Jika menggunakan operator contains, does not contain, atau matches exactly, Anda dapat memasukkan beberapa nilai yang dipisahkan dengan koma.

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

User audience(s) includes all of,
includes at least one of,
does not include all of,
does not include at least one of
Pilih satu atau beberapa audience Analytics untuk menargetkan pengguna yang mungkin disertakan dalam eksperimen Anda. Beberapa eksperimen yang menargetkan audiens Google Analytics mungkin memerlukan waktu beberapa hari untuk mengakumulasi data karena data tersebut bergantung pada latensi pemrosesan data Analytics. Kemungkinan besar Anda mengalami penundaan ini dengan pengguna baru, yang biasanya terdaftar menjadi audience yang memenuhi syarat dalam waktu 24-48 jam setelah pembuatan, atau untuk audience yang baru dibuat.
User property Untuk teks:
contains,
does not contain,
exactly matches,
contains regex

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 sesuai menjadi bilangan bulat/float.
Jika menggunakan operator contains regex, Anda dapat membuat ekspresi reguler dalam format RE2. Ekspresi reguler dapat cocok dengan keseluruhan atau sebagian dari string versi target. Anda juga dapat menggunakan anchor ^ dan $ untuk mencocokkan bagian awal, akhir, atau keseluruhan string target.
Country/Region T/A Satu atau beberapa negara atau wilayah yang digunakan untuk memilih pengguna yang mungkin disertakan dalam eksperimen.  
Languages T/A Satu atau beberapa bahasa dan lokalitas yang digunakan untuk memilih pengguna yang mungkin disertakan dalam eksperimen.  
First open More than
Less than
Between
Menargetkan pengguna berdasarkan waktu pertama kali mereka membuka aplikasi Anda, dalam hari.
Last app engagement More than
Less than
Between
Menargetkan pengguna berdasarkan waktu terakhir kali mereka berinteraksi dengan aplikasi Anda, dalam hari.

A/B Testing metrik

Saat membuat eksperimen, Anda memilih metrik utama atau sasaran, yang digunakan untuk menentukan varian unggul. Anda juga harus melacak metrik lain untuk membantu lebih memahami performa setiap varian eksperimen dan melacak tren penting yang mungkin berbeda untuk setiap varian, seperti retensi pengguna, stabilitas aplikasi, dan pendapatan pembelian dalam aplikasi. Anda dapat melacak hingga lima metrik non-sasaran dalam eksperimen.

Misalnya, Anda telah menambahkan pembelian dalam aplikasi baru ke aplikasi dan ingin membandingkan keefektifan dua pesan "saran tindak lanjut" yang berbeda. Dalam hal ini, Anda mungkin memutuskan untuk menetapkan Purchase revenue sebagai metrik sasaran karena Anda ingin varian yang unggul mewakili notifikasi yang menghasilkan pendapatan pembelian aplikasi tertinggi. Dan karena Anda juga ingin melacak varian mana yang menghasilkan lebih banyak konversi dan pengguna yang dipertahankan, Anda dapat menambahkan hal berikut di Other metrics to track:

  • Estimated total revenue untuk melihat perbedaan total pembelian dalam aplikasi dan pendapatan iklan Anda di antara kedua varian tersebut
  • Retention (1 day), Retention (2-3 days), Retention (4-7 days) untuk melacak retensi pengguna harian/mingguan

Tabel berikut memberikan detail tentang cara perhitungan metrik sasaran dan metrik lainnya.

Metrik sasaran

Metrik Deskripsi
Crash-free users Persentase pengguna yang tidak mengalami error di aplikasi Anda yang terdeteksi Firebase Crashlytics SDK selama eksperimen berlangsung.
Estimated ad revenue Estimasi penghasilan iklan.
Estimated total revenue Nilai gabungan untuk pembelian dan estimasi pendapatan iklan.
Purchase revenue Nilai gabungan untuk semua peristiwa purchase dan in_app_purchase.
Retention (1 day) Jumlah pengguna yang kembali ke aplikasi Anda setiap hari.
Retention (2-3 days) Jumlah pengguna yang kembali ke aplikasi Anda dalam 2-3 hari.
Retention (4-7 days) Jumlah pengguna yang kembali ke aplikasi Anda dalam 4-7 hari.
Retention (8-14 days) Jumlah pengguna yang kembali ke aplikasi Anda dalam 8-14 hari.
Retention (15+ days) Jumlah pengguna yang kembali ke aplikasi Anda dalam 15 hari atau lebih sejak terakhir menggunakannya.
first_open Peristiwa Analytics yang terpicu saat pengguna pertama kali membuka aplikasi setelah menginstal atau menginstal ulang. Digunakan sebagai bagian dari funnel konversi.

Metrik lainnya

Metrik Deskripsi
notification_dismiss Peristiwa Analytics yang terpicu saat notifikasi yang dikirim Notifications Composer ditutup (khusus Android).
notification_receive Peristiwa Analytics yang terpicu saat notifikasi yang dikirim Notifications Composer diterima saat aplikasi berada di latar belakang (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 dilihat dalam aplikasi Anda. Untuk mempelajari lebih lanjut, lihat Melacak Tampilan Layar.
session_start Peristiwa Analytics yang menghitung sesi pengguna di aplikasi Anda. Untuk mempelajari lebih lanjut, lihat Peristiwa yang dikumpulkan secara otomatis.