# Add a Meta (Facebook) pixel to a form

> Track visits and purchases from your Meta ads by adding your Facebook Pixel ID and Conversions API token to a form.
>
> Source: https://docs.bcl.my/facebook-pixel/

A Meta (Facebook) pixel tells Meta which people from your ads visited your form and paid. You add it to each form in BCL, and you can add a Conversions API token so purchases still reach Meta when the browser blocks the pixel.

BCL fires **PageView**, **ViewContent** and **InitiateCheckout** on the form, and **Purchase** after a successful payment.

## Copy your Pixel ID

Get the ID from Meta first.

1. Open [Meta Events Manager](https://business.facebook.com/events_manager2) and go to **Overview**.
2. Copy the ID shown under your dataset (pixel) name.

*(Screenshot: Meta Events Manager overview with the dataset ID highlighted)*

## Add the pixel to your form

The same **Facebook Pixel** tab is on payment, event and booking forms.

1. Go to **Payments** > **Forms** and open the form.
2. Click **Advanced**, then the **Facebook Pixel** tab.
3. Turn on **Enable Facebook Pixel**.
4. Paste your ID into **Facebook Pixel ID**.
5. Click **Save Advanced Settings**.

*(Screenshot: Facebook Pixel tab with Enable Facebook Pixel turned on and the Facebook Pixel ID field)*

## Add the Conversions API token

The Conversions API sends the Purchase event from BCL's server, so it is counted even when the customer uses an ad blocker.

1. In Meta Events Manager, go to **Datasets**, pick your dataset and open **Settings**.
2. Under **Set up direct integration**, click **Generate access token** and copy it.

   *(Screenshot: Meta dataset settings with Generate access token)*

3. Back in BCL, on the **Facebook Pixel** tab, turn on **Enable Facebook Conversions API**.
4. Paste the token into **Facebook Conversions API Token**.
5. Click **Save Advanced Settings**.

*(Screenshot: Enable Facebook Conversions API turned on with the token field below)*

> **Tip**
> To check your setup, paste the test code from Meta's **Test events** tab into **Facebook TEST_CODE**. Clear it when you finish testing.

For COD and manual bank transfer orders, turn on **Trigger Purchase Event on Pending** to send the Purchase event when the order is placed instead of when it is paid. The **TikTok Pixel** and **Google Ads** tabs next to **Facebook Pixel** work the same way for those platforms.

## Common issues

### My landing page is on Canva. Can I still track purchases with Meta Pixel?

Yes. The pixel is set on the form, not the landing page, so it works wherever your customers come from. Add it under the form's Advanced > Facebook Pixel tab.

### Why are some Purchase events missing in Meta Events Manager?

Ad blockers and some browsers stop the pixel from firing. Turn on Enable Facebook Conversions API and add your token so BCL also sends the Purchase event from its server.

### Do I need to add the pixel to every form?

Yes. The pixel is set per form, so add it to each form you advertise.
