Pixel ChatGPT Ads dan Conversions API: memasang pelacakan konversi
Pembaruan terakhir: 24 Agustus 2026, diverifikasi dari dokumentasi resmi OpenAI. Nama peristiwa dan parameter yang dikutip di sini berasal dari dokumentasi developer OpenAI, dan bisa berubah selama masa beta.
Tanpa pengukuran konversi, sebuah kampanye ChatGPT Ads berjalan buta: Anda tahu berapa yang Anda belanjakan, bukan apa yang Anda peroleh. Dan yang terpenting, Anda tidak bisa mengaktifkan optimasi berbasis konversi. Halaman ini membahas kedua metode resmi, pixel di browser dan Conversions API di sisi server, serta cara membuat keduanya hidup berdampingan. Kerangka umumnya ada di panduan ChatGPT Ads kami.
Mesin AI yang berkaitan dengan halaman ini
- ChatGPT
Mengapa pengukuran adalah prasyarat, bukan pilihan
Ada tiga alasan, salah satunya bersifat menghalangi:
- Menghalangi: optimasi berbasis konversi (oCPC) mengharuskan pelacakan sudah terkonfigurasi, dengan pixel JavaScript, Conversions API, atau keduanya. Tanpa sinyal, sistem tidak punya apa pun untuk dioptimalkan.
- Pelaporan Ads Manager memuat kolom konversi yang akan tetap kosong jika tidak ada yang tersambung.
- Perhitungan biaya per akuisisi Anda sepenuhnya bergantung pada data ini: tanpanya, Anda mengendalikan kampanye berdasarkan CPC, artinya berdasarkan belanja, bukan berdasarkan hasil.
Prinsip umum yang ditetapkan OpenAI sederhana: Anda membuat sebuah sumber data (data source) di Ads Manager, lalu mengirimkan peristiwa konversi kepadanya melalui pixel, API, atau keduanya.
Pixel atau Conversions API: mana yang dipilih?
| Pixel JavaScript | Conversions API | |
|---|---|---|
| Tempat eksekusinya | Di browser pengunjung | Di server Anda, khusus di sana |
| Pemasangan | Satu skrip yang ditempatkan di head | Pengembangan di sisi back-end |
| Ketahanan | Rentan terhadap pemblokir dan pembatasan browser | OpenAI menyebutnya sebagai sumber yang lebih andal daripada pixel saja |
| Rekomendasi OpenAI | Titik awal | Gunakan bila memungkinkan, untuk data yang lebih akurat |
Jawaban pragmatisnya bukan “salah satu” melainkan “keduanya, dengan deduplikasi”. Pixel bisa dipasang dalam satu jam dan langsung menghidupkan kampanye; API disambungkan setelahnya dan mengamankan pengukuran untuk jangka panjang.
Memasang pixel pengukuran
Pixel pengukuran ChatGPT Ads adalah SDK browser yang ditujukan untuk mengukur peristiwa di situs web Anda yang dapat diatribusikan ke iklan di dalam ChatGPT. Skripnya dimuat secara asinkron dari https://bzrcdn.openai.com/sdk/oaiq.min.js, ditempatkan di bagian <head>, lalu diinisialisasi dengan ID pixel Anda:
oaiq("init", { pixelId: "PIXEL-ID-ANDA" });
Parameter pixelId bersifat wajib dan dibuat di Ads Manager. Parameter debug yang opsional menuliskan aktivitas SDK ke konsol browser, berguna selama tahap pengujian.
Seluruh pengukuran selanjutnya melewati satu perintah tunggal: oaiq("measure", namaPeristiwa, dataPeristiwa, opsi).
Peristiwa standar, peristiwa kustom, dan batasannya
Setiap peristiwa standar mengharapkan sebuah objek data yang kolom type-nya harus sesuai. Dokumentasi developer OpenAI mengelompokkannya seperti ini:
| Keluarga | Peristiwa | Kolom type yang diharapkan |
|---|---|---|
| Perdagangan | order_created, items_added, checkout_started | contents |
| Konten | page_viewed, contents_viewed | contents |
| Prospek dan pendaftaran | lead_created, registration_completed, appointment_scheduled | customer_action |
| Langganan | subscription_created, trial_started | plan_enrollment |
Untuk peristiwa bertipe contents, kolom yang terdokumentasi mencakup amount, currency, dan sebuah larik contents yang berisi entri dengan id, name, content_type, dan quantity. Peristiwa bertipe plan_enrollment mengharapkan sebuah plan_id. Dokumentasi menyebutkan agar menggunakan nilai bilangan bulat untuk amount dan quantity.
Ketika tidak ada peristiwa standar yang cocok, sebuah peristiwa kustom dideklarasikan dengan argumen ketiga dan sebuah objek opsi:
oaiq("measure", "custom", { type: "custom" }, { custom_event_name: "quote_requested" })
Nama peristiwa kustom harus mematuhi aturan yang tepat: 1 sampai 64 karakter, hanya huruf, angka, garis bawah, dan tanda hubung, serta diawali dan diakhiri dengan karakter alfanumerik.
Perhatikan satu batasan yang menentukan: peristiwa kustom tidak dapat dijadikan tujuan optimasi oCPC. Jika konversi bisnis Anda harus mengendalikan optimasi, konversi itu perlu dikirimkan sebagai peristiwa standar.
Menyambungkan Conversions API di sisi server
API ini digunakan dari server Anda, khusus dari sana. Poin-poin implementasi yang terdokumentasi:
- Anda membuat sumber konversi web beserta Pixel ID-nya melalui endpoint
POST /conversions/pixels. - Anda membuat sebuah kunci yang mampu mengirimkan peristiwa di sisi server untuk akun iklan yang sedang aktif.
- Kunci ini harus disimpan di pengelola rahasia di sisi server. Dokumentasinya tegas: jangan pernah menempatkannya di kode browser, di variabel lingkungan yang terlihat di sisi klien, di log, atau di repositori kode.
- API menerima batch berisi hingga 1.000 peristiwa. Poin kritis untuk penanganan error Anda: jika satu saja peristiwa dalam batch gagal, seluruh batch gagal.
Aturan terakhir ini layak ditangani sejak tahap perancangan: satu batch yang ditolak seluruhnya karena satu kolom yang salah format pada satu pesanan bisa melenyapkan 999 konversi valid dari pelaporan Anda.
Mendeduplikasi pixel dan API: aturan yang tidak boleh terlewat
Jika Anda mengirim konversi yang sama dari pixel dan dari Conversions API, Anda harus memberi tahu sistemnya, kalau tidak konversi itu terhitung dua kali. Metode yang terdokumentasi:
- Gunakan kembali nilai yang sama sebagai id di sisi API dan sebagai event_id di sisi pixel.
- Kirim kedua peristiwa dengan Pixel ID yang sama.
- Untuk peristiwa kustom, gunakan custom_event_name yang sama di kedua sisi.
Di sisi pixel, bentuknya kira-kira seperti ini: oaiq("measure", "order_created", {...}, { event_id: "order_12345" }). Pencocokannya bersandar pada Pixel ID, nama peristiwa, dan event_id; untuk peristiwa kustom, custom_event_name menggantikan nama peristiwa dalam logika tersebut.
Secara praktis: gunakan ID pesanan atau ID prospek Anda sebagai kunci deduplikasi, itulah satu-satunya nilai yang secara alami tersedia di kedua sisi.
oppref: menjaganya sampai konversi, bukan sekadar menangkapnya
Pixel menangkap oppref, referensi klik dari OpenAI, dan menyimpannya di cookie first-party (__oppref). Mendokumentasikan penangkapannya saja tidak cukup: dokumentasi resmi menekankan satu hal yang terlewat oleh banyak implementasi, yakni oppref harus dipertahankan melintasi pengalihan dan navigasi sampai ke halaman tempat konversi benar-benar diukur. Alur pembayaran yang melewati subdomain pembayaran, pengalihan setelah sebuah formulir, atau keranjang belanja yang berpindah domain akan kehilangan cookie di tengah jalan bila tidak ada yang disiapkan untuk meneruskannya.
Poin kedua yang juga sering terlewat: Conversions API tidak menangkap oppref untuk Anda, berbeda dengan pixel. Jika Anda memanggil API di sisi server, kode Andalah yang harus mengambil nilai oppref (biasanya diletakkan oleh pixel di sebuah cookie atau dikirimkan sebagai parameter URL) dan menyertakannya secara eksplisit dalam pemanggilan, ketika nilainya tersedia. Tanpa langkah ini, peristiwa yang dikirim hanya lewat API kehilangan kaitannya dengan klik iklan yang mendahuluinya.
Arsitektur yang direkomendasikan OpenAI terdiri dari tiga bagian: pixel di setiap halaman untuk menangkap oppref dan peristiwa ringan, Conversions API untuk peristiwa bernilai tinggi yang dikirim dari back-end Anda (tempat Anda memiliki data pesanan, dan tempat tidak ada yang bisa memblokir pemanggilan), dan kedua kanal itu mengirim konversi yang sama dengan event_id yang sama.
Automatic Advanced Matching
Automatic Advanced Matching (AAM) berfungsi mengaitkan konversi ke iklan Anda ketika tidak ada identifikator klik yang tersedia. Pixel secara otomatis mendeteksi informasi pelanggan yang dapat dikenali di formulir dan sumber lain di situs web Anda, menormalkannya, lalu meng-hash-nya dengan SHA-256 langsung di browser. Dokumentasi menegaskan bahwa tidak ada data mentah yang dikirimkan.
Anda juga bisa menyediakan sendiri identifikator yang sudah di-hash di dalam objek user saat inisialisasi: email_sha256, phone_number_sha256, external_id_sha256, first_name_sha256, last_name_sha256, serta kolom yang tidak di-hash yaitu country, city, region, dan postal_code.
Fitur ini menyentuh data pribadi: pengaktifannya harus diputuskan bersama penanggung jawab perlindungan data Anda, terutama di Eropa.
Persetujuan, GDPR, dan pengendalian pixel
SDK menyediakan sebuah perintah persetujuan, yang harus dipanggil sebelum inisialisasi untuk memblokir pengukuran selama pengguna belum menyetujui:
oaiq("consent", false); lalu oaiq("init", { pixelId: "..." }); lalu oaiq("consent", true); setelah persetujuan diperoleh.
Ada dua hal yang perlu diingat. Pertama, nilai persetujuan adalah true secara default, kecuali jika secara eksplisit disetel ke false atau jika sebuah penolakan sudah tercatat: di situs web Eropa, Anda karena itu harus memanggil oaiq("consent", false) secara eksplisit lebih dahulu, bukan mengandalkan perilaku default. Kedua, ketika nilainya false, peristiwa pengukuran tidak dikirimkan.
Selain itu, parameter opt_out memungkinkan Anda mengecualikan sebuah peristiwa dari personalisasi di level pengguna; nilai defaultnya adalah false. SDK juga mengelola sebuah identifikator yang menghormati privasi, oppref, yang ditangkap dari URL dan disimpan di cookie __oppref.
Pengingat konteks: iklan yang dipersonalisasi tidak tersedia pada saat peluncuran di Wilayah Ekonomi Eropa maupun di Swiss. Hal itu sama sekali tidak membebaskan Anda dari kewajiban mengelola persetujuan untuk pengukuran itu sendiri.
Content Security Policy: domain yang perlu diizinkan
Penyebab kerusakan senyap yang paling sering terjadi di situs web dengan CSP ketat: SDK diblokir bahkan sebelum sempat diinisialisasi. Direktif yang terdokumentasi:
| Direktif | Sumber yang diizinkan | Peran |
|---|---|---|
| script-src | https://bzrcdn.openai.com | Pemuatan SDK |
| connect-src | https://bzr.openai.com dan https://bzrcdn.openai.com | Pengiriman dan pengambilan peristiwa |
| img-src | https://bzr.openai.com | Cadangan melalui permintaan gambar |
Jika pixel tidak melaporkan apa pun padahal kodenya sudah terpasang dengan benar, buka konsol dengan parameter debug aktif: kesalahan CSP akan langsung muncul di sana.
Apa yang tidak bisa dilakukan pixel
Ada satu batasan eksplisit yang perlu diketahui sebelum merancang rencana penandaan Anda: pixel pengukuran tidak mendukung peristiwa app_installed dan app_opened. Peristiwa tersebut harus dikirim di sisi server, melalui Conversions API.
Selain itu, OpenAI mendokumentasikan integrasi dengan mitra pengukuran, termasuk mitra pengukuran seluler (MMP), untuk pengiklan yang konversinya terjadi di dalam sebuah aplikasi.
Poin lain yang perlu diperhatikan: penggunaan beberapa Pixel ID pada satu situs web yang sama memerlukan konfigurasi khusus, yang didokumentasikan OpenAI secara terpisah.
Atribusi: apa yang dihitung, dan bagaimana
OpenAI mengevaluasi peristiwa konversi berdasarkan peristiwa yang dikonfigurasi untuk kampanye Anda dan jendela atribusi yang berlaku. Ada dua aturan yang perlu diketahui:
- Atribusi pasca-klik memakai jendela klik yang dikonfigurasi.
- Konversi pasca-impresi (view-through) memakai jendela tetap satu hari setelah sebuah impresi yang memenuhi syarat, terlepas dari jendela klik Anda.
Dan aturan pembacaan yang mencegah kesalahan hitung: kolom Konversi utama hanya berisi konversi pasca-klik. Konversi pasca-impresi adalah pelaporan tambahan yang terpisah dan, menurut OpenAI, tidak boleh ditambahkan ke konversi maupun dipakai untuk metrik performa dasar seperti CPA.
Daftar periksa pengujian sebelum peluncuran
- Sumber data dibuat di Ads Manager, Pixel ID sudah diperoleh.
- Skrip dimuat di head, inisialisasi dipanggil dengan Pixel ID yang benar.
- Persetujuan dipasang sebelum init pada situs web Eropa.
- Peristiwa standar dipicu di tempat yang tepat, dengan kolom type yang benar.
- Deduplikasi terpasang jika Anda menggandakan dengan API: nilai yang sama pada id dan event_id, Pixel ID yang sama.
- CSP diperbarui untuk ketiga direktif.
- Mode debug diaktifkan selama pengujian, lalu dinonaktifkan.
- Halaman arahan dapat diakses oleh OAI-AdsBot: halaman yang diblokir bisa membuat iklan ditolak, terlepas dari kualitas penandaan Anda. Checker halaman arahan ChatGPT Ads kami memeriksa poin ini.
- Hanya satu peristiwa standar aktif yang dipilih sebagai tujuan jika Anda mengincar oCPC, dengan catatan bahwa pilihan itu tidak lagi bisa diubah setelah kampanye dibuat.
Pertanyaan yang sering diajukan
Apakah pelacakan konversi wajib di ChatGPT Ads?
Apakah Conversions API mengambil oppref dengan sendirinya?
Haruskah memilih antara pixel dan Conversions API?
Bagaimana cara menghindari penghitungan satu konversi dua kali?
Bisakah peristiwa kustom dijadikan tujuan oCPC?
Apakah pixel menghormati persetujuan pengguna?
Pixel saya tidak melaporkan apa pun, apa yang pertama harus diperiksa?
Bagaimana cara mengukur pemasangan aplikasi?
Berapa lama jendela atribusinya?
Skor SEO, skor GEO, performa, dan responsivitas: 49 analisis teknis, penilaian AI Overviews secara langsung.
Panduan terkait
ChatGPT Ads: panduan lengkap 2026 untuk beriklan di ChatGPT
Cara kerja ChatGPT Ads, di mana tersedia, cara membuat akun, menyusun kampanye, menargetkan lewat context hints, dan memperkirakan anggaran: panduan acuan yang terus diperbarui.
Baca panduanHarga ChatGPT Ads: bid, anggaran, dan biaya nyata sebuah kampanye
Berapa biaya sebenarnya sebuah kampanye ChatGPT Ads: tiga model bid, bid awal yang direkomendasikan OpenAI, anggaran harian minimum, dan penagihan berbasis ambang.
Baca panduanChatGPT Ads untuk e-commerce: kampanye berbasis feed produk
Menyambungkan katalog ke ChatGPT Ads: tiga metode pengiriman feed, kedaluwarsanya item, kolom is_ads_eligible, dan bedanya dengan hasil produk organik.
Baca panduan