Membuat Eksperimen Messaging dengan Pengujian A/B

Ketika mencoba berinteraksi dengan pengguna atau memulai kampanye pemasaran baru, Anda perlu memastikan bahwa Anda melakukannya dengan benar. 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 Notifications composer dapat digunakan untuk mengevaluasi beberapa variasi pada sebuah pesan notifikasi.

  1. Login ke Firebase console dan pastikan bahwa Google Analytics 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 Notifications saat diminta memasukkan layanan yang ingin Anda gunakan untuk bereksperimen.

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

  5. 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
  6. 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.

  7. Di bagian Variants, ketik pesan yang akan dikirim ke grup dasar pengukuran di kolom Enter message text. Untuk tidak mengirim pesan ke grup dasar pengukuran, kosongkan kolom ini.

  8. (Opsional) Untuk menambahkan lebih dari satu varian pada eksperimen Anda, klik Add Variant. Secara default, eksperimen memiliki satu dasar pengukuran dan satu varian.

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

  10. Tentukan metrik sasaran untuk eksperimen Anda yang akan digunakan saat mengevaluasi varian 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:

    • Delivery date: Pilih Send now untuk langsung meluncurkan eksperimen setelah disimpan, atau Scheduled untuk menentukan waktu peluncuran eksperimen di masa mendatang.
    • Advanced options: Guna memilih opsi lanjutan untuk semua notifikasi yang disertakan dalam eksperimen Anda, perluas Advanced options, lalu ubah salah satu opsi pesan yang tertera.
  12. 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 pendaftaran FCM yang terkait dengannya. Anda dapat menggunakan token ini untuk menguji varian eksperimen tertentu di perangkat uji tempat aplikasi Anda terinstal. Untuk memvalidasi eksperimen di perangkat uji, lakukan langkah berikut:

  1. Dapatkan token pendaftaran FCM sebagai berikut:

    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+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. Di menu navigasi Firebase console, klik A/B Testing.
  3. Klik Draft, arahkan kursor ke eksperimen, klik menu konteks (), lalu klik Manage test devices
  4. Masukkan token FCM 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.

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 Draf, 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 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 () Luncurkan varian.
  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 audience 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.

Metrik A/B Testing

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.

Ekspor data BigQuery

Selain melihat data eksperimen A/B Testing di Firebase console, Anda dapat memeriksa dan menganalisis data eksperimen di BigQuery. Meskipun A/B Testing tidak memiliki tabel BigQuery yang terpisah, keanggotaan eksperimen dan varian disimpan di setiap peristiwa Google Analytics dalam tabel peristiwa Analytics.

Properti pengguna yang berisi informasi eksperimen adalah bentuk userProperty.key like "firebase_exp_%" atau userProperty.key = "firebase_exp_01" dengan 01 sebagai ID eksperimen, dan userProperty.value.string_value berisi indeks (berbasis nol) dari varian eksperimen.

Anda dapat menggunakan properti pengguna eksperimen ini untuk mengekstrak data eksperimen. Hal ini memberi Anda kemampuan untuk menyesuaikan hasil eksperimen dengan berbagai cara dan memverifikasi hasil A/B Testing secara independen.

Untuk memulai, selesaikan hal-hal berikut seperti yang dijelaskan dalam panduan ini:

  1. Mengaktifkan BigQuery Export untuk Google Analytics di Firebase console
  2. Mengakses data A/B Testing menggunakan BigQuery
  3. Mempelajari contoh kueri

Mengaktifkan BigQuery Export untuk Google Analytics di Firebase console

Jika Anda menggunakan paket Spark, Anda dapat menggunakan sandbox BigQuery untuk mengakses BigQuery tanpa biaya, dengan tunduk pada batas Sandbox. Lihat Harga dan sandbox BigQuery untuk mengetahui informasi selengkapnya.

Pertama, pastikan Anda mengekspor data Analytics ke BigQuery:

  1. Buka tab Integrations, yang dapat diakses menggunakan > Project settings di Firebase console.
  2. Jika Anda sudah menggunakan BigQuery dengan layanan Firebase lainnya, klik Manage. Jika sudah pernah menyetelnya, klik Link.
  3. Tinjau About Linking Firebase to BigQuery, lalu klik Next.
  4. Di bagian Configure integration, aktifkan tombol Google Analytics.
  5. Pilih wilayah dan pilih setelan ekspor.

  6. Klik Link to BigQuery.

Bergantung pada cara Anda memilih untuk mengekspor data, mungkin perlu waktu hingga satu hari sampai tabel tersedia. Untuk mengetahui informasi lebih lanjut tentang cara mengekspor data project ke BigQuery, baca Mengekspor data project ke BigQuery.

Mengakses data A/B Testing di BigQuery

Sebelum membuat kueri data untuk eksperimen tertentu, Anda harus mendapatkan beberapa atau semua hal berikut untuk digunakan dalam kueri:

  • Experiment ID: Anda bisa mendapatkannya dari URL halaman Experiment overview. Misalnya, jika URL Anda terlihat seperti https://console.firebase.google.com/project/my_firebase_project/config/experiment/results/25, ID eksperimen adalah 25.
  • Google Analytics property ID: Ini adalah ID properti Google Analytics 9 digit Anda. Anda dapat menemukannya di Google Analytics; ID tersebut juga muncul di BigQuery saat Anda meluaskan nama project untuk menampilkan nama tabel peristiwa Google Analytics (project_name.analytics_000000000.events).
  • Experiment date: Untuk membuat kueri yang lebih cepat dan efisien, sebaiknya batasi kueri Anda ke partisi tabel peristiwa harian Google Analytics yang berisi data eksperimen, yaitu tabel yang diidentifikasi dengan akhiran YYYYMMDD. Jadi, jika eksperimen Anda berjalan dari 2 Februari 2024 hingga 2 Mei 2024, tentukan _TABLE_SUFFIX between '20240202' AND '20240502'. Untuk contohnya, lihat Memilih nilai eksperimen tertentu.
  • Event names: Biasanya, ini sesuai dengan metrik sasaran yang Anda konfigurasi di eksperimen. Misalnya, peristiwa in_app_purchase, peristiwa ad_impression, atau user_retention.

Setelah Anda mengumpulkan informasi yang diperlukan untuk menghasilkan kueri:

  1. Buka BigQuery di Konsol Google Cloud.
  2. Pilih project Anda, lalu pilih Create SQL query.
  3. Tambahkan kueri Anda. Untuk contoh kueri yang akan dijalankan, lihat Mempelajari contoh kueri.
  4. Klik Run.

Membuat kueri data eksperimen menggunakan kueri Firebase console yang dibuat secara otomatis

Jika Anda menggunakan paket Blaze, halaman Experiment overview menyediakan contoh kueri yang menampilkan nama eksperimen, varian, nama peristiwa, dan jumlah peristiwa untuk eksperimen yang sedang Anda lihat.

Untuk mendapatkan dan menjalankan kueri yang dibuat secara otomatis:

  1. Dari Firebase console, buka A/B Testing dan pilih eksperimen A/B Testing yang ingin Anda buat kuerinya untuk membuka Experiment overview.
  2. Dari menu Opsi, di bawah BigQuery integration, pilih Query experiment data. Langkah ini akan membuka project Anda di BigQuery dalam konsol Konsol Google Cloud dan memberikan kueri dasar yang dapat digunakan untuk membuat kueri data eksperimen.

Contoh berikut menunjukkan kueri yang dihasilkan untuk eksperimen dengan tiga varian (termasuk dasar pengukuran) yang bernama "Eksperimen sambutan musim dingin". Kueri ini menampilkan nama eksperimen aktif, nama varian, peristiwa unik, dan jumlah peristiwa untuk setiap peristiwa. Perhatikan bahwa builder kueri tidak menentukan nama project Anda di nama tabel, karena kueri akan langsung terbuka di dalam project Anda.

  /*
    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

Untuk contoh kueri tambahan, lanjutkan ke Mempelajari contoh kueri.

Mempelajari contoh kueri

Bagian berikut memberikan contoh kueri yang dapat Anda gunakan untuk mengekstrak data eksperimen A/B Testing dari tabel peristiwa Google Analytics.

Mengekstrak nilai deviasi standar pembelian dan eksperimen dari semua eksperimen

Anda dapat menggunakan data hasil eksperimen untuk memverifikasi hasil Firebase A/B Testing secara independen. Pernyataan BigQuery SQL berikut mengekstrak varian eksperimen, jumlah pengguna unik di setiap varian, dan menjumlahkan total pendapatan dari peristiwa in_app_purchase dan ecommerce_purchase, serta deviasi standar untuk semua eksperimen dalam rentang waktu yang ditentukan sebagai tanggal mulai dan akhir _TABLE_SUFFIX. Anda dapat menggunakan data yang diperoleh dari kueri ini dengan generator data signifikansi statistik untuk uji t satu arah guna memverifikasi bahwa hasil yang diberikan Firebase sesuai dengan analisis Anda.

Untuk informasi selengkapnya tentang cara A/B Testing menghitung inferensi, lihat Menafsirkan hasil pengujian.

  /*
    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;

Memilih nilai eksperimen tertentu

Contoh kueri berikut menggambarkan cara mendapatkan data untuk eksperimen tertentu di BigQuery. Kueri contoh ini menampilkan nama eksperimen, nama varian (termasuk Dasar pengukuran), nama peristiwa, dan jumlah peristiwa.

  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