01Kenapa UTM dan fbclid hilang saat visitor pindah ke WhatsApp
UTM dan fbclid hidup di query string, yaitu bagian URL setelah tanda tanya. Selama visitor masih berada di browser, parameter itu terlihat di address bar dan bisa dibaca script di landing page. Begitu visitor menekan tombol WhatsApp, browser membuka aplikasi WhatsApp lewat link wa.me, dan di situ rantainya putus.
Link WhatsApp hanya membawa dua muatan: nomor tujuan dan teks pesan yang sudah terisi, seperti dijelaskan di halaman bantuan WhatsApp tentang klik yang mengarah ke chat. URL halaman asal, cookie website, dan referrer tidak ikut ke dalam chat. Tabel ini merangkum apa yang selamat di tiap kondisi.
| Data | Di landing page | Lewat link wa.me langsung | Lewat script dan rotator Dalekta |
|---|---|---|---|
utm_*, campaign_id, adset_id, ad_id | Ada di query string | Tidak ikut | Tersimpan di catatan klik dan lead |
fbclid | Ada di query string bila Meta menambahkannya | Tidak ikut | Tersimpan di catatan klik dan lead |
fbc dan fbp | Cookie atau penyimpanan browser | Tidak ikut | Tersimpan di catatan klik untuk Meta CAPI |
| Klik tombol WhatsApp tercatat | Tidak | Tidak | Ya, sebagai Click CTA |
| Penghubung ke chat | Belum ada | Tidak ada | Kode [D-...] di teks pesan pertama |
Yang menyeberang hanya teks pesan, dan pelanggan bisa mengubahnya. Karena itu Dalekta tidak mencoba membawa UTM ke dalam WhatsApp. UTM disimpan di sisi Dalekta pada saat klik, lalu kode lead pendek di teks pesan berfungsi sebagai tiket yang menyambungkan chat ke catatan itu. Chat baru yang masuk tanpa kode [D-...] dan tanpa metadata iklan tidak bisa disambungkan ke klik, sehingga tidak membuat lead. Pesannya hanya tersimpan, tanpa data campaign.
02Jalur parameter dari klik iklan sampai lead
Contoh berikut memakai nilai ilustrasi, bukan data pelanggan. Perhatikan URL mana yang membawa parameter dan URL mana yang tidak.
1. URL landing page saat iklan diklik (Meta mengisi placeholder dan menambahkan fbclid)
https://landing-anda.com/?utm_source=meta&utm_medium=paid&utm_campaign=leads-promo-ramadan&utm_term=broad-25-45&utm_content=video-demo-01&campaign_id=1200000001&adset_id=1200000002&ad_id=1200000003&site_source_name=ig&fbclid=IwAR_CONTOH
2. Link rotator di halaman, setelah script menambahkan data (dipotong, ID visitor, ID sesi, dan kode lead disingkat)
https://dalekta.id/KODE_WORKSPACE/wa/lp-utama?[ID visitor]&[ID sesi]&[kode lead D-7K2QM]&utm_source=meta&utm_campaign=leads-promo-ramadan&...&fbclid=IwAR_CONTOH&fbc=fb.1.1780000000000.IwAR_CONTOH&fbp=fb.1.1780000000000.123456789
3. Alamat WhatsApp hasil redirect rotator: hanya nomor dan teks
https://wa.me/628xxxxxxxxxx?text=%5BD-7K2QM%5D%20Halo%2C%20saya%20tertarik%20dengan%20penawaran%20dari%20iklan.URL ketiga sudah bersih dari UTM. Semua konteks campaign sudah tersimpan di Dalekta sebelum redirect terjadi. Urutan kejadiannya:
- Visitor mengklik iklan. Meta mengisi placeholder di URL Parameters dengan nama dan ID sebenarnya, biasanya menambahkan
fbclid, lalu landing page terbuka. - Tracking script membaca parameter dari URL dan menyimpannya di penyimpanan browser, terpisah per kode workspace. Script juga mencatat Visit LP.
- Script menambahkan parameter tersimpan, ID visitor, ID sesi, dan kode lead ke setiap link rotator di halaman. Ini terjadi saat halaman dimuat dan sekali lagi saat link diklik.
- Rotator menerima klik, membaca parameter dari URL-nya sendiri, mencatat Click CTA, lalu membuat atau memperbarui lead dengan data campaign itu.
- Rotator mengganti
[kode]di template pesan dengan kode lead, memilih nomor sales penerima, lalu mengarahkan visitor ke WhatsApp. Di ponsel dengan deeplink aktif, tujuannyawhatsapp://send, bukanwa.me. - Pelanggan mengirim pesan berkode. Dalekta mencocokkan kode itu ke lead yang sudah menyimpan data campaign, dan status berubah menjadi Masuk WA.
Cara memasang tiap bagian ada di cara tracking WhatsApp dari Facebook Ads, dan gambaran besar dari iklan sampai closing ada di panduan tracking closing WhatsApp dari iklan. Detail rotator ada di WhatsApp Rotator.
03Parameter yang dibaca script dan tampil di lead
Script membaca daftar tetap parameter dari URL. Untuk Meta, daftarnya: utm_source, utm_medium, utm_campaign, utm_term, utm_content, campaign_id, adset_id, ad_id, campaign_name, adset_name, ad_name, site_source_name, fbclid, fbc, dan fbp. Tabel ini menunjukkan ke mana nilainya pergi dan apa cadangannya bila kosong.
| Parameter di URL | Tampil di lead sebagai | Urutan cadangan atau catatan |
|---|---|---|
utm_source dan site_source_name | Sumber | Jika site_source_name bernilai fb atau ig, nilai itu dipakai sehingga lead bisa dibedakan antara Facebook dan Instagram. |
utm_medium | Medium | Tidak ada cadangan. |
utm_campaign | Campaign | campaign_name, lalu campaign_id. |
adset_name atau utm_term | Ad set | adset_id. |
ad_name atau utm_content | Iklan | ad_id. |
campaign_id, adset_id, ad_id | Detail di bawah nama di Campaign Report | Dipakai sebagai nama bila nama kosong. |
fbclid | Click ID | Menandai lead sebagai Meta dan menjadi bahan fbc untuk CAPI. |
fbc dan fbp | Tidak tampil di lead | Disimpan di catatan klik dan ikut terkirim ke Meta CAPI bila tersedia. |
Parameter di luar daftar itu tidak diteruskan script. Itu berlaku untuk placement dan ad_account_id di template Meta, dan juga untuk parameter tambahan seperti utm_id. Nilainya tidak disimpan di lead dan tidak muncul di Campaign Report, jadi jangan mengandalkannya untuk report. Penjelasan lengkap tiap parameter template ada di URL Parameter Meta Ads.
adset_name dan iklan B tidak, visitor yang mengklik A lalu B bisa tercatat dengan campaign B tetapi ad set A. Pakai satu template lengkap yang sama di semua iklan.04Kenapa fbclid dan UTM menentukan pengiriman ke Meta CAPI
Parameter iklan bukan hanya label di report. Saat status lead berubah dan Meta CAPI aktif, Dalekta lebih dulu memeriksa apakah lead itu berasal dari Meta. Petunjuknya adalah fbclid, atau utm_source dan site_source_name yang berisi meta, facebook, fb, instagram, atau ig. Lead tanpa petunjuk itu dilewati: tidak ada event yang dikirim ke Meta untuk lead tersebut. Gejalanya biasanya baru terlihat ketika angka di Events Manager lebih kecil dari angka closing di Leads.
| Yang sampai ke lead | Terbaca sebagai | Efek ke Meta CAPI |
|---|---|---|
fbclid dan UTM lengkap | Meta, campaign lengkap | Event dikirim dengan fbc dan data campaign di custom_data. |
fbclid saja, URL Parameters belum dipasang | Meta, campaign kosong | Event dikirim dengan fbc, tetapi tanpa campaign, ad set, dan iklan. |
UTM saja, fbclid terbuang di jalan | Meta, campaign lengkap | Event dikirim, tetapi fbc bisa kosong sehingga satu sinyal pencocokan berkurang. |
| Tidak ada keduanya, misalnya kunjungan organik lewat rotator | Organic | Dilewati. |
Tabel ini mengasumsikan Pixel ID, Access Token, dan mapping event sudah aktif, seperti di Meta CAPI. Format fbc menurut dokumentasi Meta adalah fb.subdomainIndex.creationTime.fbclid. Bila belum ada cookie _fbc dari Pixel, script Dalekta menyusun nilainya dari fbclid di URL, lalu menyimpannya bersama fbp. Bila tersedia, Dalekta mengirim keduanya di user_data event CAPI. Nama dan ID campaign ikut di custom_data, antara lain utm_campaign, utm_term, utm_content, adset_id, dan ad_id.
Bobot fbc terhadap kualitas pencocokan dibahas di event match quality Meta, dan alur pengiriman closing ke Meta ada di Meta CAPI untuk WhatsApp.
05Konvensi penamaan UTM untuk Meta Ads
Template Dalekta memakai placeholder dinamis, jadi Anda tidak mengetik nilai UTM satu per satu. Yang Anda atur adalah nama campaign, ad set, dan iklan di Ads Manager, karena nama itulah yang menjadi nilai utm_campaign, utm_term, dan utm_content. Nama yang rapi hari ini menentukan baris report yang rapi nanti.
| Parameter | Nilai di template Meta | Aturan penamaan | Contoh ilustrasi |
|---|---|---|---|
utm_source | meta (tetap) | Satu nilai untuk semua iklan Meta. Dalekta mengenali meta, facebook, fb, instagram, dan ig. | meta |
utm_medium | paid (tetap) | Satu nilai untuk semua iklan berbayar, supaya terpisah dari traffic organik. | paid |
utm_campaign | {{campaign.name}} | Tujuan, penawaran, periode. Huruf kecil dengan pemisah tanda hubung. | leads-promo-ramadan |
utm_term | {{adset.name}} | Audiens dan lokasi. Di template Dalekta isinya nama ad set, bukan kata kunci. | broad-25-45-jakarta |
utm_content | {{ad.name}} | Format, angle, dan nomor versi. | video-demo-01 |
campaign_id, adset_id, ad_id | {{campaign.id}}, {{adset.id}}, {{ad.id}} | Tidak diketik manual, diisi Meta. | Angka ID dari Meta |
Beberapa contoh nama yang sering muncul di akun iklan, dan bentuk yang lebih aman:
| Nama di Ads Manager | Masalahnya | Perbaikan |
|---|---|---|
Promo Ramadan!! (COPY 2) | Spasi, tanda seru, kurung, dan sisa kata copy dari duplikat. | promo-ramadan-v2 |
promo_a di satu iklan, promo-a di iklan lain | Dua pemisah berbeda menjadi dua baris di report. | Pilih satu pemisah untuk seluruh akun. |
- Dalekta menyatukan huruf besar dan kecil saat mengelompokkan campaign, tetapi alat lain yang ikut membaca URL tidak selalu begitu. Tetap tulis huruf kecil.
- Hindari spasi,
&,#,%,+, dan emoji di nama. Karakter itu rawan berubah bentuk saat nilai di-encode dan di-decode. Dalekta, misalnya, membaca tanda+di nilai parameter sebagai spasi, sehinggapromo+diskontercatat sebagaipromo diskon. - Jangan mengganti nama campaign di tengah periode analisis. Baris campaign di Campaign Report dikelompokkan dari
utm_campaign, jadi klik yang membawa nama baru tampil sebagai baris terpisah dari klik yang membawa nama lama.campaign_idbaru dipakai sebagai nama bilautm_campaigndancampaign_namekosong. - Jangan memasukkan nama orang, nomor telepon, atau data pribadi lain ke nama campaign. Nilainya ikut tersimpan di lead dan ikut terkirim ke Meta di
custom_data.
06Template UTM Meta Ads siap salin
Salin template parameter URL Meta Ads dari dashboard Dalekta: Tracking Ads, tab UTM, pilih Meta, lalu Copy Meta. Hasil salinannya diawali tanda tanya, jadi hapus tanda itu sebelum menempelnya ke kolom URL Parameters. Bentuk dasarnya, sudah tanpa tanda tanya:
utm_source=meta&utm_medium=paid&utm_campaign={{campaign.name}}&utm_term={{adset.name}}&utm_content={{ad.name}}&campaign_id={{campaign.id}}&adset_id={{adset.id}}&ad_id={{ad.id}}&campaign_name={{campaign.name}}&adset_name={{adset.name}}&ad_name={{ad.name}}&site_source_name={{site_source_name}}&placement={{placement}}&ad_account_id=ANGKA_ID_AKUN_IKLANMeta tidak punya placeholder untuk ID akun iklan, jadi ad_account_id berisi angka tetap. Dashboard mengisinya dengan ID akun Meta yang terhubung. Bila belum ada akun terhubung, dashboard menulis {{ad_account.id}}, dan Meta mengirimnya apa adanya. Ganti dengan angka ID akun iklan Anda atau hapus parameter itu, karena script Dalekta tidak meneruskannya ke lead.
Bila Anda ingin mengunci nama secara manual untuk campaign tertentu, ganti parameter nama dengan teks tetap dan biarkan ID tetap dinamis:
utm_source=meta&utm_medium=paid&utm_campaign=leads-promo-ramadan&utm_term=broad-25-45&utm_content=video-demo-01&campaign_id={{campaign.id}}&adset_id={{adset.id}}&ad_id={{ad.id}}&site_source_name={{site_source_name}}Versi teks tetap berguna bila nama di Ads Manager terlanjur berantakan dan tidak bisa dirapikan. Konsekuensinya, tiap iklan harus diedit manual dan tidak ada yang mengoreksi salah ketik. Untuk akun yang penamaannya sudah disiplin, versi dinamis lebih murah dirawat.
?. Isi salah satu saja, karena parameter bisa terkirim dua kali. Kolom ini diatur di level iklan (Ad), bukan campaign atau ad set. Penjelasan Meta ada di Pusat Bantuan Bisnis Meta dan spesifikasi parameter dinamis.{{campaign.name}} langsung di browser, tulisannya tetap apa adanya. Untuk tes sebelum iklan tayang, pakai URL bernilai manual seperti di bagian berikutnya.07Cara memeriksa parameter sampai ke lead
Uji tanpa menunggu iklan tayang. Buat URL simulasi dengan nilai manual dan ganti landing-anda.com dengan domain landing page Anda. Lead tes ikut tercatat di Leads dan report, jadi nama tes-utm sengaja mudah dikenali:
https://landing-anda.com/?utm_source=tes&utm_medium=tes&utm_campaign=tes-utm&utm_term=tes-adset&utm_content=tes-iklan&campaign_id=111&adset_id=222&ad_id=333- Buka URL tes di jendela private. Kode lead tersimpan di browser, jadi tes berikutnya di browser yang sama memperbarui lead lama, bukan membuat lead baru. Setelah halaman selesai dimuat, pastikan query string masih ada di address bar. Jika hilang, penyebab paling mungkin adalah redirect sebelum halaman terbuka, bukan Dalekta.
- Buka DevTools, tab Application, lalu Local Storage untuk domain landing page. Cari entri milik Dalekta yang memuat kode workspace Anda: satu berisi parameter yang tersimpan, satu lagi berisi kode lead
[D-...]. - Klik kanan tombol WhatsApp, pilih Inspect, dan baca
href-nya. Harus berupa link rotator yang sudah ditambahi ID visitor, ID sesi, kode lead, dan parameter UTM tes. Jikahrefmasih berupawa.me, tombol itu belum memakai rotator. - Tekan tombol. WhatsApp terbuka dengan teks berawalan kode lead. Kirim pesan dari akun WhatsApp lain ke nomor session penerima tanpa menghapus kode.
- Buka Leads dan cari kode itu, misalnya
D-7K2QM. Buka detail lead dan cocokkan bagian Sumber lead: Campaigntes-utm, Ad settes-adset, dan Iklantes-iklan.
fbclid dan tanpa utm_source=meta. Lead yang membawa salah satunya dikenali sebagai lead Meta, sehingga bila Pixel ID, Access Token, dan mapping event sudah aktif, status lead tes ikut terkirim ke Meta sebagai event sungguhan. Untuk memeriksa fbclid, tambahkan &fbclid=IwAR_TES ke URL tes sebelum mapping diaktifkan, atau terima bahwa satu event tes akan masuk ke Events Manager. Setelah itu bagian Sumber lead juga menampilkan click ID.Langkah pemasangan script, rotator, dan tes closing selengkapnya ada di cara tracking WhatsApp dari Facebook Ads dan Tracking Ads. Cara membaca panel detail lead ada di Leads.
08Parameter hilang di tengah jalan: penyebab dan perbaikan
Periksa dari atas ke bawah. Penyebab di awal rantai membuat gejala di ujung rantai, jadi memperbaiki yang belakang lebih dulu jarang berhasil.
| Gejala | Penyebab paling umum | Perbaikan |
|---|---|---|
| Lead terbaca Meta, tetapi campaign, ad set, dan iklan kosong | Meta menambahkan fbclid sendiri, tetapi URL Parameters belum dipasang di iklan yang tayang. | Pasang template di level Ad untuk setiap iklan aktif, termasuk iklan hasil duplikat. |
| Parameter ada di URL iklan, hilang di address bar landing page | Redirect dari www ke non-www, dari HTTP ke HTTPS, atau lewat pemendek link membuang query string. | Ubah redirect agar meneruskan query string, lalu tes dengan URL bernilai manual. |
Parameter ada di landing page, tetapi href tombol WhatsApp tidak berubah | Tombol berupa button dengan JavaScript, bukan a href, atau script tidak terpasang di halaman tempat tombol berada. | Pakai elemen a dengan link rotator, dan pasang script di setiap halaman yang punya tombol. |
href tombol tetap tanpa kode lead dan parameter tambahan | Custom domain rotator belum tercantum di script yang terpasang, atau link bukan link rotator Dalekta. | Salin ulang script dari dashboard setelah custom domain aktif. Lihat Custom Domain Setup. |
| Satu campaign muncul sebagai dua baris di report | Ejaan atau pemisah berbeda, misalnya promo-a dan promo_a, atau nama diganti di tengah periode. | Seragamkan format nama dan hindari mengganti nama campaign yang sedang dianalisis. |
| Pelanggan sudah chat, tetapi tidak ada lead baru untuk chat itu di Leads | Pesan pertama masuk tanpa kode [D-...] dan tanpa metadata iklan Click to WhatsApp: kode terhapus atau diedit pelanggan, prefix Masuk WA di Rules tidak cocok dengan kode, atau nomor dipasang polos di bio, materi cetak, dan tombol yang tidak memakai rotator. Pesannya tersimpan, tetapi tidak menjadi lead. | Ganti nomor polos dengan link rotator, pastikan template pesan rotator memuat [kode], dan cek prefix di halaman Rules. |
| Visitor membuka iklan, tetapi parameter tidak ada saat klik WhatsApp | Landing page dibuka di browser dalam aplikasi Facebook atau Instagram, lalu dilanjutkan di browser lain. Penyimpanan tiap browser biasanya terpisah. | Taruh tombol WhatsApp di halaman pertama yang dibuka dari iklan, jangan mengandalkan kunjungan ulang. |
Bila masih buntu, kumpulkan kode lead, URL tes, dan waktu kejadian, lalu ikuti urutan di Troubleshooting. Aturan penghitungan lead tanpa campaign dijelaskan di Attribution & Counting Rules. Kalau angka Pixel di Ads Manager tidak sama dengan angka lead, baca juga data Pixel Facebook hilang.
09Parameter Google: gclid, wbraid, dan gbraid
Dalekta membaca gclid, gbraid, dan wbraid dari URL dengan mekanisme yang sama: script menyimpannya, rotator mencatatnya bersama klik, dan lead menampilkannya sebagai click ID Google. Template UTM Google ada di Tracking Ads, tab UTM. Isinya membawa ID campaign, ad group, dan creative lewat placeholder Google Ads seperti {campaignid} dan {adgroupid}, jadi nama campaign Google di lead berupa angka ID.
Status fitur ini adalah fondasi atau beta. Pembacaan parameter dan tampilan sumbernya sudah ada, tetapi pengiriman conversion ke Google Ads belum diklaim berjalan untuk semua akun. Perlakukan sebagai pelacakan sumber, bukan sebagai jaminan conversion sampai ke Google Ads. Aktifkan auto-tagging di Google Ads agar click ID terisi otomatis, lalu cek hasilnya lewat Google Ads Tracking.
gclid dan fbclid sekaligus, Dalekta membaca platformnya sebagai Google, dan lead itu tidak dikirim ke Meta CAPI. Pakai template Meta hanya di iklan Meta dan template Google hanya di iklan Google.10Pertanyaan umum
Apakah UTM bisa dibawa dari landing page ke WhatsApp?
Tidak langsung. Link wa.me hanya membawa nomor dan teks pesan, sehingga parameter di URL tidak ikut ke aplikasi WhatsApp. Dalekta menyimpan UTM saat visitor mengklik link rotator, lalu menyambungkannya ke chat lewat kode lead [D-...] di pesan pertama. Jika kode itu terhapus, chat baru tidak bisa disambungkan ke klik dan tidak membuat lead.
Kenapa fbclid tidak terlihat di WhatsApp?
Meta menambahkan fbclid ke URL tujuan saat iklan diklik, jadi ia ada di query string landing page, bukan di WhatsApp. Script Dalekta membacanya di landing page dan menyimpannya di catatan klik dan lead. Dari sana Dalekta menyusun fbc untuk Meta CAPI dan menandai lead sebagai berasal dari Meta.
Apakah UTM masih perlu kalau fbclid sudah ada?
Perlu. fbclid hanya menunjukkan bahwa klik berasal dari Meta. Nama campaign, ad set, dan iklan datang dari UTM dan ID di URL Parameters. Tanpa UTM, lead tetap terbaca sebagai Meta, tetapi Campaign Report tidak bisa menunjukkan campaign atau iklan mana yang menghasilkan closing.
Di mana template UTM Meta Ads dipasang?
Di kolom URL Parameters pada level iklan (Ad) di Meta Ads Manager, tanpa tanda tanya di awal. Jika ditempel ke Final URL, awali dengan tanda tanya. Pilih salah satu kolom saja. Ulangi untuk setiap iklan aktif yang mengarah ke landing page, termasuk iklan hasil duplikat.
Apakah UTM berlaku untuk iklan Click to WhatsApp?
Tidak. Iklan Click to WhatsApp membuka chat langsung tanpa landing page, jadi tidak ada landing page yang menerima UTM. Data campaign datang dari metadata iklan yang ikut di pesan pertama, dan Dalekta menyimpannya di lead berkode CTWA-. Jalur ini dibahas terpisah di panduan ctwa tracking.
Bolehkah nama campaign diganti setelah iklan berjalan?
Boleh, tetapi ada harganya. Baris campaign di Campaign Report dikelompokkan dari nilai utm_campaign, jadi klik yang membawa nama baru tampil sebagai baris terpisah dari klik dengan nama lama. Jika harus mengganti nama, catat tanggalnya dan gabungkan kedua baris saat membaca report.
