01Rumus ROAS untuk iklan yang closing di WhatsApp
ROAS (return on ad spend) adalah revenue dibagi biaya iklan, dan rumus itu sama untuk ROAS WhatsApp Ads. Bedanya, pada iklan yang berujung ke WhatsApp transaksi diselesaikan di chat, jadi revenue tidak otomatis muncul di Ads Manager. Rumusnya sederhana, tetapi ada tiga bahan yang harus tersedia lebih dulu: nominal closing, campaign asal tiap closing, dan spend campaign yang sama.
ROAS campaign = total nominal closing dari lead campaign itu
dibagi spend campaign itu
(periode dan mata uang harus sama)| Bahan | Sumbernya | Syarat supaya angkanya bisa dipakai |
|---|---|---|
| Revenue | Nominal closing yang tersimpan pada lead (di Dalekta: nominal yang diisi saat status Closing). | Hanya closing dengan nominal yang dihitung. Chat, MQL, dan Prospek belum membawa uang. |
| Campaign asal | Kode lead di pesan pertama, atau metadata iklan untuk chat dari iklan Click to WhatsApp. | Lead harus terpasang ke campaign. Lead tanpa campaign tidak bisa dibagi ke iklan mana pun. |
| Spend | Ads Manager, untuk campaign yang sama. | Rentang tanggal dan mata uangnya sama dengan revenue. |
ROAS mengukur omzet yang dihasilkan per rupiah iklan, bukan laba. Karena itu ROAS harus dibandingkan dengan titik impas bisnis Anda sendiri, bukan dengan angka patokan dari artikel atau grup marketing.
02Contoh hitung: biaya per chat menang, ROAS kalah
Contoh berikut memakai angka rekaan untuk menunjukkan cara membaca, bukan data pelanggan. Dua campaign memakai budget yang sama selama 30 hari, dengan asumsi margin kotor 50%.
| Metrik (ilustrasi, 30 hari) | Campaign A (promo hemat) | Campaign B (paket lengkap) |
|---|---|---|
| Spend | Rp 6.000.000 | Rp 6.000.000 |
| Chat masuk | 240 | 100 |
| Biaya per chat | Rp 25.000 | Rp 60.000 |
| Closing | 8 | 5 |
| Closing rate dari chat | sekitar 3,3% | 5% |
| Biaya per closing | Rp 750.000 | Rp 1.200.000 |
| Nilai transaksi rata-rata | Rp 600.000 | Rp 3.000.000 |
| Revenue | Rp 4.800.000 | Rp 15.000.000 |
| ROAS (revenue dibagi spend) | 0,8 | 2,5 |
| Sisa setelah biaya produk dan iklan (margin kotor 50%) | minus Rp 3.600.000 | plus Rp 1.500.000 |
Campaign A menang di dua angka yang paling sering dipantau: biaya per chat dan biaya per closing. Tetapi A merugi dan B untung, karena pembeli B membayar lima kali lebih besar per transaksi. Biaya per closing hanya bisa dibandingkan langsung kalau nilai transaksi antar campaign kurang lebih sama. Kalau nilainya berbeda jauh, ROAS yang menentukan.
Keputusan yang masuk akal adalah menggeser budget ke B secara bertahap. Campaign A tidak perlu langsung dimatikan. Periksa dulu apakah nilai transaksinya bisa dinaikkan lewat penawaran atau paket, karena volume chat-nya besar dan biaya per chat-nya murah.
03Apa yang dilaporkan Dalekta per campaign
Campaign Report memecah funnel per sumber: Meta CTWA, Meta, Google, Shortlink, dan Organic. Dari sumber Meta CTWA, Meta, dan Google Anda bisa membuka level campaign, adset (untuk Google berupa keyword), sampai iklan, sedangkan Shortlink dan Organic dirinci per rotator dan per URL. Kolomnya adalah LP Visit, Click CTA, WhatsApp, MQL, Prospek, Closing, dan Revenue. Revenue di sebuah baris adalah jumlah nominal closing dari lead yang terpasang ke baris itu.
| Data | Ada di Dalekta? | Catatan |
|---|---|---|
| Chat masuk per campaign | Ya | Kolom WhatsApp, dihitung dari pesan yang benar-benar masuk. |
| Closing dan revenue per campaign | Ya | Dari status Closing dan nominal yang tersimpan di lead yang terpasang ke campaign itu. |
| Spend, impressions, dan klik iklan per campaign | Tidak | Ambil dari Ads Manager untuk campaign dan periode yang sama. Dalekta tidak menyediakan spend per campaign. |
| Spend Google Ads | Tidak | Ambil dari Google Ads dan bandingkan terpisah. Dukungan Google Ads di Dalekta masih tahap fondasi (beta). |
| Biaya per chat, biaya per closing, dan ROAS | Tidak dihitung otomatis | Hitung sendiri dengan rumus di artikel ini. |
Langkah menghitung ROAS per campaign dari data tersebut:
- Buka Campaign Report dan pilih rentang tanggal secara eksplisit, misalnya satu bulan penuh yang sudah lewat. Jangan pakai preset Semua Data untuk hitungan ROAS, karena pada pilihan itu kolom WhatsApp sampai Closing menghitung semua lead yang tersimpan, bukan hanya yang berstatus Closing.
- Buka baris Meta (atau Meta CTWA untuk iklan Click to WhatsApp), lalu masuk ke level Campaign. Catat kolom Closing dan Revenue untuk tiap campaign.
- Klik CSV kalau Anda ingin menghitung di spreadsheet. File berisi kolom yang sama dengan tabel report.
- Buka Ads Manager dan ambil spend campaign yang sama untuk rentang tanggal yang sama.
- Pastikan mata uang keduanya sama. Report memakai mata uang workspace, sedangkan spend di Ads Manager mengikuti mata uang akun iklan.
- Bagi revenue dengan spend, lalu bandingkan hasilnya dengan ROAS impas Anda.
Untuk iklan Click to WhatsApp, baris campaign memakai judul iklan dari metadata CTWA, dan detail baris menampilkan Source ID. Judul itu berasal dari isi iklan yang terbaca di pesan pertama, jadi belum tentu sama dengan nama iklan di Ads Manager. Cocokkan lewat Source ID, dan beri judul yang berbeda untuk tiap varian iklan supaya barisnya tidak menyatu. Cara kerja lead dari iklan CTWA dibahas di ctwa tracking.
04Closing terlambat: kenapa ROAS bulan ini bisa menipu
Campaign Report menempatkan revenue pada periode saat nominal closing disimpan, lalu menautkannya ke campaign asal lead. Spend, sebaliknya, tercatat pada hari iklan tayang. Kalau customer perlu waktu berminggu-minggu untuk memutuskan, revenue sebuah bulan sebagian berasal dari iklan bulan sebelumnya.
| Angka campaign B (ilustrasi) | Bulan 1 | Bulan 2 |
|---|---|---|
| Spend | Rp 6.000.000 | Rp 6.000.000 |
| Closing dari lead yang masuk di bulan itu | 5 closing, Rp 15.000.000 | 3 closing, Rp 9.000.000 |
| Closing susulan dari lead bulan 1, dicatat di bulan 2 | tidak ada | 2 closing, Rp 6.000.000 |
| Revenue di Campaign Report periode itu | Rp 15.000.000 | Rp 15.000.000 |
| ROAS periode (revenue report dibagi spend) | 2,5 | 2,5 |
| ROAS kohort (closing dari lead bulan itu dibagi spend) | 3,5 setelah closing susulan masuk | 1,5 untuk sementara, closing susulannya belum masuk |
Report periode menampilkan dua bulan yang sama-sama 2,5. Padahal bulan 1 lebih baik dari kelihatannya, dan bulan 2 sedang menurun tetapi tertutup closing susulan dari bulan 1. Ini bukan salah hitung. Revenue memang dicatat di hari closing, dan spend di hari iklan tayang. Solusinya adalah membaca dua sudut pandang:
| Metode | Cara di Dalekta | Cocok untuk |
|---|---|---|
| ROAS periode | Campaign Report dengan rentang tanggal yang sama dengan spend. | Pantauan harian atau mingguan, dan bisnis dengan siklus closing pendek. |
| ROAS kohort | Di halaman Leads, set rentang ke tanggal lead masuk dan filter campaign. Ekspor Excel, lalu jumlahkan kolom Purchase Value per Campaign Name. | Keputusan budget besar dan bisnis dengan siklus closing panjang, untuk traffic landing page yang membawa UTM atau campaign ID. Baca setelah siklus closing lewat. |
Rentang tanggal di halaman Leads membatasi lead berdasarkan tanggal masuk, dan ekspor mengikuti rentang serta filter yang sedang aktif. Batas per file adalah 50.000 lead.
Satu hal lagi yang menggeser periode: setiap kali nominal closing disimpan ulang di Leads, tanggal closing ikut diperbarui ke saat itu. Mengoreksi nominal transaksi bulan lalu akan memindahkan revenue-nya ke periode saat koreksi dilakukan. Kalau Anda perlu mengoreksi, catat perubahan itu supaya angka periode sebelumnya bisa dijelaskan.
05Enam jebakan yang membuat ROAS salah baca
| Jebakan | Yang terjadi | Cara mengatasi |
|---|---|---|
| Chat dianggap revenue | Campaign dinilai dari biaya per chat, padahal chat dari orang yang tidak pernah membeli ikut terhitung. | Nilai campaign dari Closing dan Revenue. Pakai jumlah chat hanya sebagai indikator awal. |
| Nominal tidak tercatat atau salah baca | Closing ada tetapi revenue kosong atau salah, sehingga ROAS tampak lebih rendah dari kenyataan. | Closing manual di Leads selalu meminta nominal lebih dari 0. Rule Closing butuh kalimat CS yang cocok dan nominal yang terbaca, jadi tulis nominal dengan format Rp 500.000. Cek lead Closing yang nominalnya kosong sebelum menghitung. |
| Pelanggan lama membeli lagi | Chat lanjutan dari nomor yang sama ke session WhatsApp yang sama, tanpa kode tracking baru, umumnya masuk ke lead lama dan mempertahankan atribusi chat pertama. Satu lead hanya menyimpan satu nominal closing, dan mengisi closing lagi dengan nominal baru menggantikan nominal lama, bukan menambahnya. | Tetapkan satu kebijakan tertulis. Misalnya hanya transaksi pertama yang dihitung sebagai revenue campaign, sedangkan repeat order dicatat di laporan penjualan Anda sendiri. |
| Lead tanpa campaign | Lead dari URL tanpa parameter masuk sebagai Organic atau tanpa campaign. Chat baru dari link wa.me manual tanpa kode lead atau metadata iklan tidak membuat lead sama sekali. Revenue keduanya tidak bisa dibagi ke iklan, jadi ROAS per campaign terlihat terlalu rendah. | Catat sebagai revenue tak teratribusi dan jangan dibagi rata. Kecilkan porsinya dengan memasang rotator di semua tombol WhatsApp dan URL Parameters di level iklan. |
| Periode atau mata uang tidak sama | Revenue satu bulan dibagi spend dua bulan, atau nominal Rupiah dibagi spend akun iklan berdenominasi dolar. | Samakan rentang tanggal dan mata uang di kedua sisi sebelum membagi. |
| Refund dan pembatalan | Report menjumlahkan nominal closing yang tersimpan dan tidak memotong refund atau pembatalan secara otomatis. | Catat pengurangnya di spreadsheet ROAS Anda. Kalau nominal lead dikoreksi, tanggal closing ikut berubah ke saat koreksi, dan event Closing yang sudah terkirim ke Meta tidak dikirim ulang. |
06Attribution iklan WhatsApp: kenapa angka Dalekta dan Ads Manager berbeda
Attribution adalah cara sebuah hasil dikaitkan ke iklan tertentu. Ads Manager dan Dalekta memakai cara yang berbeda, sehingga angkanya tidak akan persis sama.
| Aspek | Ads Manager | Dalekta |
|---|---|---|
| Yang dihitung | Hasil menurut objective iklan dan pengaturan attribution akun, misalnya percakapan, lead, atau purchase dari event yang diterima Meta. | Pesan WhatsApp yang benar-benar masuk, status lead, dan nominal closing yang dicatat. |
| Cara mengaitkan ke iklan | Model attribution Meta, termasuk jendela klik dan tayangan yang dipilih di akun. | Kode lead di pesan pertama (D-), atau metadata iklan CTWA (CTWA-). Tidak ada pengaturan jendela hari. |
| Kapan revenue muncul | Hanya jika event Purchase dengan value diterima dan cocok, misalnya lewat Conversions API. | Saat status Closing dan nominalnya tersimpan di lead. |
| Data biaya | Spend per campaign, adset, dan iklan. | Bukan sumber data biaya. Ambil spend dari Ads Manager. |
Pegangan yang aman: pakai Dalekta untuk revenue per campaign karena nominalnya berasal dari closing yang dicatat tim Anda, pakai Ads Manager untuk spend dan delivery, lalu gabungkan sendiri dengan rumus di atas. Kalau tahap Closing dipetakan ke Purchase lewat Event Mapping, kolom purchase di Ads Manager juga bisa terisi, terutama untuk traffic landing page yang membawa fbclid. Lead dari iklan CTWA murni tidak punya klik landing page, jadi event-nya dikirim tanpa data klik website. Kualitas match-nya lebih rendah dan Meta bisa menganggapnya kurang lengkap. Dalekta juga belum memakai jalur Business Messaging CAPI, jadi closing CTWA tidak boleh dianggap otomatis muncul di Ads Manager. Angkanya mengikuti attribution Meta, jadi selisih dengan hitungan Anda wajar. Yang perlu diselidiki adalah selisih yang besar dan tiba-tiba. Alur pengiriman closing ke Meta dan batasnya untuk lead CTWA dijelaskan di Meta CAPI untuk WhatsApp.
Dalekta tidak menyediakan pengaturan jendela attribution seperti di Ads Manager. Klik dipasangkan ke chat lewat kode lead, dan data yang bisa dibaca dibatasi retensi paket. Untuk melihat definisi Visit LP, Click CTA, Masuk WA, sampai Closing, baca aturan attribution dan counting.
07Membaca hasilnya dan memutuskan budget
| Pola | Kemungkinan makna | Langkah pertama |
|---|---|---|
| ROAS di atas titik impas dan closing cukup banyak | Campaign layak dipertahankan atau dinaikkan. | Naikkan budget bertahap, lalu baca ROAS periode berikutnya sebelum menaikkan lagi. |
| Chat banyak, closing sedikit, ROAS di bawah titik impas | Kualitas lead atau follow up bermasalah. | Cek kolom MQL dan Prospek, kecepatan balas sales, dan riwayat chat di Inbox. |
| Chat sedikit, nilai transaksi tinggi, ROAS di atas titik impas | Biaya per chat yang tinggi bukan masalah. | Jangan mematikan campaign hanya karena biaya per chat naik. |
| Revenue kosong atau turun mendadak | Nominal tidak tercatat, atau tracking terputus. | Cek lead Closing tanpa nominal, lalu cek campaign unknown dan Organic yang membesar. |
| ROAS hitungan Anda jauh di bawah ROAS di Ads Manager | Banyak lead tanpa campaign, atau attribution Meta lebih longgar. | Lihat porsi lead tanpa campaign di Campaign Report, lalu bandingkan urutan campaign dari kedua sumber. |
08Pertanyaan umum
Apa rumus ROAS untuk iklan WhatsApp?
ROAS dihitung dengan membagi revenue dengan biaya iklan. Untuk iklan WhatsApp, jumlahkan nominal closing dari lead yang berasal dari satu campaign, lalu bagi dengan spend campaign yang sama pada periode dan mata uang yang sama. Contoh ilustrasi: revenue Rp 15.000.000 dibagi spend Rp 6.000.000 menghasilkan ROAS 2,5.
Berapa ROAS yang bagus untuk iklan WhatsApp?
Tidak ada angka universal karena semuanya bergantung pada margin. ROAS impas adalah 1 dibagi margin kotor: margin 50% berarti impas di 2,0, margin 25% berarti impas di 4,0. ROAS di atas titik impas berarti iklan sudah menutup biaya produk dan biaya iklannya. Hitung margin Anda sebelum menilai angkanya.
Apakah Dalekta menghitung ROAS secara otomatis?
Belum. Campaign Report Dalekta menampilkan chat, closing, dan revenue per campaign, tetapi tidak menyediakan spend per campaign. Biaya per closing dan ROAS Anda hitung sendiri dengan membagi revenue dari report dengan spend campaign yang sama di Ads Manager. Dalekta juga tidak memberi jaminan kenaikan ROAS.
Kenapa ROAS di Ads Manager berbeda dengan hitungan dari data closing?
Ads Manager memakai model attribution Meta dan hanya menghitung purchase dari event yang diterimanya. Hitungan dari closing memakai nominal yang dicatat sales dan kode lead di chat. Selisih kecil wajar. Yang perlu dicek adalah selisih besar, urutan campaign yang berlawanan, atau banyaknya lead tanpa campaign.
Bagaimana menghitung ROAS kalau closing terjadi berminggu-minggu setelah chat?
Pisahkan ROAS periode dan ROAS kohort. ROAS periode membagi revenue yang dicatat pada periode itu dengan spend periode itu. ROAS kohort menjumlahkan closing dari lead yang masuk pada periode tersebut setelah siklus closing lewat, misalnya lewat ekspor Leads untuk traffic landing page. Pakai kohort untuk keputusan budget besar.

