# Apa itu penjejakan server-side (Conversions API)

> Cara BCL menghantar pembelian ke Meta, TikTok dan Google Analytics dari server-nya sendiri, event yang dihantar dan bila ia dihantar.
>
> Source: https://docs.bcl.my/ms/conversion-api/

Penjejakan server-side bermaksud server BCL memberitahu Meta, TikTok atau Google Analytics tentang sesuatu pembelian secara terus, dan bukan hanya bergantung pada pixel dalam browser pelanggan. Ia tetap berfungsi apabila pelanggan menggunakan ad blocker, membayar dalam in-app browser atau menutup page sebelum resit dimuatkan.

## Apa yang disokong oleh setiap platform

Penjejakan server-side ditetapkan di tempat yang berbeza bagi setiap platform:

| Platform | Ciri server-side | Tempat untuk on-kan |
| --- | --- | --- |
| **Meta (Facebook)** | Conversions API | Setiap form: **Advanced** → **Facebook Pixel** → **Enable Facebook Conversions API** |
| **TikTok** | Events API | Setiap form: **Advanced** → **TikTok Pixel** → **Enable TikTok Events API** |
| **Google Analytics 4** | Measurement Protocol | Sekali untuk akaun: **Platform Setup** → **Integrations** → **Google** |
| **Google Ads** | Tiada | Browser sahaja, dari tab **Google Ads** pada form |

Payment link ada suis **Enable Facebook API** dan **Enable TikTok API** sendiri di bawah **Platform Setup** → **Link Configuration** → **Pixel Settings**.

*(Screenshot: Enable Facebook Conversions API di-on-kan, dengan ruangan token ditanda)*

*(Screenshot: Enable TikTok Events API di-on-kan, dengan ruangan token ditanda)*

## Event yang BCL hantar

Pixel dalam browser menghantar event lawatan dan checkout. Pembelian boleh datang dari browser atau dari server BCL:

| Platform | Semasa form dibuka | Semasa pelanggan klik bayar | Semasa pesanan dibayar |
| --- | --- | --- | --- |
| **Meta** | PageView, ViewContent | InitiateCheckout (Lead pada lead form) | Purchase |
| **TikTok** | Pageview, ViewContent | InitiateCheckout (SubmitForm pada lead form) | CompletePayment |
| **Google Analytics 4** | page_view | begin_checkout (generate_lead pada lead form) | purchase (server sahaja) |
| **Google Ads** | page_view, view_item | begin_checkout | conversion (browser sahaja) |

Bersama pembelian server-side, BCL menghantar nombor pesanan, amaun, mata wang dan nama form. Untuk membantu platform memadankan jualan dengan klik iklan, BCL menambah e-mel, nombor telefon dan nama pelanggan (di-hash, jadi tidak boleh dibaca), alamat IP dan browser mereka, serta tracking cookie dari lawatan ke form (seperti fbp dan fbc Meta, ttp TikTok dan _ga Google).

## Bila pembelian dihantar

Pembelian dihantar sekali bagi setiap pesanan dan platform:

1. **Bayaran online yang berjaya.** Sebaik sahaja Bayarcash mengesahkan bayaran, server BCL menghantar pembelian di latar belakang (ia mencuba sehingga 3 kali jika ada masalah). Jika page resit dibuka dahulu, pixel browser yang menghantarnya. Yang mana dahulu direkodkan; yang satu lagi dilangkau.
2. **COD dan pindahan bank manual.** Pesanan kekal pending sehingga anda mengesahkan bayaran. Meta dan TikTok menerima pembelian semasa pesanan dibuat hanya jika anda on-kan **Trigger Purchase Event on Pending**; jika tidak, mereka menerimanya apabila anda tandakan pesanan itu sebagai dibayar (server-side sahaja, jadi Conversions API atau Events API mesti on). Google Ads sentiasa mengiranya semasa pesanan dibuat. Google Analytics 4 hanya mengiranya apabila pesanan dibayar.
3. **Bayaran gagal atau dibatalkan.** Tiada apa-apa yang dihantar.

## Cara on-kan

Sediakan pixel dahulu, kemudian tambah token server-side:

1. Untuk Meta, ikut [Tambah pixel Meta (Facebook) pada payment form](/ms/facebook-pixel/) dan tambah **Facebook Conversions API Token** anda.
2. Untuk TikTok, ikut [Tambah pixel TikTok pada form](/ms/tiktok-pixel/) dan tambah **TikTok Events API Token** anda.
3. Untuk Google Analytics 4, ikut [Jejak pembelian dalam Google Analytics 4](/ms/google-analytics/) dan tambah nilai **Measurement Protocol API secrets** anda.

## Tips

Beberapa perkara ini membantu anda mendapat hasil terbaik daripada penjejakan server-side:

- **Semak lajur Method.** Dalam **Tools** → **Marketing Logs**, setiap pembelian menunjukkan **Browser** atau **Server**. Baris Server juga menunjukkan jawapan platform di bawah **Response Payload**, jadi anda boleh lihat ralat seperti token yang sudah tamat tempoh. Lihat [Semak pembelian yang dihantar ke pixel anda (Marketing Pixel Logs)](/ms/marketing-pixel-logs/).
- **Uji dengan TEST_CODE, kemudian kosongkannya.** Paste test event code dari Meta atau TikTok ke dalam **Facebook TEST_CODE** atau **TikTok TEST_CODE** untuk melihat event server dalam alat ujian platform itu. Kosongkannya selepas itu, seperti yang dinyatakan dalam amaran di bawah ruangan itu.
- **Affiliate boleh guna token sendiri.** Affiliate boleh menambah pixel dan token Meta atau TikTok mereka sendiri untuk form anda dalam affiliate dashboard mereka (lihat [Kongsi link affiliate anda](/ms/affiliate-promotion-links/)). BCL menghantar pembelian berasingan kepada mereka, hanya untuk jualan berjaya yang mereka rujuk.

## Isu biasa

### Adakah saya masih perlukan pixel jika saya on-kan Conversions API?

Ya. Conversions API di-on-kan dalam tetapan pixel, dan pixel masih menjejak lawatan dan checkout. API itu hanya menambah Purchase dari server.

### Adakah Meta akan mengira pembelian dua kali, sekali dari browser dan sekali dari server?

Tidak. BCL menghantar Purchase sekali bagi setiap pesanan, dari pihak yang mana dahulu, dan menggunakan event ID yang sama pada kedua-dua pihak supaya Meta boleh memadankannya.

### Kenapa pembelian tiada dalam Meta atau TikTok walaupun pixel sudah di-install?

Ad blocker, in-app browser dan pelanggan yang menutup page sebelum resit dimuatkan menghalang pixel browser. Penjejakan server-side tetap menghantar pembelian dari BCL dalam keadaan itu.
