Metrik WhatsApp
Halaman Metrics di dashboard Bird menunjukkan performa channel WhatsApp Anda: berapa banyak pesan yang sampai ke perangkat penerima, apakah tingkat kegagalan Anda bergeser, dan seberapa cepat prosesnya. Panduan ini membahas halaman tersebut, arti setiap angka, dan kapan Anda perlu bertindak.
Metrik adalah tampilan agregat dari semua yang dikirim workspace Anda. Untuk siklus hidup satu pesan (apakah nomor ini menerimanya, dan kapan), lihat log WhatsApp dan events.
Membaca metrik Anda
Halaman Metrics berada di WhatsApp → Metrics dalam dashboard Bird; halaman ini terlihat oleh anggota workspace yang memiliki izin baca untuk WhatsApp dan Analytics. Setiap angka mengikuti pemilih rentang (24 jam terakhir, 7, 30, atau 90 hari). Event baru muncul setelah agregasi dan replikasi, sehingga periode terbaru bersifat sementara.
Tingkat outbound menggunakan waktu diterimanya permintaan pengiriman setiap pesan. Tanda terima pengiriman yang tiba hari ini untuk pesan yang permintaan pengirimannya diterima kemarin dihitung ke hari kemarin, bersama accepted pesan tersebut. Setiap rentang mengikuti pesan yang permintaan pengirimannya diterima dalam rentang itu seiring observasi masuk. Jam-jam terbaru bisa melaporkan delivered lebih rendah selama tanda terima masih berdatangan. accepted adalah penyebut untuk kartu tingkat pengiriman dan kegagalan.
Hitungan mewakili pesan unik untuk setiap event yang teramati dan bisa bersifat perkiraan pada skala besar. Hitungan ini bukan funnel wajib: tanda terima baca bisa ada tanpa tanda terima terkirim, dan observasi yang hilang bisa menyisakan celah antar tahap. Statistik grup juga menghitung pesan, bukan penerima; penerimaan pesan oleh peserta pertama yang teramati bisa menambah hitungan terkirim sebelum semua anggota grup menerima pesan.

Tile ringkasan
Baris tile di bagian atas adalah pemeriksaan kondisi sekilas:
- Delivery rate: proporsi pesan yang tersampaikan dibandingkan dengan pesan yang permintaan pengirimannya diterima. Tile menampilkan Healthy di atas 95%. Pada atau di bawah angka itu, ada sesuatu yang gagal mencapai perangkat: nomor tidak valid, jendela layanan yang kedaluwarsa, atau masalah template. Histogram penyebab kegagalan (lihat Tingkat kegagalan dan penyebabnya) menunjukkan penyebabnya.
- Failure rate: bagian dari pesan accepted yang berakhir failed. Tile menampilkan tingkat Anda terhadap batas 5% dengan progress bar; mencapainya mengubah tile menjadi Risk. Tingkat kegagalan tinggi yang berkelanjutan biasanya mengarah pada kualitas daftar, jendela layanan pelanggan yang kedaluwarsa, atau rate limit Meta.
- Accepted: jumlah pesan yang permintaan pengirimannya diterima dalam rentang, beserta jumlah yang diteruskan ke jaringan WhatsApp (sent).
Ambang batas 95% dan 5% adalah batas acuan yang kami gunakan untuk mewarnai tile. Ambang ini sengaja dibuat konservatif; sebuah tile bisa menampilkan Healthy dan masih punya ruang untuk perbaikan.
Pengiriman dari waktu ke waktu
Grafik pengiriman memplot volume accepted, delivered, dan failed sepanjang rentang sehingga Anda bisa mengenali tren dan lonjakan sesaat: kampanye yang buruk, impor daftar nomor yang salah, atau template yang mulai ditolak. Ukuran bucket mengikuti rentang (per jam untuk 24 jam, per hari untuk jendela yang lebih panjang).
Tingkat kegagalan dan penyebabnya
Di bawah grafik pengiriman pada halaman Metrics, garis failure-rate memplot tingkat kegagalan per bucket sepanjang rentang, sementara tile ringkasan Failure rate menampilkan angka seluruh jendela. Histogram memecah kegagalan berdasarkan kode error yang dinormalisasi, diurutkan berdasarkan jumlah beserta porsi setiap kode dari pesan gagal. Alasan kegagalan WhatsApp adalah kumpulan terbuka, sehingga histogram menampilkan kode mana pun yang benar-benar terjadi dalam rentang alih-alih daftar tetap; bar yang meningkat pada satu kode langsung mengarahkan Anda ke perbaikannya.
Latensi pengiriman
Tabel latensi melaporkan dua tahap pada persentil p50, p95, dan p99:
- Processing: dari penerimaan permintaan pengiriman pesan hingga pengiriman berhasil ke provider WhatsApp. Persentil yang lambat di sini perlu investigasi jalur pengiriman, termasuk pengiriman ke provider.
- Total: ujung ke ujung, dari penerimaan permintaan pengiriman pesan hingga WhatsApp mengonfirmasi pengiriman ke perangkat penerima. Selisih antara Total dan Processing adalah jaringan WhatsApp dan perangkat penerima, yang tidak kami kendalikan. Ponsel yang offline selama satu jam memperpanjang Total tanpa mengubah Processing.
Gunakan p95/p99 untuk mendeteksi pesan dengan latensi paling tinggi: median yang sehat dengan p99 yang lambat biasanya menunjukkan satu template atau tujuan yang tertinggal. Latensi dihitung untuk seluruh rentang waktu yang dipilih; tahap atau persentil tanpa data untuk rentang tersebut menampilkan placeholder.
Rincian
Panel Breakdowns merinci angka pengiriman yang sama sehingga Anda bisa mengisolasi masalah ke sumbernya:
- By number: volume accepted, delivered, dan failed setiap nomor bisnis pengirim beserta delivery rate-nya, sehingga Anda bisa membandingkan pengirim secara berdampingan.
- By template: pemisahan yang sama per template, untuk menemukan satu template yang menurunkan tingkat.
- By template category: pemisahan yang sama berdasarkan kategori template Meta, pengelompokan yang juga menentukan biaya Anda.
- By tag: tag yang Anda lampirkan pada pengiriman, cara pengelompokan paling fleksibel: beri tag pada kampanye, template, atau varian eksperimen dan bandingkan langsung.
- By country: pemisahan yang sama per negara tujuan, untuk melihat apakah masalah pengiriman mengikuti pasar tertentu alih-alih pengirim atau template. Penerima yang negaranya tidak dapat ditentukan (nomor yang terlihat seperti nomor telepon tetapi tidak termasuk negara mana pun, atau rentang internasional seperti freephone) dihitung di bawah ZZ, placeholder yang sama yang digunakan oleh rincian negara SMS. Pengiriman grup dikecualikan karena satu grup bisa mencakup beberapa negara dan tidak memiliki satu tujuan. Cakupan negara historis sebelum rincian ini diluncurkan bisa tidak lengkap, termasuk observasi delivered atau read tanpa hitungan accepted yang cocok. Riwayat agregat bertahan lebih lama dari jendela detail pesan 30 hari; menunggu 30 hari tidak memperbaiki kohort lama tersebut.
Setiap baris juga mendapat status turunan (Healthy, Watching, atau Throttled) yang ditentukan oleh tingkat pengiriman dan kegagalannya sendiri, sehingga nomor atau kategori yang bermasalah langsung terlihat tanpa Anda membaca setiap kolom. Setiap tab mengurutkan baris teratas untuk rentang tersebut; ketika sebuah dimensi memiliki lebih banyak nilai unik daripada yang muat, panel mencantumkan "Top N of M".

Akses programatik
Agregat di balik halaman ini juga merupakan API publik. Method bertipe tersedia di SDK TypeScript, Python, PHP, dan Go di bawah bird.whatsapp.stats, bird CLI mengeksposnya sebagai bird whatsapp stats <verb>, dan agent mengaksesnya melalui whatsapp_stats_* alat MCP. Skema permintaan dan respons lengkap ada di referensi API.
Agregat dan time series
GET /v1/whatsapp/stats/summary mengembalikan satu baris agregat untuk jendela tersebut: hitungan siklus hidup (accepted, sent, delivered, failed, rejected) beserta tingkat pengiriman dan kegagalan, engagement (read, read_rate), dan persentil latensi (p50, p95, p99) untuk tiga tahap: processing, delivery, dan total. /daily dan /hourly mengembalikan hitungan siklus hidup dan read yang sama satu baris per hari atau jam kalender, masing-masing dengan persentil latensinya sendiri; hanya tingkat (delivery_rate, failure_rate, read_rate) yang merupakan angka seluruh jendela, baca dari /summary. Ketiganya menerima satu filter dimensi pada satu waktu: template, category, tag, atau phone_number. Di sini, phone_number membatasi ke satu pengirim bisnis, dalam format E.164, bukan kontak yang difilter oleh param phone_number yang sudah deprecated pada GET /v1/whatsapp/messages.
Read rate adalah read / delivered, sedangkan delivery rate dan failure rate menggunakan accepted. Penyebut nol mengembalikan null, artinya tingkat tidak dapat dihitung. Read rate tidak dibatasi pada 100%, sehingga observasi delivered yang hilang bisa menghasilkan nilai lebih tinggi; ini adalah celah observasi yang perlu diinvestigasi, bukan bukti bahwa lebih dari semua penerima membaca pesan.
Persentil latensi menggunakan sampel yang tercatat. Sampel delivery-latency yang tidak ada tidak berarti latensi nol, dan total latency bisa ada ketika timestamp sent perantara tidak tersedia. Jangan merata-ratakan persentil final dari bucket terpisah. Event yang di-replay bisa memengaruhi distribusi latensi meskipun hitungan pesan unik tetap terdeduplikasi.
Jika ada, data_as_of melaporkan kemutakhiran agregasi. Ini tidak membuktikan bahwa semua callback provider telah tiba atau bahwa penagihan telah selesai. Nilai kemutakhiran null berarti tidak tersedia untuk respons tersebut.
Memilih jendela waktu
from dan to menerima hari kalender atau instant RFC 3339, tetapi bentuk yang diterima tiap endpoint berbeda:
| Endpoint | Batas | Jendela maksimum |
|---|---|---|
| /summary | Keduanya hari kalender, atau keduanya instant RFC 3339 | 365 hari, atau 720 jam untuk instant |
| /daily | Hari kalender saja | 365 hari |
| /hourly | Instant RFC 3339 saja | 720 jam (30 hari) |
Pada /summary, mencampur batas hari dengan batas instant mengembalikan 422. Batas instant dibulatkan ke bawah ke jam pada /summary dan /hourly, dua endpoint saja yang menerimanya. Atur timezone ke identifier IANA untuk menghitung batas hari dan jam secara lokal alih-alih dalam UTC; setelah diatur, offset UTC numerik seperti +05:45 dalam batas instant akan ditolak. Tambahkan compare=previous_period ke /summary untuk jendela sebelumnya dengan panjang yang sama beserta perubahannya.
Rincian
Enam endpoint mengurutkan angka pengiriman yang sama berdasarkan satu dimensi, masing-masing sudah berdimensi tunggal sehingga tidak menerima filter: berdasarkan nomor, berdasarkan template, berdasarkan kategori template, berdasarkan tag, dan berdasarkan kode kesalahan (hanya pesan gagal, dikelompokkan berdasarkan alasan kegagalan yang dinormalisasi). Baris diurutkan berdasarkan volume accepted (jumlah kegagalan pada error code) dan dibatasi pada limit (default 50, maksimum 200). Pengiriman tanpa nilai untuk suatu dimensi tidak muncul dalam rincian tersebut: pengiriman bentuk bebas tidak menggunakan template, dan pengiriman tanpa tag tidak menghasilkan tag. Pesan dengan beberapa tag bisa muncul di beberapa baris tag, sehingga menjumlahkan baris-baris tersebut tidak memberikan volume workspace unik. Bandingkan rincian terhadap dirinya sendiri dari waktu ke waktu. Setiap baris kecuali baris error-code juga membawa persentil latency-nya sendiri. Yang keenam, berdasarkan negara, mengelompokkan angka yang sama berdasarkan pasar tujuan penerima; penerima yang negaranya tidak dapat ditentukan dihitung di bawah ZZ, dan pengiriman grup tidak disertakan karena satu pengiriman bisa mencakup beberapa negara.
Pesan diterima
Empat endpoint di bawah /v1/whatsapp/stats/inbound/ mencakup apa yang diterima nomor Anda, bukan yang dikirim: ringkasan, harian, per jam, dan berdasarkan nomor telepon. Setiap baris hanya membawa hitungan received dan mengikuti waktu kejadian pesan masuk. Pesan yang diterima tidak memiliki siklus hidup pengiriman outbound untuk dirinci lebih lanjut. Ini bersarang di bawah bird.whatsapp.stats.inbound di SDK dan bird whatsapp stats inbound <verb> di CLI.
Rekonsiliasi per pesan
Endpoint stats menjawab pertanyaan agregat; endpoint ini tidak menggantikan pencarian per pesan. Untuk mengonfirmasi apa yang terjadi pada satu pesan, proses event webhook saat terjadi, atau telusuri GET /v1/whatsapp/messages dan endpoint event setiap pesan, yang filternya (status, penerima, tag, jendela waktu) mencakup sebagian besar pekerjaan rekonsiliasi.
Langkah selanjutnya
- Analitik WhatsApp: menghubungkan observasi pesan ke hasil pelanggan yang terkonfirmasi
- Log WhatsApp: tampilan per pesan di balik angka agregat
- Event: aliran siklus hidup per pesan yang menjadi dasar metrik
- Mengirim pesan WhatsApp: kategori, tag, dan model biaya per pesan
Sumber daya terkait
Lanjutkan dengan dokumentasi, panduan, dan contoh untuk topik ini. Sumber daya tersedia dalam bahasa Inggris.
Tonton panduannyaConnecting WhatsApp to Bird: from buying a number to a live channelPahami konsepnyaWhat is the 24-hour customer service window on WhatsApp?Gunakan alatnyaWhatsApp message builderJelajahi kemampuannyaWhatsApp
Coba praktiknya dan dapatkan ringkasan implementasi