> For the complete documentation index, see [llms.txt](https://docs.boomerangme.cards/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.boomerangme.cards/mailings-and-other-services/how-to-connect-facebook-meta-ads-pixel.md).

# How to connect Facebook (Meta) Ads Pixel

Boomerangme can automatically send your customers' loyalty events to Facebook (Meta) using the **Meta Pixel** (browser-side) and the **Conversions API** (server-side). Connect Meta once, choose a Pixel, and your Facebook campaigns start optimizing and reporting on real loyalty actions — with no per-event setup.

#### What you need

* A Facebook (Meta) **Pixel**, created in your Meta **Events Manager**.
* A connected **Meta Ads** integration (access token).

#### How it works

Boomerangme reports events from two sides:

* **Browser-side (Meta Pixel):** the Pixel is initialized automatically on the customer-facing card page, so events fire from the customer's browser.
* **Server-side (Conversions API):** events are sent directly from Boomerangme to Meta — more reliable and resistant to ad blockers and browser limits.

When the same action is reported from both sides, Meta **de-duplicates** it (using a shared `event_id`), so it's counted **once**. Customer data (email, phone, name, etc.) is **hashed** before sending, per Meta's requirements.

#### Events we send

**Browser-side (Meta Pixel) — from the customer-facing card page**

| Meta event             | When it fires                                                              |
| ---------------------- | -------------------------------------------------------------------------- |
| `PageView`             | When the Pixel initializes (the card page loads)                           |
| `Subscribe`            | On a **membership** card — when a customer subscribes to a paid membership |
| `CompleteRegistration` | When customer submit form                                                  |

**Server-side (Conversions API) — automatic, no setup**

| Loyalty action       | Meta event             | When it fires                                                                               |
| -------------------- | ---------------------- | ------------------------------------------------------------------------------------------- |
| **Card issued**      | `CompleteRegistration` | A customer signs up and a loyalty card is issued                                            |
| **Card installed**   | `Lead`                 | The first time the card is added to Apple Wallet / Google Wallet                            |
| **Visit / purchase** | `Purchase`             | A visit or purchase with an amount is registered — the **amount and currency** are included |

#### Step 1. Connect Meta Ads and set a default Pixel

1. Go to **Settings → Services** and connect **Meta Ads** (paste your access token and pixel id).
2. Set your **default Pixel**. It is used for **all** loyalty cards unless a specific card template overrides it.

#### Step 2. (Optional) Override the Pixel per card template

If you run different campaigns on different cards, set a **separate Pixel for a specific loyalty card template**. Open the card template settings and enter the Pixel for that template — it overrides the default Pixel for that card only.

#### Step 3. Test before going live

Each card supports a **test event code** so you can verify tracking in Meta **Events Manager** without affecting live campaign data.

1. Set the card's test event code.
2. Perform the actions: issue a card, install it, register a purchase.
3. Confirm the events appear in Meta **Events Manager → Test events**.
4. Remove the test code — real events then flow to your campaigns.

{% hint style="warning" %}
Use the test event code for QA only. Events sent with a test code don't affect live campaign optimization or reporting.
{% endhint %}

#### Advanced: send extra events from the Workflow Builder

The automatic events above cover the most common cases. If you need more complex or conditional tracking — for example, sending an event only for a specific customer segment, or on moments that aren't tracked automatically such as **reward received** or **coupon redeemed** — use the **Send Meta Ads Conversion** action in the Workflow Builder. You choose the trigger and conditions, the Meta event name, an optional value, and (optionally) a specific Pixel.

#### Notes

* Events are sent only when Meta Ads is connected and a Pixel is resolved (default or per-template). If neither is set, nothing is sent.
* The purchase amount uses your company currency.
