Lewati ke isi

Push Notification

Push Notification adalah cara kirim pesan real-time ke pelanggan tanpa lewat WhatsApp/SMS — langsung muncul di HP/desktop mereka via browser atau app TBR Client. Gratis (pakai Google FCM), lebih cepat dari email, lebih reliable dari WhatsApp.

Use Case

  • 💳 Konfirmasi pembayaran — pelanggan dapat notif "Pembayaran berhasil"
  • Reminder tagihan — H-3, H-1, hari due
  • 🚨 Alert isolir — saat akun diisolir / aktif kembali
  • 📢 Pengumuman — maintenance, info promo, update layanan
  • 🆘 Alert teknis — modem offline, koneksi terputus

Kenapa Pakai Push?

Channel Open Rate Delivery Speed Cost Reliability
Push Notification 50-70% < 1 detik Gratis Tinggi
WhatsApp 90%+ 1-5 detik Rp 100-300/pesan Sedang (gateway risk)
Email 20% 10-60 detik Gratis (limit) Tinggi
SMS 60-80% 5-30 detik Rp 200-500/SMS Tinggi

Push notification = balanced choice untuk transactional message. Combine dengan WhatsApp untuk reach maksimal.

Persyaratan

  • ✅ Pelanggan subscribe push notification dari portal client (one-time opt-in)
  • ✅ Browser modern (Chrome, Firefox, Safari, Edge) atau install PWA / app Android TBR Client
  • ✅ HTTPS (PWA tidak bisa subscribe di HTTP)

Arsitektur

[TB Radius event terjadi (pembayaran sukses, isolir, dll)]
[Push controller dispatch ke FCM]
[Google FCM (Firebase Cloud Messaging)]
[Browser/device pelanggan (via service worker)]
[Notifikasi muncul di HP/desktop pelanggan]
[Pelanggan klik → deep link ke detail di portal]

Cara Pelanggan Subscribe

Pelanggan harus opt-in dulu sebelum bisa terima push notification:

  1. Pelanggan login ke client.tbradius.com
  2. Portal show banner: "Aktifkan notifikasi untuk dapat info tagihan & layanan"
  3. Klik Aktifkan
  4. Browser prompt: "Allow notifications from this site?"
  5. Klik Allow
  6. Subscription token disimpan di TB Radius (per device)

Setelah subscribe:

  • Token persistent (selama browser/app tidak hapus data)
  • Bisa multi-device (HP, laptop, tablet sekaligus)
  • Pelanggan bisa unsubscribe kapan saja (di settings browser)

Event yang Auto-Trigger Push

TB Radius default trigger push untuk event berikut:

Event Trigger Pesan
Reminder tagihan H-3 Cron harian "Tagihan Rp X jatuh tempo 3 hari lagi"
Reminder H-1 Cron harian "Tagihan jatuh tempo besok"
Hari due Cron harian "Tagihan jatuh tempo HARI INI"
Overdue (1 hari setelah due) Cron harian "Tagihan overdue, segera bayar"
Pembayaran berhasil Webhook PG / manual mark paid "Pembayaran Rp X berhasil. Terima kasih!"
Isolir Cron isolir-overdue "Akun diisolir. Bayar untuk aktif kembali"
Reaktivasi setelah bayar After payment "Internet sudah aktif kembali"
Modem offline > 30 menit Monitoring "Modem Anda offline. Cek koneksi"
Maintenance notice Broadcast manual "Pemeliharaan jaringan tanggal X"

Enable/disable per event di Settings → Push Notification → Events.

Broadcast Manual (Pengumuman)

Untuk kirim push ke semua pelanggan atau subset:

  1. Menu Notifikasi → Broadcast
  2. Pilih target:
  3. Semua pelanggan aktif
  4. Per paket (mis. hanya pelanggan paket 20 Mbps)
  5. Per area (mis. hanya area Makassar Utara)
  6. Pelanggan menunggak (mis. campaign "diskon 10% buat yang lunasin")
  7. Tulis pesan:
  8. Title (mis. "Maintenance Jaringan")
  9. Body (mis. "Tanggal 31 Mei pukul 02:00-04:00. Mohon maaf atas ketidaknyamanan.")
  10. Action URL (opsional, link ke halaman detail)
  11. Preview broadcast
  12. Kirim (sekali kirim, tidak bisa di-recall)

Komponen Push Notification

Komponen Penjelasan
Title Judul notifikasi (max ~30 char ideal)
Body Isi pesan (max ~100 char ideal)
Icon Logo brand (auto pakai logo tenant)
Badge Icon kecil di status bar HP
Image Optional, banner image (untuk promo)
Action buttons Optional, tombol "Bayar Sekarang", "Detail", dll
Deep link URL target saat notif diklik
TTL Time-to-live (kalau pelanggan offline, push expire setelah X jam)

Best Practices

Jangan spam pelanggan

Push notification mudah di-disable kalau spam. Limit:

  • Max 1-2 broadcast manual per minggu
  • Transactional push (auto-trigger) OK karena relevant
  • Hindari push promotional yang tidak relevan

Tingkat opt-out tinggi = pelanggan disable, Anda kehilangan channel.

Personalisasi pesan

Pesan generic "Tagihan Anda jatuh tempo" kalah efektif daripada:

"Hai Budi, tagihan paket 20 Mbps Rp 350.000 jatuh tempo 3 hari lagi. Bayar sekarang →"

Pakai variabel {nama}, {paket}, {tagihan}, {jatuh_tempo} di template.

Action button untuk CTA

Push dengan action button punya conversion lebih tinggi:

  • "Bayar Sekarang" → langsung ke halaman bayar (skip portal login)
  • "Lihat Detail" → ke halaman invoice
  • "Hubungi Support" → buka WhatsApp

Action button = 1-click conversion.

Test broadcast di subset kecil dulu

Sebelum broadcast ke semua pelanggan:

  1. Kirim ke 10 pelanggan test (mis. staff Anda)
  2. Cek hasil:
  3. Apakah pesan render dengan benar?
  4. Click rate?
  5. Ada complain?
  6. Kalau OK, baru broadcast massal

Push notification tidak guarantee delivery

Push bisa miss kalau:

  • Browser/app pelanggan offline > TTL (default 24 jam)
  • Pelanggan disable notifikasi
  • Service worker error
  • Network issue antara FCM → device

Selalu combine dengan channel lain untuk message critical (mis. push + WA).

Privacy: konten notifikasi visible di lock screen

Pesan push tampil di lock screen HP pelanggan tanpa unlock. Hindari informasi sensitif:

  • ❌ "Password reset code: 123456"
  • ❌ "Saldo Anda: Rp 5.000.000"
  • ✅ "Pembayaran berhasil. Tap untuk detail"

Sensitif info → simpan di portal, push hanya teaser.

Troubleshooting

Pelanggan claim "Tidak terima push notification"

Cek satu per satu:

  1. Pelanggan subscribed? Lihat di dashboard → tab "Push Subscriptions". Kalau kosong, mereka belum opt-in
  2. Notification permission Allowed di browser/HP? Mereka bisa cek di Settings → Notifications
  3. HP idle / battery saver? Beberapa OS delay push saat battery saver aktif
  4. Test push manual ke pelanggan tersebut → kalau masuk, issue di event trigger
Test push masuk, tapi event auto-trigger tidak
  • Cron jalan? Cek Settings → Cron Log
  • Event enabled di Settings?
  • Template render error? Cek log
  • Pelanggan target sesuai filter event? (mis. reminder H-3 hanya pelanggan dengan invoice 3 hari lagi due)
Push notif muncul tapi click tidak buka halaman

Action URL salah / 404. Cek template di Settings → Notification Templates.

Banyak pelanggan dapat push 2x

Duplicate dispatch — bug atau race condition. Cek log push, lihat ada call duplicate.

Pelanggan unsubscribe — bisa re-enable?

Kalau pelanggan browser-level unsubscribe (Settings browser → Block), TB Radius tidak bisa force re-subscribe. Pelanggan harus manual:

  1. Buka portal client.tbradius.com
  2. Settings → Notification → Subscribe ulang
  3. Allow di browser prompt

FAQ

Q: Berapa biaya push notification? A: Gratis. TB Radius pakai Google FCM (Firebase Cloud Messaging) yang free untuk volume normal (jutaan push/bulan free tier).

Q: Push notification masuk ke pelanggan iPhone? A: Iya — Safari iOS 16.4+ support web push. Pelanggan harus install PWA dulu (Add to Home Screen) baru bisa subscribe. Atau pakai app native (TBR Client di App Store kalau Anda publish).

Q: Bisa schedule push untuk dikirim nanti? A: Bisa. Settings → Broadcast → Schedule. Set tanggal/jam, push akan dikirim otomatis di waktu itu.

Q: Bisa A/B test template? A: Belum native. Workaround: kirim variant A ke 50% pelanggan, variant B ke 50%, bandingkan click rate.

Q: Statistik push? A: Dashboard punya:

  • Delivery rate (% berhasil sampai)
  • Open rate (% pelanggan klik notif)
  • Best timing analysis — jam dengan response terbaik
  • Per-event breakdown — performance per jenis notif