Lompat ke konten

Revenue Playbook

GitHub

Buku petunjuk pendapatan untuk pembelian dalam aplikasi

Pembelian SDK hanya salah satu bagian dari membuat uang dari sebuah aplikasi. Pendapatan datang dari masalah yang jelas, produk kecil yang dapat dicoba, penyimpanan billing yang dapat diandalkan, dan paywall yang mengajarkan apa yang orang mau beli.

Gunakan buku pegangan ini ketika Anda menambahkan langganan atau akses premium dengan @capgo/native-purchases.

Mulai dengan target pendapatan sederhana

Bab berjudul “Mulai dengan target pendapatan sederhana”

Pastikan target pertama konkret. Misalnya:

Harga bulananPengguna aktif yang dibutuhkan untuk sekitar $1K MRR
$4.99201
$7.99126
$9.99101
Harga tahunan $29.99Sekitar 400 pengguna tahunan, tergantung pada waktu

Angka-angka ini sebelum biaya toko, pajak, pengembalian, dan perbedaan mata uang. Mereka masih berguna karena mereka menjaga rencana peluncuran praktis: Anda membutuhkan beberapa ratus pengguna yang termotivasi, bukan audiens besar.

  1. Pilih satu kasus penggunaan yang menyakitkan

    Bangun sekitar satu hasil yang sudah dicari pengguna. Contoh: rencana olahraga untuk orang tua baru, penghitung anggaran untuk pasangan, scanner bukti pembayaran untuk freelancer, atau aplikasi latihan bahasa untuk satu ujian.

  2. Periksa permintaan di toko.

    Cari App Store dan Google Play untuk kata kunci utama. Baca ulasan yang rendah dan menengah dari aplikasi saingan untuk menemukan fitur yang hilang, onboarding yang membingungkan, keluhan harga, dan gesekan antar pengguna.

  3. Kirimkan MVP yang sempit.

    Versi pertama harus mencakup onboarding, satu aksi utama yang berguna, pengelolaan kesalahan dasar, dan cukup analisis untuk melihat apakah pengguna mencapai titik nilai.

  4. Tambahkan pembelian awal.

    Jangan menunggu sampai aplikasi terasa lengkap. Paywall dasar membantu Anda belajar apakah pengguna memahami nilai dan apakah harga Anda masuk akal.

Instrument funnel sebelum melakukan optimasi.

Judul bagian: Instrument funnel sebelum melakukan optimasi.

Tracklah kejadian-kejadian ini sebelum Anda mulai mengubah harga atau layar:

KejadianMengapa hal ini penting
install atau buka terlebih dahuluTrafiik dasar
onboarding_completedApakah pengguna memahami pengaturan
core_action_completedApakah produk memberikan nilai
paywall_viewedApakah pengguna mencapai monetisasi
trial_startedApakah tawaran menarik
purchase_completedKonversi berbayar
restore_started dan restore_completedRecovery pembelian dan kinerja kompatibilitas
subscription_status_checkedKeterandalan hak akses
cancel_feedback_submittedAlasan pengguguran

Jika banyak pengguna tidak melihat paywall, perbaiki onboarding sebelum mengubah paywall. Jika pengguna melihat paywall tetapi tidak memulai trial, perbaiki tawaran, bukti, atau presentasi harga.

Mulai dengan satu model agar data dapat dibaca.

ModelKesesuaian yang baikVersi Pertama
Kredit Pembangun NativFreemiumAlat-alat harian, pengikut, alat bantu dengan penggunaan berulang
Aksi dasar gratis, batasan pembayaran atau fitur premiumPaywall plus uji coba gratisAplikasi yang menyampaikan nilai cepat setelah proses onboardinng
Unblokir satu kaliAlat-alat kecil dengan nilai berulang yang terbatasProduk seumur hidup plus opsi langganan masa depan yang optional

Hindari mengirimkan tiga tingkat, banyak paket, dan jalur upgrade kompleks pada hari pertama. Gunakan satu rencana bulanan dan satu rencana tahunan ketika Anda memerlukan langganan. Tambahkan harga lokal setelah Anda melihat lalu lintas yang bermakna dari suatu negara.

Konfigurasi produk untuk pembelajaran pendapatan

Judul bagian “Konfigurasi produk untuk pembelajaran pendapatan”

Jaga identifikasi produk stabil dan dapat dibaca:

com.example.app.premium.monthly
com.example.app.premium.yearly
com.example.app.premium.lifetime

Gunakan nama produk toko yang memperkuat nilai yang pengguna mencari, seperti “Meal Planner Pro Bulanan” bukan hanya “Bulanan”. Metadata toko dan nama pembelian dalam aplikasi dapat membantu penemuan dan kejelasan.

Muat data produk dari toko-toko sehingga harga, mata uang, dan tawaran awal selalu akurat:

import { NativePurchases, PURCHASE_TYPE } from '@capgo/native-purchases';
const { products } = await NativePurchases.getProducts({
productIdentifiers: [
'com.example.app.premium.monthly',
'com.example.app.premium.yearly',
],
productType: PURCHASE_TYPE.SUBS,
});
const monthly = products.find((product) => product.identifier.endsWith('.monthly'));
const yearly = products.find((product) => product.identifier.endsWith('.yearly'));

Hindari mengkode harga toko secara keras di UI. Render product.priceStringGunakan informasi toko untuk mendapatkan judul produk lokal, periode pembayaran, dan syarat uji coba secara lokal.

Judul: hasil pembayaran yang dibayar, seperti “Aktifkan rencana latihan tanpa batas”.

  • Kelebihan: 3 hingga 5 perbaikan konkret, bukan daftar fitur panjang.
  • Rencana: bulanan dan tahunan, dengan penghematan tahunan yang nyata jika ditawarkan.
  • Uji coba: panjang uji coba yang tepat dan apa yang terjadi setelahnya berakhir.
  • CTA: “Mulai uji coba gratis” atau “Perbarui sekarang”.
  • Tautan: syarat dan ketentuan, kebijakan privasi, kembalikan pembelian, dan kelola langganan.
  • Tempatkan paywall pertama setelah proses onboarding, ketika pengguna memahami apa yang dilakukan aplikasi. Kemudian, tes trigger tambahan seperti batasan penggunaan, sentuhan fitur premium, atau aksi inti yang selesai.

Alur pembelian dan kembalikan

Paywall pertama harus jelas, bukan pintar:

Bagian berjudul “Alur Pembelian dan Pemulihan”
import { NativePurchases, PURCHASE_TYPE } from '@capgo/native-purchases';
export async function buyYearly(appAccountToken: string) {
const transaction = await NativePurchases.purchaseProduct({
productIdentifier: 'com.example.app.premium.yearly',
planIdentifier: 'yearly-plan',
productType: PURCHASE_TYPE.SUBS,
appAccountToken,
});
await fetch('/api/purchases/validate', {
method: 'POST',
headers: { 'content-type': 'application/json' },
body: JSON.stringify({
transactionId: transaction.transactionId,
receipt: transaction.receipt,
purchaseToken: transaction.purchaseToken,
productIdentifier: transaction.productIdentifier,
}),
});
return transaction;
}
export async function restorePurchases() {
await NativePurchases.restorePurchases();
return NativePurchases.getPurchases({
productType: PURCHASE_TYPE.SUBS,
});
}

Selalu validasi pembelian di backend Anda sebelum memberikan hak akses yang tahan lama. Simpan cache hak akses lokal untuk UI yang cepat, tetapi anggap toko dan backend Anda sebagai sumber kebenaran.

Pendapatan membutuhkan lalu lintas. Mulai dengan saluran yang dapat berfungsi sebelum Anda memiliki merek:

  • ASO: judul, subjudul, kata kunci, screenshot, deskripsi aplikasi, ikon, peringkat, dan nama pembelian dalam aplikasi.
  • Video pendek: posting demo cepat, klip masalah/solusi, dan contoh sebelum/sesudah untuk negara target.
  • Reddit dan komunitas: bergabung dalam percakapan terlebih dahulu, kemudian bagikan apa yang dibangun sebagai cerita yang berguna bukan iklan.
  • Kelompok beta: TestFlight, Google Play internal testing, Discord, dan forum khusus.

Setiap saluran harus mengirim pengguna ke dalam funnel yang diukur sama sehingga Anda dapat membandingkan retensi, tampilan paywall, uji coba, dan pembelian.

Beberapa penggantian berarti pengguna mencoba aplikasi dan memutuskan bahwa itu tidak untuk mereka. Itu adalah hal yang normal. Yang penting adalah pola:

  • Penggantian selama masa uji coba: nilai yang tidak jelas, onboarding yang buruk, atau lalu lintas yang salah.
  • Penggantian setelah satu siklus: tidak cukup nilai ulang atau loop kebiasaan yang lemah.
  • Pengembalian uang: kesalahan harga, risiko pembelian tidak sengaja, atau istilah yang tidak jelas.
  • Tidak ada restorasi: penanganan hak akses yang rusak atau antarmuka restorasi yang hilang.

Tambahkan survei penggantian satu pertanyaan ketika memungkinkan. Gunakan jawaban untuk meningkatkan onboarding, lingkup fitur, layar tangkapan toko, dan teks paywall.

  • Aplikasi ini menyelesaikan satu masalah berbayar yang jelas.
  • Produk toko aktif dan telah diuji pada iOS dan Android.
  • Paywall menampilkan harga dan istilah yang dimuat dari toko.
  • Pembelian, pengembalian, pengelolaan langganan, dan validasi backend diimplementasikan.
  • Event funnel diikuti dari bukaan pertama hingga pembelian.
  • Metadata toko aplikasi menjelaskan nilai pada gambar pertama.
  • Setidaknya satu saluran akuisisi aktif sebelum peluncuran.
  • Pengembalian umur pengguna dikumpulkan dari pengguna langganan pertama.

Jika Anda menggunakan Revenue Playbook untuk merencanakan pembayaran dan pembelian, hubungkannya dengan Menggunakan @capgo/native-purchases untuk kemampuan asli di Menggunakan @capgo/native-purchases, Capgo Pricing untuk alur kerja produk di Capgo Pricing, Sistem pembayaran untuk detail implementasi di Sistem pembayaran, @capgo/native-purchases untuk detail implementasi di @capgo/pembelian asli, dan Mulai untuk detail implementasi di Mulai.