Bereksperimen dengan strategi monetisasi menggunakan Firebase Predictions

Firebase Predictions memudahkan Anda untuk memberikan pengalaman berbeda kepada pengguna aplikasi berdasarkan hasil prediksi perilaku pengguna. Misalnya, Anda dapat memberikan pengalaman bebas iklan kepada pengguna yang mungkin melakukan pembelian dalam aplikasi di masa mendatang, dan menampilkan iklan kepada pengguna lain. Namun, sebelum Anda menerapkan strategi monetisasi ini secara menyeluruh, penting untuk memastikan bahwa strategi tersebut benar-benar meningkatkan keseluruhan pendapatan aplikasi Anda.

Panduan ini menunjukkan cara mencapai kedua sasaran tersebut menggunakan Firebase Predictions dan Pengujian A/B. Anda akan mengaktifkan strategi monetisasi berbasis iklan untuk pengguna yang diprediksi tidak akan melakukan pembelian dalam aplikasi, dan Anda akan memverifikasi keefektifan dari strategi baru ini.

Sebelum memulai

Sebelum mulai menggunakan prediksi untuk menetapkan kebijakan iklan aplikasi, Anda harus menggunakan Google Analytics for Firebase dalam aplikasi. Secara khusus, Anda harus:

  • Mengaktifkan fitur berbagi data Analytics di Firebase console.
  • Melakukan pencatatan ke dalam log secara tegas atas peristiwa terkait pengeluaran yang tidak secara otomatis dikumpulkan, seperti ecommerce_purchase. (Firebase otomatis akan mencatat peristiwa in_app_purchase ke dalam log untuk pembelian dalam aplikasi yang diproses oleh App Store dan Play Store.) Secara umum, Anda juga sebaiknya mencatat peristiwa lainnya yang relevan untuk aplikasi ke dalam log, guna memaksimalkan data yang tersedia untuk membuat klasifikasi.
  • Memiliki volume data peristiwa yang memadai agar Firebase mampu memberikan prediksi yang berguna. Umumnya, data berupa 10.000 pengguna aktif bulanan, 500 contoh positif, dan 500 contoh negatif sudah mencukupi untuk Firebase Predictions.

Membuat iklan yang dapat dikonfigurasi dari jarak jauh

Pertama-tama, siapkan aplikasi Anda untuk menampilkan atau menyembunyikan iklan yang bergantung pada nilai parameter Remote Config. Dalam langkah-langkah selanjutnya, Anda akan mengonfigurasi Predictions dan Pengujian A/B untuk menetapkan parameter dari jarak jauh berdasarkan berbagai kriteria. Namun untuk saat ini, aplikasi Anda akan selalu menampilkan iklan.

Misalnya, menggunakan AdMob untuk iklan:

  1. Impor SDK Analytics, Remote Config, dan AdMob:

    iOS (Swift)

    Tambahkan SDK ke Podfile Anda:

    pod 'Firebase/Core'
    pod 'Firebase/RemoteConfig'
    pod 'Firebase/AdMob'
    

    Lalu, impor SDK tersebut:

    import Firebase
    

    Android

    implementation 'com.google.firebase:firebase-core:16.0.8'
    implementation 'com.google.firebase:firebase-config:16.4.0'
    implementation 'com.google.firebase:firebase-ads:17.2.0'
    
  2. Lakukan inisialisasi Remote Config dan tetapkan nilai default variabel ads_enabled ke true. Kemudian, Anda akan menyiapkan Predictions dan Pengujian A/B untuk menetapkan variabel ini dari jarak jauh. Namun, dengan menetapkan nilai default di aplikasi, Anda memastikan aplikasi berfungsi dengan benar sebelum variabel yang dikonfigurasi dari jarak jauh diambil.

    iOS (Swift)

    self.remoteConfig = RemoteConfig.remoteConfig()
    self.remoteConfig.setDefaults(["ads_enabled": true])
    

    Java
    Android

    mFirebaseRemoteConfig = FirebaseRemoteConfig.getInstance();
    
    Map<String, Object> remoteConfigDefaults = new HashMap<>();
    remoteConfigDefaults.put("ads_enabled", "true");
    mFirebaseRemoteConfig.setDefaults(remoteConfigDefaults);

    Kotlin
    Android

    firebaseRemoteConfig = FirebaseRemoteConfig.getInstance()
    
    val remoteConfigDefaults = HashMap<String, Any>()
    remoteConfigDefaults["ads_enabled"] = "true"
    firebaseRemoteConfig.setDefaults(remoteConfigDefaults)
  3. Tampilkan atau sembunyikan iklan berdasarkan nilai ads_enabled. Hingga Anda menyiapkan Predictions, nilai ini akan selalu true dan iklan akan selalu ditampilkan.

    iOS (Swift)

    self.remoteConfig.fetch() { (status, error) -> Void in
        if status == .success {
          self.remoteConfig.activateFetched()
        }
    
        // Act on the retrieved parameters
    
        // Show ads based on the ad policy retrieved with Remote Config
        self.executeAdsPolicy()
    
        // ...
    }
    
    // ...
    
    func executeAdsPolicy() {
        let showAds = self.remoteConfig["ads_enabled"].booleanValue
        if showAds {
            bannerView.load(GADRequest())
            self.bannerView.isHidden = false
        } else {
            self.bannerView.isHidden = true
        }
    }
    

    Java
    Android

    mFirebaseRemoteConfig.fetch(CACHE_EXPIRATION)
            .addOnCompleteListener(this, new OnCompleteListener<Void>() {
        @Override
        public void onComplete(@NonNull Task<Void> task) {
            if (task.isSuccessful()) {
                mFirebaseRemoteConfig.activateFetched();
            }
    
            // Act on the retrieved parameters
    
            // Show ads based on the ad policy retrieved with Remote Config
            executeAdsPolicy();
    
            // ...
        }
    });
    // ...
    private void executeAdsPolicy() {
        boolean showAds = mFirebaseRemoteConfig.getBoolean("ads_enabled");
        AdView mAdView = findViewById(R.id.adView);
    
        if (showAds) {
            AdRequest adRequest = new AdRequest.Builder().build();
            mAdView.loadAd(adRequest);
            mAdView.setVisibility(View.VISIBLE);
        } else {
            mAdView.setVisibility(View.GONE);
        }
    }

    Kotlin
    Android

    firebaseRemoteConfig.fetch(CACHE_EXPIRATION)
            .addOnCompleteListener(this) { task ->
                if (task.isSuccessful) {
                    firebaseRemoteConfig.activateFetched()
                }
    
                // Act on the retrieved parameters
    
                // Show ads based on the ad policy retrieved with Remote Config
                executeAdsPolicy()
    
                // ...
            }
    // ...
    private fun executeAdsPolicy() {
        val showAds = firebaseRemoteConfig.getBoolean("ads_enabled")
        val adView = findViewById<AdView>(R.id.adView)
    
        if (showAds) {
            val adRequest = AdRequest.Builder().build()
            adView.loadAd(adRequest)
            adView.visibility = View.VISIBLE
        } else {
            adView.visibility = View.GONE
        }
    }

Pada tahap ini, Anda dapat menerapkan aplikasi Anda ke App Store atau Play Store. Pengguna akan mendapatkan pengalaman iklan default (iklan selalu ditampilkan). Namun karena tampilan iklan dikontrol oleh variabel yang dapat dikonfigurasi dari jarak jauh, Anda dapat mengubah dan bereksperimen dengan perilaku iklan hanya menggunakan Firebase console, tanpa harus mendorong pengguna mengupdate aplikasi.

Memulai prediksi pengeluaran pengguna

Selanjutnya, siapkan project Firebase Anda untuk mulai memprediksi perilaku pengeluaran pengguna Anda.

Di Firebase console, buka bagian Predictions. Jika belum, setujui persyaratan layanan Predictions.

Setelah Anda menyetujui persyaratan layanan, Predictions akan diaktifkan untuk project Anda. Bagian Predictions di Firebase console dapat digunakan untuk menentukan prediksi kustom. Namun, untuk prediksi pengeluaran, Anda dapat memanfaatkan prediksi spend dan not_spend bawaan, yang didasarkan pada agregasi peristiwa Analytics untuk memprediksi apakah pengguna akan melakukan pembelian dalam aplikasi atau pembelian e-commerce (pembelian langganan tidak dianggap di prediksi ini untuk saat ini). Prediksi ini akan tersedia setelah Anda mengaktifkan Predictions dan mencatat beberapa peristiwa pembelanjaan selama beberapa minggu ke dalam log.

Membuat eksperimen strategi monetisasi

Sekarang buat percobaan Pengujian A/B yang menguji pengaruh strategi monetisasi berbasis prediksi pada pendapatan, dibandingkan dengan hanya selalu menampilkan iklan.

Eksperimen sebaiknya memiliki tiga variasi, yakni grup kontrol, grup yang tanpa syarat menetapkan parameter, dan grup berbasis prediksi, sehingga eksperimen dapat menentukan apakah pendekatan berbasis prediksi memiliki manfaat yang lebih besar atau tidak, dibandingkan dengan hanya menerapkan promosi ke semua orang.

Untuk membuat eksperimen:

  1. Di Firebase console, buka bagian Pengujian A/B.

  2. Buat eksperimen baru:

    1. Klik Buat eksperimen > Remote Config.

    2. Pilih aplikasi Anda dari daftar dan tentukan jumlah pengguna yang ingin Anda sertakan ke dalam eksperimen. Anda juga dapat memilih untuk mengecualikan kategori pengguna tertentu dari eksperimen ini, seperti pembeli terbanyak.

    3. Pilih Estimasi pendapatan total dari daftar metrik sasaran, lalu pilih metrik tambahan yang ingin Anda lacak, seperti interaksi pengguna, retensi, penghapusan aplikasi, dan klik iklan.

    4. Tentukan tiga variasi:

      • Grup kontrol (dibuat secara otomatis)
      • Jangan pernah tampilkan iklan
      • Tidak ada iklan untuk orang yang kemungkinan berbelanja

      Untuk Grup kontrol, buat parameter ads_enabled lalu tetapkan ke (no change). Pengguna yang ditetapkan ke grup kontrol akan mendapatkan perilaku default, yang hanya selalu melihat iklan.

      Untuk variasi Jangan pernah tampilkan iklan, tetapkan parameter ads_enabled ke false. Pengguna yang ditetapkan ke variasi ini tidak akan pernah melihat iklan.

      Untuk variasi Tidak ada iklan untuk orang yang kemungkinan berbelanja, tetapkan parameter ads_enabled ke false lalu tetapkan kondisi target ke Predict: spend (medium risk tolerance). Pengguna yang ditetapkan untuk variasi ini tidak akan melihat iklan pada hari ia diperkirakan akan berbelanja.

Mulai eksperimen dan biarkan berjalan selama beberapa hari atau lebih, sampai Pengujian A/B menyatakan variasi dominan. Jika eksperimen tidak dapat menentukan variasi dominan, Anda mungkin perlu memperluas eksperimen ke lebih banyak pengguna.

Meluncurkan variasi dominan ke semua pengguna

Setelah Pengujian A/B mengumpulkan cukup informasi untuk menyatakan variasi dominan, dalam hal ini, variasi yang memaksimalkan pendapatan aplikasi, Anda dapat memutuskan apakah akan meluncurkan variasi dominan (atau variasi lain) ke semua pengguna Anda.

Di bagian Pengujian A/B pada Firebase console, buka tampilan detail dari eksperimen yang telah diselesaikan. Dari tampilan ini, Anda dapat melihat performa setiap variasi menurut metrik sasaran Anda dan metrik sekunder apa pun yang Anda pilih. Dengan informasi ini, Anda dapat memutuskan apakah akan meluncurkan variasi dominan atau variasi lainnya.

Untuk meluncurkan variasi ke semua pengguna, klik more_vert > Luncurkan variasi dominan di halaman detail eksperimen.

Kirim masukan tentang...

Butuh bantuan? Kunjungi halaman dukungan kami.