# 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. You can also 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. It is a 15 or 16 digit number.

## Add the pixel to your form

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

1. Go to **Payments** → **Forms** and click **Edit** on the form.

   *(Screenshot: The Payment Forms list with the Edit button on a form highlighted)*

2. Click **Advanced**.

   *(Screenshot: The Edit Payment Form page with Advanced highlighted)*

3. Open the **Facebook Pixel** tab and turn on **Enable Facebook Pixel**.
4. Paste your ID into **Facebook Pixel ID**.

   *(Screenshot: The Facebook Pixel tab with Enable Facebook Pixel and the Facebook Pixel ID field highlighted)*

5. Click **Save Advanced Settings**.

   *(Screenshot: The Save Advanced Settings button highlighted)*

## Add the Conversions API token

The Conversions API sends the Purchase event from BCL's server. So Meta counts it even when the customer uses an ad blocker.

1. In Meta Events Manager, go to **Datasets** and choose your dataset.
2. Open **Settings**.
3. Under **Set up direct integration**, click **Generate access token** and copy it.
4. Back in BCL, on the form's **Facebook Pixel** tab, turn on **Enable Facebook Conversions API**.
5. Paste the token into **Facebook Conversions API Token**.

   *(Screenshot: Enable Facebook Conversions API turned on, with the Facebook Conversions API Token field highlighted)*

6. Click **Save Advanced Settings**.

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

For COD and manual bank transfer orders, turn on **Trigger Purchase Event on Pending** to send the Purchase event earlier. BCL then sends it when the order is placed, not when it is paid. If the switch is off, Meta gets the order only when you approve it, and only through the Conversions API. When you approve an order later, BCL never sends a second Purchase. See [COD orders in your dashboard and ad tracking](/cod-manual-transfer/#cod-orders-in-your-dashboard-and-ad-tracking). The **TikTok Pixel** and **Google Ads** tabs next to **Facebook Pixel** work the same way for those platforms.

> **Tip**
> **Events Manager is not real time: check Marketing Logs first.** Go to **Tools** → **Marketing Logs** and open the **Facebook** tab. A row for the order means BCL sent the Purchase, even if Meta has not shown it yet. See [Marketing Pixel Logs](/marketing-pixel-logs/).

## Common issues

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

Yes. You set the pixel on the form, not on 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 block the pixel. 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. Each form has its own pixel setting, so add the pixel to each form that you advertise.
