Follow-up — Re-engagement Otomatis
Tujuan
Sistem follow-up HUPH mengirim pesan WhatsApp otomatis ke calon mahasiswa yang berhenti merespons di tahap-tahap kritis funnel admisi. Misalnya: sudah tanya tapi belum daftar, atau sudah daftar tapi belum bayar.
Panduan ini untuk marketing staff dan counselor yang mengonfigurasi aturan follow-up dan memantau antrian pengiriman.
Cara Kerja Follow-up
Setiap jam (08:00 - 17:00 WIB, Senin - Jumat):
1. ENQUEUE — Cari percakapan yang idle
→ Cocokkan dengan aturan yang aktif
→ Cek skor lead (HOT skip, COLD max 2x)
→ Cek belum ada follow-up pending
→ Masukkan ke antrian
2. KIRIM — Proses antrian
→ Ambil data lead (nama, program)
→ Kirim via WhatsApp template (360dialog)
→ Update status: sent
3. EXPIRE — Bersihkan yang lama
→ Pesan yang sudah 72 jam tanpa balasan → expired
→ Pesan yang sudah dibalas → replied (tidak di-expire)
Aturan Cerdas Berdasarkan Skor Lead
Tidak semua lead diperlakukan sama. Sistem memilih strategi follow-up berdasarkan skor lead:
| Label Lead | Max Follow-up | Alasan |
|---|---|---|
| HOT (80-100) | 0 — dilewati | Counselor yang menangani langsung, bot tidak perlu follow-up |
| WARM (40-79) | 3 kali | Potensi konversi tertinggi, perlu nurturing |
| COLD (0-39) | 2 kali | Hasil berkurang setelah 2x, hemat kuota pesan |
| Unscored | 1 kali | Tunggu scoring selesai sebelum kirim lebih |
Aturan Tambahan
- Weekend skip — Follow-up tidak dikirim di hari Sabtu dan Minggu (zona waktu WIB)
- 30 hari cutoff — Percakapan yang idle lebih dari 30 hari tidak mendapat follow-up lagi
- Opt-out — User yang pernah kirim "stop" atau "berhenti" tidak akan pernah mendapat follow-up
- Duplikasi dicegah — Sistem memastikan setiap lead hanya mendapat 1 follow-up per aturan per attempt
Halaman Follow-up
Buka Pipeline → Follow-up di sidebar. Halaman ini punya 3 tab:
Tab 1: Queue (Antrian)
Menampilkan semua item follow-up dengan filter dan pagination.
Kolom tabel:
| Kolom | Penjelasan |
|---|---|
| Phone | Nomor WhatsApp (klik untuk buka percakapan) |
| Stage | Tahap funnel saat ini (inquiry, prospect, registered, dll.) |
| Attempt | Percobaan ke berapa (misal 1/3, 2/3) |
| Template | Nama template yang digunakan |
| Status | Status pengiriman (lihat tabel di bawah) |
| Scheduled | Kapan dijadwalkan |
| Actions | Tombol Cancel untuk item pending |
Status yang mungkin:
| Status | Warna | Artinya |
|---|---|---|
| pending | Kuning | Menunggu dikirim di jam berikutnya |
| sent | Biru | Sudah dikirim via WhatsApp |
| delivered | Biru | Sudah diterima di HP user (konfirmasi dari 360dialog) |
| replied | Hijau | User sudah membalas — sukses! |
| opted_out | Merah | User pernah minta stop |
| expired | Abu | Sudah 72 jam tanpa balasan |
| failed | Merah | Gagal kirim (hover untuk lihat detail error) |
Fitur:
- Filter — filter berdasarkan status atau funnel stage
- Pagination — 20 item per halaman
- Realtime — antrian auto-refresh saat ada perubahan (via Socket.io)
- Cancel — batalkan item pending (tombol merah, perlu konfirmasi)
- Error tooltip — hover di badge "failed" untuk melihat pesan error detail
Tab 2: Rules (Aturan)
Menampilkan semua aturan follow-up, dikelompokkan berdasarkan funnel stage.
Setiap aturan punya:
| Field | Penjelasan | Contoh |
|---|---|---|
| Funnel stage | Tahap funnel yang ditarget | inquiry, prospect, registered |
| Attempt number | Percobaan ke berapa | 1, 2, atau 3 |
| Delay (jam) | Berapa jam idle sebelum dikirim | 24 (1 hari), 72 (3 hari), 168 (1 minggu) |
| Template name | Nama template WhatsApp | followup_inquiry_1 |
| Template body | Isi pesan template | "Halo {{nama}}, terima kasih sudah menghubungi UPH..." |
| Active | Toggle on/off | Aktif / Nonaktif |
Aturan saat ini (24 rules, 13 aktif):
| Stage | Attempt 1 | Attempt 2 | Attempt 3 |
|---|---|---|---|
| Inquiry | 24 jam ✅ | 72 jam ✅ | 168 jam ✅ |
| Prospect | 48 jam ✅ | 120 jam ✅ | 240 jam ✅ |
| Registered | 48 jam ✅ | 120 jam ✅ | 240 jam ❌ |
| Form Purchased | 48 jam ✅ | 120 jam ✅ | 240 jam ✅ |
| Submitted | 48 jam ✅ | 120 jam ❌ | 240 jam ❌ |
| Admitted | 24 jam ❌ | 72 jam ❌ | 168 jam ❌ |
| Committed | 24 jam ❌ | 72 jam ❌ | 168 jam ❌ |
| Matriculated | 24 jam ✅ | 72 jam ❌ | 168 jam ❌ |
✅ = aktif, ❌ = nonaktif
Yang bisa dilakukan:
- Edit — ubah delay dan isi template (klik tombol Edit)
- Toggle on/off — aktifkan atau nonaktifkan aturan
- Tambah Rule — tombol hijau "Tambah Rule" di kanan atas, buka form pembuatan rule baru
- Hapus Rule — tombol trash merah di setiap card (hanya bisa hapus rule yang belum punya queue items)
Tab 3: Stats (Statistik)
Menampilkan statistik efektivitas follow-up.
4 kartu utama:
| Kartu | Isi |
|---|---|
| Sent | Jumlah yang dikirim hari ini + minggu ini |
| Replied | Jumlah yang dibalas + reply rate (%) |
| Opted Out | Jumlah opt-out + opt-out rate (%) |
| Failed | Jumlah gagal kirim hari ini + minggu ini |
Tabel "By Funnel Stage" (30 hari):
Menampilkan sent dan replied per funnel stage, sehingga kamu bisa lihat tahap mana yang paling efektif.
Tabel "Per-Template Performance" (30 hari):
Menampilkan reply rate per template — ini yang paling penting untuk evaluasi. Template dengan reply rate di bawah 5% perlu di-review dan diubah.
| Warna Reply Rate | Artinya |
|---|---|
| Hijau (≥ 15%) | Bagus — template efektif |
| Kuning (5-14%) | Biasa — pertimbangkan untuk diperbaiki |
| Abu (< 5%) | Buruk — review dan ubah template |
Fitur:
- Tombol Refresh — refresh data manual
- Auto-refresh — data auto-update setiap 60 detik
Preview (Dry Run)
Sebelum follow-up benar-benar dikirim, kamu bisa cek apa yang AKAN dikirim menggunakan preview.
Cara akses: API endpoint GET /api/v1/follow-up/preview
Preview menunjukkan: - Berapa percakapan yang eligible - Nomor telepon, funnel stage, template yang akan digunakan - Berapa jam sudah idle
Ini berguna untuk memastikan aturan bekerja sesuai ekspektasi sebelum mengaktifkan follow-up.
Template WhatsApp
Follow-up menggunakan WhatsApp Template Messages yang harus di-approve oleh Meta sebelum bisa dikirim.
Format Template
"Halo {{nama}}, terima kasih sudah menghubungi UPH.
Ada yang bisa kami bantu tentang pendaftaran?"
Parameter yang tersedia:
| Parameter | Sumber Data | Fallback |
|---|---|---|
{{nama}} |
Nama lead dari database | "Calon Mahasiswa" |
{{prodi}} |
Program interest dari percakapan | "program pilihan kamu" |
{{highlight}} |
AI-generated (opsional) — kalimat kontekstual berdasarkan riwayat chat | Pesan fallback per attempt |
AI-Generated Highlight
Jika template menggunakan parameter {{highlight}}, sistem akan meminta AI untuk membuat 1 kalimat kontekstual berdasarkan:
- 5 pesan terakhir dalam percakapan
- Program interest lead
- Funnel stage
- Nomor attempt (tone berbeda per attempt)
| Attempt | Tone AI |
|---|---|
| 1 | Ramah — ingatkan tentang minat mereka, tawarkan bantuan |
| 2 | Bernilai — bagikan manfaat, beasiswa, atau highlight kampus |
| 3 | Soft urgency — singgung deadline atau kuota terbatas |
Jika AI tidak tersedia, sistem menggunakan pesan fallback statis.
Approval Template
Template harus di-approve di 360dialog dashboard SEBELUM bisa dikirim. Proses review biasanya 24-48 jam. Template yang belum di-approve akan menyebabkan status "failed".
Jadwal Pengiriman
| Aspek | Detail |
|---|---|
| Frekuensi | Setiap jam |
| Jam operasi | 08:00 - 17:00 WIB (01:00 - 10:00 UTC) |
| Weekend | Dilewati (Sabtu & Minggu) |
| Batch size | Max 10 item per siklus |
| Retry | Tidak ada auto-retry — item yang gagal tetap "failed" |
Alur Lengkap: Dari Chat Hingga Follow-up
Student chat via WhatsApp: "Mau tanya soal Informatika"
│
├─ Bot jawab (instan)
├─ Lead masuk cluster CBT + auto-assign ke counselor
├─ Scoring di pesan ke-3: "Warm 55"
│
├─ Student berhenti chat (tidak reply)
│
│ 24 jam kemudian (jam kerja)...
│
├─ Cron cek: lead ini eligible?
│ ✓ Funnel: inquiry
│ ✓ Idle > 24 jam
│ ✓ Last message from bot
│ ✓ Skor: WARM (boleh 3 attempts)
│ ✓ Belum ada pending follow-up
│ ✓ Bukan weekend
│ ✓ Idle < 30 hari
│ → Masukkan ke antrian
│
├─ Sistem kirim: "Halo [nama], ada yang bisa kami bantu tentang pendaftaran?"
│ → Status: sent
│
├─ Student reply: "Oh iya, mau tanya biaya"
│ → Status: replied ✅
│ → Follow-up sequence BERHENTI (user sudah engage)
│ → Bot lanjut jawab pertanyaan
│
│ ATAU jika tidak reply...
│
├─ 72 jam kemudian → Follow-up attempt 2
│ "Hai [nama], UPH punya banyak beasiswa lho!"
│
├─ 168 jam kemudian → Follow-up attempt 3 (terakhir)
│ "Terakhir dari kami — pendaftaran masih dibuka. Hubungi kami jika butuh bantuan."
│
└─ Setelah attempt 3 tanpa reply → Tidak ada follow-up lagi
Contoh Skenario
"Lead sudah daftar tapi belum bayar formulir"
Aturan followup_formpurchased_1 aktif: lead di stage form_purchased, idle > 48 jam.
Template: "Halo {{nama}}, formulir {{prodi}} sudah dibeli. Yuk lengkapi dokumen pendaftaranmu."
Jika tidak ada respon, attempt 2 dikirim di 120 jam, attempt 3 di 240 jam.
"Lead HOT tapi tidak di-follow-up"
Ini benar — lead HOT sengaja dilewati karena counselor yang menangani langsung. Counselor sudah mendapat notifikasi hot lead dan diharapkan follow-up secara personal (telepon atau chat langsung).
"Reply rate template rendah (< 5%)"
- Buka Tab Stats → lihat "Per-Template Performance"
- Temukan template dengan reply rate rendah
- Buka Tab Rules → edit template body — buat lebih personal dan bernilai
- Atau tambahkan parameter
highlightke template_params untuk konten AI-generated
"User kirim 'stop' atau 'berhenti'"
Sistem otomatis: 1. Semua follow-up pending dan sent untuk nomor tersebut → opted_out 2. Percakapan ditandai opted_out di metadata 3. Tidak akan pernah mendapat follow-up lagi
"Follow-up gagal terus (status: failed)"
Kemungkinan penyebab: 1. Template belum di-approve di 360dialog — hubungi admin untuk approve 2. Nomor tidak valid — nomor WhatsApp sudah tidak aktif 3. API 360dialog error — cek System Health di halaman admin
Hover di badge "failed" untuk melihat pesan error detail.
Tips untuk Marketing Team
- Mulai dengan sedikit aturan aktif — aktifkan inquiry dan prospect dulu, pantau hasilnya sebelum aktifkan yang lain
- Review stats mingguan — perhatikan reply rate per template, ubah yang di bawah 5%
- Buat template yang berbeda per attempt — jangan kirim pesan yang sama 3 kali:
- Attempt 1: ramah, tawarkan bantuan
- Attempt 2: berikan nilai tambah (beasiswa, alumni sukses, fasilitas)
- Attempt 3: soft urgency (deadline, kuota terbatas)
- Jangan terlalu agresif — opt-out rate di atas 2% berarti pesan terlalu sering atau tidak relevan
- Pantau counselor response — kalau counselor sudah menangani lead secara personal, pastikan lead di-escalate supaya bot dan follow-up berhenti
Lihat Juga
- Lead Pipeline — tahap-tahap funnel yang ditarget follow-up
- Lead Scoring — bagaimana skor mempengaruhi follow-up
- Inbox — lihat respon user setelah menerima follow-up
- Bot Configuration — konfigurasi lengkap sistem bot
- Troubleshooting — masalah umum lainnya