Cloud VPS

Facebook Pixel vs Conversions API (CAPI): Apa Bedanya dan Kenapa Harus Dipakai Keduanya

Diperbarui 2026-09-21Baca ~10 menit

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.
💡 Berapa persen data yang hilang sangat berbeda tergantung kelompok pelanggan, perangkat, dan jenis website. Tidak ada angka rata-rata yang berlaku untuk semua website. Cara terbaik adalah membandingkan jumlah di Events Manager dengan jumlah pesanan asli di sistem backend Anda sendiri.

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.

TopikFacebook PixelConversions API
Mengirim data dariBrowser penggunaServer Anda
Terkena ad blockerTerdampakTidak lewat browser, jadi tidak terblokir dari sisi itu
InstalasiPasang kode di website, tidak lamaButuh plugin, gateway, atau kode di sisi server
Data yang bisa dikirimPerilaku di halaman webEvent dari sistem backend, misalnya konfirmasi pembayaran
Pencocokan penggunaMemakai cookie Meta di browserMemakai 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.

💡 Meta juga punya cara dedup cadangan yang melihat event_name bersama fbp atau external_id, tapi keterbatasannya lebih banyak. Cara utama yang sebaiknya selalu dipakai adalah event_id dengan event_name.

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
💡 Soal persetujuan: mengirim data pelanggan ke platform iklan adalah pemrosesan data pribadi. Di Indonesia hal ini perlu mempertimbangkan UU Pelindungan Data Pribadi (UU PDP), misalnya dengan mencantumkannya di kebijakan privasi dan meminta persetujuan cookie sebelum mengaktifkan pelacakan untuk pemasaran. Hashing membantu mengurangi risiko, tapi tidak membuat kewajiban ini hilang. Untuk detail yang sesuai dengan bisnis Anda, konsultasikan dengan ahli hukum.

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.

CaraCocok untukKelebihanKeterbatasan
Plugin atau integrasi platform, seperti Shopify atau plugin Facebook for WooCommerceToko yang memakai platform siap pakaiSetting beberapa klik, tidak perlu server tambahanKustomisasi event terbatas, tergantung apa yang didukung plugin
Conversions API Gateway dari MetaBisnis tanpa developer yang ingin CAPI lengkapDiatur lewat Events Manager, ada dedup bawaan, bisa update sendiriHarus 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 sendiriWebsite yang sudah memakai GTM dan ingin mengirim data ke banyak platformMengelola tag Meta, GA4, dan lainnya dari satu tempat, data melewati domain Anda duluHarus menyiapkan server, subdomain HTTPS, dan merawatnya sendiri secara berkelanjutan
Memanggil API langsung dari sistem backendWebsite buatan sendiri yang punya developerKendali data paling detail, bisa mengirim segala jenis event dari backendHarus menulis dan merawat kode sendiri, termasuk hashing, dedup, dan penanganan error
💡 Kalau memakai Shopify atau WooCommerce, selalu mulai dari integrasi resmi platform tersebut, lalu pindah ke cara yang lebih rumit hanya jika benar-benar menemui keterbatasan.

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.
💡 Simpan access_token di environment variable atau file konfigurasi yang tidak ada di kode publik. Jangan menanamnya di halaman web, karena siapa pun yang mendapatkan token bisa mengirim event palsu ke Pixel Anda.

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.

KesalahanAkibatnyaCara memperbaiki
Mengirim dari Pixel dan CAPI tapi tanpa event_id atau nilainya berbedaKonversi terhitung ganda, laporan melebihi kenyataanPakai event_id yang sama di kedua sisi dan samakan nama event persis
Mengirim email atau nomor telepon tanpa hashBerisiko soal data pribadi dan tidak tercocokkan sebagaimana mestinyaNormalisasi lalu hash dengan SHA-256 setiap kali sebelum mengirim
Meng-hash IP, user agent, fbp, atau fbcMeta tidak bisa memakai nilai-nilai ini untuk mencocokkanKirim empat nilai ini tanpa hash
event_time dalam milidetik, atau memakai waktu kirim alih-alih waktu kejadianEvent ditolak atau waktunya melencengPakai Unix timestamp dalam detik dari waktu kejadian sebenarnya, dan tidak boleh lebih lama dari 7 hari
Lupa menghapus test_event_code saat dipakai sungguhanEvent muncul di halaman pengujian sehingga membingungkan saat pengecekanPisahkan konfigurasi pengujian dan produksi dengan jelas
Mengirim event dari server tanpa memedulikan persetujuan cookieBertentangan dengan yang sudah diberitahukan ke penggunaPastikan sisi server menghormati status persetujuan yang sama dengan sisi browser
💡 Dokumentasi Meta menyebutkan bahwa kalau ada satu event saja dalam request yang event_time-nya lebih lama dari 7 hari, seluruh request akan ditolak. Kalau mengirim secara batch, saring dulu event yang sudah lama.

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.