Facebook Pixel vs Conversions API (CAPI): Apa Bedanya dan Kenapa Harus Dipakai Keduanya
Facebook Pixel adalah kode pelacakan yang dipasang hampir semua advertiser di website mereka, agar Meta tahu siapa yang masuk ke website, siapa yang menekan beli, dan iklan mana yang benar-benar menghasilkan penjualan. Tapi beberapa tahun terakhir, data dari Pixel saja makin banyak yang hilang, baik karena ad blocker, pengaturan privasi browser, maupun batasan di perangkat iOS.
Karena itu Meta menyediakan Conversions API atau CAPI untuk mengirim event yang sama dari server Anda langsung ke Meta. Artikel ini menjelaskan apa bedanya Facebook Pixel dan Conversions API, kenapa Meta menyarankan keduanya dipakai bersama, cara mengatur dedup agar penjualan tidak terhitung ganda, dan cara instalasi server-side mana yang cocok untuk siapa.
Facebook Pixel Adalah Apa, dan Bagaimana Cara Kerjanya
Facebook Pixel (sekarang Meta menyebutnya Meta Pixel) adalah kode JavaScript yang dipasang di halaman website. Saat pengunjung membuka halaman, browser mereka memuat kode ini lalu mengirim berbagai event ke Meta, seperti PageView, ViewContent, AddToCart, Lead, atau Purchase, beserta data pendukung seperti nilai pesanan dan mata uang.
Data ini dipakai untuk tiga hal: mengukur kampanye mana yang menghasilkan konversi, membantu sistem iklan belajar harus menampilkan iklan ke orang seperti apa, dan membuat audiens untuk retargeting, misalnya orang yang sudah memasukkan barang ke keranjang tapi belum bayar.
Poin pentingnya, semua ini terjadi di sisi browser. Pixel hanya bekerja kalau browser pengguna mau memuat skrip dan mau mengirim data keluar. Kalau ada yang menghalangi di tengah jalan, event itu hilang begitu saja tanpa Anda sadari.
Kalau baru mulai beriklan, baca dasar-dasarnya di cara iklan di Facebook untuk pemula. Dan karena Pixel bekerja di halaman website Anda, kualitas halaman tujuan sama pentingnya; lihat juga landing page adalah apa.
Kenapa Pixel Saja Tidak Bisa Mengumpulkan Data Secara Lengkap
Pelacakan di sisi browser punya kelemahan struktural, bukan masalah salah pasang. Sekalipun kodenya dipasang benar di setiap baris, sebagian data tetap akan hilang karena hal-hal berikut.
- Ad blocker dan ekstensi privasi — banyak yang memblokir skrip Meta sejak awal, sehingga event dari pengguna kelompok ini tidak terkirim sama sekali.
- Sistem anti-pelacakan browser — Safari punya Intelligent Tracking Prevention (ITP), dan browser lain juga punya fitur serupa, yang membatasi umur cookie yang dibuat dengan JavaScript sehingga menghubungkan klik iklan dengan pembelian yang terjadi beberapa hari kemudian jadi lebih sulit.
- Izin pelacakan di iOS — sejak Apple menambahkan permintaan izin pelacakan lintas aplikasi, banyak pengguna memilih tidak mengizinkan, sehingga data yang dipakai Meta untuk mencocokkan pengguna makin sedikit.
- Internet putus atau halaman ditutup terlalu cepat — pengguna sudah bayar lalu menutup tab sebelum halaman terima kasih selesai dimuat, sehingga event Purchase tidak terkirim.
- Persetujuan cookie — kalau website punya banner persetujuan dan pengguna tidak menyetujui, Pixel memang seharusnya tidak berjalan sejak awal.
Conversions API (CAPI) Adalah Apa, dan Bedanya dengan Pixel
Conversions API adalah jalur yang memungkinkan server Anda mengirim event ke Meta secara langsung, dari server ke server, tanpa melewati browser pengguna. Saat ada pesanan di sistem backend, server bisa langsung mengirim event Purchase ke Meta. Ad blocker di browser pun tidak berpengaruh pada jalur ini.
Kelebihan lainnya, CAPI bisa mengirim data yang tidak dimiliki browser, seperti pesanan yang pembayarannya sudah benar-benar terkonfirmasi, lead yang sudah dicek tim sales dan dinilai berkualitas, atau pembatalan pesanan. Dengan begitu, data yang dipakai sistem iklan untuk belajar lebih mendekati penjualan sebenarnya.
Tapi CAPI tidak menggantikan Pixel, karena Pixel melihat perilaku di halaman yang tidak dilihat server, seperti scroll melihat produk, dan ada cookie Meta di browser yang membantu mencocokkan pengguna. Karena itu Meta menyarankan keduanya dipakai bersama, lalu biarkan sistem membuang event yang ganda.
| Topik | Facebook Pixel | Conversions API |
|---|---|---|
| Mengirim data dari | Browser pengguna | Server Anda |
| Terkena ad blocker | Terdampak | Tidak lewat browser, jadi tidak terblokir dari sisi itu |
| Instalasi | Pasang kode di website, tidak lama | Butuh plugin, gateway, atau kode di sisi server |
| Data yang bisa dikirim | Perilaku di halaman web | Event dari sistem backend, misalnya konfirmasi pembayaran |
| Pencocokan pengguna | Memakai cookie Meta di browser | Memakai data pelanggan yang sudah di-hash + fbp/fbc yang diteruskan |
Dipakai Bersama? Wajib Atur Deduplication dengan event_id
Kalau Pixel dan CAPI sama-sama mengirim event Purchase yang sama dan Meta tidak diberi tahu bahwa itu event yang sama, penjualan akan terhitung dua kali, laporan terlihat lebih bagus dari kenyataan, dan sistem iklan belajar dari data yang salah.
Cara yang disarankan Meta adalah mengirim kode event yang sama dari kedua sisi. Di sisi Pixel, isi eventID di parameter keempat perintah fbq track, dan di sisi CAPI isi event_id. Nilainya harus sama, dan nama event-nya juga harus sama, yaitu event di Pixel harus sama dengan event_name di CAPI, misalnya Purchase di keduanya.
Menurut dokumentasi Meta, kalau menerima event dengan pasangan event_id dan event_name yang sama dari Pixel yang sama dalam 48 jam, sistem akan menyimpan satu saja dan membuang yang ganda. Dalam praktiknya, kode ini sering memakai nomor pesanan, atau dibuat sebagai nilai acak saat pengguna menekan tombol, lalu nilai yang sama dikirim ke kode di halaman web dan ke server.
Event Match Quality dan Hashing Data Pelanggan
Event yang dikirim lewat CAPI baru berguna kalau Meta bisa mencocokkan siapa penggunanya. Events Manager punya skor Event Match Quality yang menunjukkan seberapa baik data pelanggan yang Anda kirim membantu pencocokan. Makin lengkap parameter yang benar, makin tinggi skornya.
Data pribadi seperti email, nomor telepon, nama depan, nama belakang, kota, kode pos, dan external_id harus dinormalisasi dulu ke format standar, lalu di-hash dengan SHA-256. Misalnya email harus dipangkas spasi di awal dan akhir serta diubah ke huruf kecil. Nomor telepon hanya boleh berisi angka, nol di depan dihapus, dan diberi kode negara. Nomor Indonesia 0812-3456-7890 menjadi 6281234567890 sebelum di-hash.
Sebaliknya, beberapa data harus dikirim tanpa hash, yaitu client_ip_address, client_user_agent, fbp (cookie _fbp yang mengidentifikasi browser), dan fbc (nilai yang berasal dari fbclid saat pengguna mengklik iklan). Untuk event dari website, Meta mewajibkan client_user_agent ikut dikirim.
- em, ph, fn, ln, ct, zp, country, external_id — normalisasi lalu hash dengan SHA-256
- client_ip_address, client_user_agent — kirim nilai asli tanpa hash, diambil dari request pengguna
- fbp, fbc — baca dari cookie pengguna lalu teruskan tanpa hash, membantu event dari server dicocokkan dengan event dari browser secara lebih akurat
Ada Berapa Cara Memasang Conversions API, dan Mana yang Sebaiknya Dipilih
Tidak ada cara terbaik untuk semua orang. Tergantung website Anda dibuat dengan apa, ada developer di tim atau tidak, dan seberapa ingin Anda mengendalikan data sendiri. Tabel ini merangkum empat pilihan utama.
| Cara | Cocok untuk | Kelebihan | Keterbatasan |
|---|---|---|---|
| Plugin atau integrasi platform, seperti Shopify atau plugin Facebook for WooCommerce | Toko yang memakai platform siap pakai | Setting beberapa klik, tidak perlu server tambahan | Kustomisasi event terbatas, tergantung apa yang didukung plugin |
| Conversions API Gateway dari Meta | Bisnis tanpa developer yang ingin CAPI lengkap | Diatur lewat Events Manager, ada dedup bawaan, bisa update sendiri | Harus berjalan di akun cloud yang didukung (AWS atau GCP) atau lewat partner, tidak dirancang untuk VPS biasa |
| Server-side Google Tag Manager di server Anda sendiri | Website yang sudah memakai GTM dan ingin mengirim data ke banyak platform | Mengelola tag Meta, GA4, dan lainnya dari satu tempat, data melewati domain Anda dulu | Harus menyiapkan server, subdomain HTTPS, dan merawatnya sendiri secara berkelanjutan |
| Memanggil API langsung dari sistem backend | Website buatan sendiri yang punya developer | Kendali data paling detail, bisa mengirim segala jenis event dari backend | Harus menulis dan merawat kode sendiri, termasuk hashing, dedup, dan penanganan error |
Di Mana VPS Membantu, dan Butuh Spek Berapa
Contoh mengirim event dengan curl
Dua cara terakhir di tabel butuh server yang menyala terus dan punya HTTPS. Kalau server mati, semua event dari sisi CAPI akan hilang selama periode itu. Di sinilah VPS berperan.
Untuk server-side GTM yang diinstal sendiri, Google punya panduan manual setup yang memungkinkan tagging server dijalankan sebagai Docker image di mesin pilihan Anda, dengan tagging server dan preview server yang diarahkan dari subdomain HTTPS website Anda. Google menyebutkan tiap mesin sebaiknya tidak lebih dari 1 vCPU karena vCPU berlebih tidak terpakai, dan menyarankan menjalankannya sebagai cluster saat traffic tinggi. Untuk website kecil sampai menengah, VPS dengan 2 vCores / 4 GB RAM sanggup menjalankan keduanya beserta reverse proxy dengan lega.
Kalau Anda menulis endpoint penerima event sendiri lalu meneruskannya ke Meta, pekerjaannya sangat ringan. VPS paling kecil pun bisa menjalankannya kalau traffic tidak tinggi, tapi sebaiknya ada antrean atau mekanisme kirim ulang untuk berjaga-jaga kalau Meta merespons lambat. Sedangkan Conversions API Gateway, menurut dokumentasi Meta, harus berjalan di akun AWS atau GCP, jadi bukan pilihan untuk VPS biasa.
Menjalankan sGTM atau endpoint Anda sendiri dengan Docker membuat pindah mesin dan update jauh lebih mudah. Kalau ingin tahu VPS bisa membantu pekerjaan iklan dalam hal apa lagi, lanjutkan ke VPS untuk advertiser.
- Kirim POST ke https://graph.facebook.com/vXX.0/PIXEL_ID/events, ganti vXX.0 dengan versi Graph API yang dipakai, dan sertakan access_token yang dibuat dari Events Manager.
- Contoh perintah: curl -X POST "https://graph.facebook.com/vXX.0/PIXEL_ID/events?access_token=TOKEN" -H "Content-Type: application/json" -d @event.json
- Di file event.json, isi data sebagai array event. Setiap event berisi event_name, event_time (Unix timestamp dalam detik), event_id, action_source berisi website, event_source_url, dan user_data yang berisi em yang sudah di-hash, client_ip_address, client_user_agent, fbp, fbc.
- Saat pengujian, tambahkan test_event_code di level teratas payload, lalu hapus sebelum dipakai sungguhan.
Menguji dengan Test Events dan Kesalahan yang Sering Terjadi
Setelah instalasi selesai, masuk ke Events Manager, pilih Pixel Anda, lalu buka tab Test events. Untuk Pixel, buka website lewat kolom pengujian lalu coba lakukan event sungguhan. Untuk CAPI, salin kode tes ke test_event_code di payload. Event akan muncul hampir seketika, disertai keterangan apakah datang dari browser atau server, dan apakah sudah di-dedup.
Kalau event yang sama muncul dari kedua sisi dan sistem menyatakan sudah di-dedup, berarti event_id sudah benar. Setelah itu, lihat skor Event Match Quality di halaman ringkasan setelah data nyata masuk beberapa saat.
| Kesalahan | Akibatnya | Cara memperbaiki |
|---|---|---|
| Mengirim dari Pixel dan CAPI tapi tanpa event_id atau nilainya berbeda | Konversi terhitung ganda, laporan melebihi kenyataan | Pakai event_id yang sama di kedua sisi dan samakan nama event persis |
| Mengirim email atau nomor telepon tanpa hash | Berisiko soal data pribadi dan tidak tercocokkan sebagaimana mestinya | Normalisasi lalu hash dengan SHA-256 setiap kali sebelum mengirim |
| Meng-hash IP, user agent, fbp, atau fbc | Meta tidak bisa memakai nilai-nilai ini untuk mencocokkan | Kirim empat nilai ini tanpa hash |
| event_time dalam milidetik, atau memakai waktu kirim alih-alih waktu kejadian | Event ditolak atau waktunya melenceng | Pakai Unix timestamp dalam detik dari waktu kejadian sebenarnya, dan tidak boleh lebih lama dari 7 hari |
| Lupa menghapus test_event_code saat dipakai sungguhan | Event muncul di halaman pengujian sehingga membingungkan saat pengecekan | Pisahkan konfigurasi pengujian dan produksi dengan jelas |
| Mengirim event dari server tanpa memedulikan persetujuan cookie | Bertentangan dengan yang sudah diberitahukan ke pengguna | Pastikan sisi server menghormati status persetujuan yang sama dengan sisi browser |
Ingin Menjalankan Server-side GTM atau Endpoint CAPI di Mesin Sendiri?
Cloud VPS di data center Bangkok, Thailand · pilih Windows atau Linux · KVM dengan akses root penuh · bisa menjalankan Docker · IPv4 tambahan 100฿ per IP · mulai 150฿/bln
Pertanyaan yang Sering Diajukan
Facebook Pixel adalah apa?
Facebook Pixel atau Meta Pixel adalah kode JavaScript yang dipasang di website untuk mengirim event seperti kunjungan halaman, tambah ke keranjang, dan pembelian dari browser pengguna ke Meta. Dipakai untuk mengukur hasil iklan, membantu sistem iklan belajar, dan membuat audiens untuk retargeting.
Sudah pakai Conversions API, apakah masih perlu Pixel?
Sebaiknya dipakai bersama. Meta menyarankan mengirim event dari Pixel dan Conversions API sekaligus, lalu mengatur deduplication dengan event_id dan event_name, karena tiap sisi melihat data yang berbeda. Pixel melihat perilaku di halaman web, sedangkan CAPI tetap bisa mengirim walaupun browser terblokir.
Apakah memasang Conversions API harus menulis kode?
Tidak selalu. Kalau memakai Shopify atau WooCommerce, ada integrasi resmi yang bisa diaktifkan dari halaman pengaturan, atau bisa memakai Conversions API Gateway dari Meta yang diatur lewat Events Manager di akun AWS atau GCP. Tapi kalau website dibuat sendiri dan ingin mengendalikan data secara detail, memanggil API dari backend atau memakai server-side GTM lebih fleksibel.
Data apa saja yang harus di-hash sebelum dikirim?
Data pribadi seperti email, nomor telepon, nama depan, nama belakang, kota, kode pos, negara, dan external_id harus dinormalisasi lalu di-hash dengan SHA-256. Sedangkan client_ip_address, client_user_agent, fbp, dan fbc harus dikirim tanpa hash.
Menjalankan server-side GTM di VPS butuh spek berapa?
Google menyebutkan tiap tagging server sebaiknya tidak lebih dari 1 vCPU karena kelebihannya tidak terpakai. Untuk website kecil sampai menengah, VPS 2 vCores / 4 GB RAM sanggup menjalankan tagging server dan preview server dengan Docker beserta reverse proxy dengan lega. Kalau traffic sangat tinggi, baru pisahkan ke beberapa mesin, dan sebaiknya lihat pemakaian resource nyata sebagai bahan keputusan.
GUIDES
Artikel terkait
Lanjut membaca topik serupa
VPS untuk Advertiser: Apa yang Benar-Benar Bisa, dan Apa yang Tidak
Makin banyak advertiser Facebook, Meta, dan Google Ads yang menyewa VPS, tapi alasan orang membeli sering tidak sesuai dengan apa yang sebenarnya bisa dilakukan VPS. Artikel ini memisahkan dengan jelas mana yang worth it, mana yang salah kaprah, dan pekerjaan seperti apa yang bisa kami terima.
Baca selengkapnyaLanding Page Adalah Apa? Cara Membuatnya Cepat dan Bikin Orang Isi Formulir
Landing page adalah halaman web yang menerima orang dari iklan lalu mengarahkannya ke satu tindakan, seperti mengisi formulir atau mengirim chat. Artikel ini menjelaskan bedanya dengan homepage, apa saja isinya, kenapa kecepatan muat memengaruhi biaya iklan, dan checklist sebelum kampanye dimulai.
Baca selengkapnyaApa Itu VPS? Fungsi & Kegunaannya, Versi Mudah Dipahami
Rangkuman lengkap soal VPS — apa itu VPS server, cara kerjanya, bedanya Cloud VPS dengan VPS biasa, bisa dipakai untuk apa, dibanding Shared Hosting dan Dedicated, siapa yang cocok memakainya, dan cara memulainya di 2026.
Baca selengkapnya