7 Firebase events yang sudah berjalan + 21 event baru yang perlu diimplementasikan. Setiap event memiliki nama, properties, trigger, dan wave target. Digunakan oleh tim Flutter + Backend untuk tracking aktivitas user secara presisi.
MASA saat ini punya Firebase Analytics tapi hanya 7 event yang di-track. Ini berarti tim tidak bisa menjawab pertanyaan kritis seperti: "Berapa persen user yang masuk Qur'an langsung ke Sedekah via Bridge B?" atau "Berapa persen iuran gagal karena VA error?"
Empat angka yang harus dilihat setiap hari oleh PM, CX lead, dan dev lead. Kalau salah satu di luar target, ada event yang menjelaskan mengapa.
onboarding_segment_selected untuk tahu segmen mana yang churn. Activation 58% (target ≥70%) → lihat permission_notification_granted untuk tahu apakah izin notif menjadi bottleneck.Pertahankan 7 event ini. Tidak perlu diubah kecuali ada penambahan property baru yang ditandai dengan [+].
| Event Name | Deskripsi | Properties | Trigger | Wave |
|---|---|---|---|---|
screen_view existing |
Setiap perpindahan halaman. Auto-tracked Firebase. |
firebase_screen_name firebase_screen_class [+] user_segment (kader/muslim/habit) [+] session_count |
Auto-tracked oleh Firebase SDK |
Wave 0 |
feature_selected existing |
User mengetuk fitur dari beranda atau menu. |
feature_name (quran/salat/zakat/dll) source (home/menu/search) [+] user_segment |
Tap puck grid atau bottom nav item |
Wave 0 |
quran_started existing |
User mulai membaca Qur'an (buka reader). |
surah_id, ayah_start is_resume (true/false) [+] entry_source (home/bridge_a/direct) |
Buka reader ayat pertama kali dalam sesi |
Wave 0 |
prayer_time_viewed existing |
User melihat jadwal salat. |
city, prayer_name (subuh/dll) minutes_until_prayer [+] notification_on (true/false) |
Screen Jadwal Salat dibuka |
Wave 0 |
donation_initiated existing |
User mulai proses donasi (tap button donasi). |
campaign_id, campaign_type (donasi/zakat/qurban/sedekah_subuh) amount_selected [+] payment_method (qris/va/saldo) |
Tap CTA "Sedekah/Donasi/Bayar" |
Wave 0 |
donation_completed existing |
Donasi berhasil diproses. |
campaign_id, amount payment_method is_recurring (true/false) [+] days_since_first_donation |
Konfirmasi sukses dari payment gateway |
Wave 0 |
ktam_iuran_attempted existing |
User mencoba membayar iuran. |
month, amount payment_method [+] va_error (true/false) [+] fallback_used (none/qris/transfer) |
Tap button bayar iuran |
Wave 0 |
Dikelompokkan berdasarkan wave implementasi. Semua event baru menggunakan naming convention Firebase GA4.
| Event Name | Deskripsi | Properties | Trigger | Wave |
|---|---|---|---|---|
iuran_va_error new |
VA gagal dibuat — event P0 utama untuk monitor bug. |
error_code payment_provider retry_count fallback_shown (true/false) |
Saat API VA return error atau timeout >3s |
Wave 0 |
iuran_payment_success new |
Iuran berhasil dibayar. Pair dengan iuran_va_error untuk hitung success rate. |
month, amount payment_method (qris/va/transfer) is_on_time (true/false) |
Payment gateway confirm sukses |
Wave 0 |
notification_permission_result new |
Hasil dialog izin notifikasi OS. Kritis untuk audit grant rate. |
result (granted/denied/dismissed) trigger_screen (onboarding/settings) is_primer_shown (true/false) |
Callback dari OS permission dialog |
Wave 0 |
notification_setting_changed new |
User mengubah setting notifikasi per kategori. Monitor apakah user mematikan notif setelah menerima. |
category (adzan/sedekah/iuran/event) new_state (on/off) days_since_install |
Toggle diubah di Settings > Notifikasi |
Wave 0 |
nbm_sync_result new |
Hasil sinkronisasi NBM dengan database PP Muhammadiyah. |
result (success/not_found/timeout/error) sync_duration_ms |
Proses sinkronisasi NBM selesai |
Wave 0 |
| Event Name | Deskripsi | Properties | Trigger | Wave |
|---|---|---|---|---|
onboarding_segment_selected new |
User memilih salah satu dari 3 segmen di onboarding. Ini menentukan seluruh experience. |
segment (kader/muslim/habit) time_to_select_sec is_first_install (true/false) |
Tap pilihan segmen di P-03 |
Wave 1 |
onboarding_completed new |
User selesai onboarding (mencapai homepage untuk pertama kali). |
segment, duration_sec notification_granted (true/false) location_granted (true/false) steps_completed (1-4) |
Homepage pertama kali ditampilkan post-install |
Wave 1 |
onboarding_skipped new |
User menekan "Lewati" di salah satu step onboarding. |
skipped_step (thesis/segment/permission) reason_if_known |
Tap "Lewati" di onboarding screens |
Wave 1 |
first_habit_action new |
"Aha moment" — aksi habit pertama dalam sesi pertama. Indikator aktivasi terkuat. |
action_type (quran_read/prayer_viewed/doa_viewed/sedekah) session_number minutes_since_install |
Aksi habit pertama dalam 24 jam pertama install |
Wave 1 |
home_banner_tapped new |
User mengetuk banner promo/campaign di homepage. Monitor CTR campaign. |
campaign_id, campaign_type (qurban/sedekah/event) position (top/middle/bottom) user_segment |
Tap banner di zone CAMPAIGN homepage |
Wave 1 |
| Event Name | Deskripsi | Properties | Trigger | Wave |
|---|---|---|---|---|
bridge_a_triggered new |
Bridge A ditampilkan — "Lanjut baca Qur'an?" setelah lihat jadwal salat Subuh. |
prayer (subuh/dll), minutes_until quran_resume_available (true/false) |
Card Bridge A muncul di halaman Jadwal Salat |
Wave 2 |
bridge_a_accepted new |
User mengetuk Bridge A → pindah ke Qur'an reader. |
prayer, surah_resume time_to_tap_sec |
Tap "Lanjut baca Qur'an" di Bridge A card |
Wave 2 |
quran_session_completed new |
User menyelesaikan sesi baca ≥10 ayat (threshold Bridge B). |
surah_id, ayat_read_count duration_sec, has_resume_point (true/false) tafsir_viewed_count entry_source (bridge_a/direct/home) |
User membaca ≥10 ayat dan mengakhiri sesi |
Wave 2 |
bridge_b_shown new |
Bridge B outro ditampilkan setelah ≥10 ayat. |
ayat_read, surah_id sedekah_subuh_active (true/false) |
Outro screen muncul setelah sesi Qur'an ≥10 ayat |
Wave 2 |
bridge_b_converted new |
User dari Bridge B lanjut ke Sedekah Subuh. Conversion rate Bridge B adalah metric kunci. |
ayat_read, amount_selected time_to_convert_sec |
Tap "Sedekah" di Bridge B outro screen |
Wave 2 |
habit_streak_recorded new |
Streak hari bertambah. Untuk monitor engagement habit. |
habit_type (quran/sedekah/salat) streak_days, is_new_record (true/false) |
Setiap hari user melakukan aksi habit setelah hari sebelumnya |
Wave 2 |
| Event Name | Deskripsi | Properties | Trigger | Wave |
|---|---|---|---|---|
sedekah_subuh_setup new |
User mengkonfigurasi Sedekah Subuh recurring. Indikator long-term commitment. |
amount, program_type (anak_yatim/santri/dll) payment_method is_recurring (true/false) source (bridge_b/fab/settings) |
User menyimpan konfigurasi Sedekah Subuh |
Wave 3 |
donation_impact_viewed new |
User melihat impact card / laporan setelah donasi. Indikator trust terbentuk. |
campaign_id, impact_type (photo/text/stats) time_spent_sec |
Impact card / section laporan ditampilkan dan user scroll/tap |
Wave 3 |
zakat_calculated new |
User menyelesaikan kalkulator zakat (dengan atau tanpa lanjut bayar). |
zakat_type (fitrah/maal/penghasilan) amount_calculated, converted_to_payment (true/false) payment_amount |
Hasil kalkulator ditampilkan |
Wave 3 |
| Event Name | Deskripsi | Properties | Trigger | Wave |
|---|---|---|---|---|
event_registered new |
User mendaftar event organisasi. |
event_id, organizer_pcm days_until_event registration_method (app/form) |
Tap "Daftar hadir" + konfirmasi sukses |
Wave 4 |
chathpt_query_sent new |
User mengirim pertanyaan ke ChatHPT. |
query_category (zakat/ibadah/muamalah/dll) query_length_chars response_source (tarjih/hadits) converted_to_action (true/false) |
Query terkirim dan response diterima |
Wave 5 |
Akhir dokumen · Analytics Event Spec · MASA by LabMu · 12 Juni 2026