# Meta ads: connect the Conversions API to measure your sales

> A sale closed in a private message is invisible to Meta — no pixel fires. The Conversions API sends the purchase back to Meta from the server, so your campaigns optimise on sales rather than on messages.

- Source: https://support.unifunl.io/en/help/channels-integrations/meta-api-conversions-attribution
- Category: Channels & integrations (`channels-integrations`)
- Language: en
- Updated: 2026-08-22

---

You pay for ads on Facebook or Instagram to bring customers into a private message. Meta sees the click, then the message. After that, nothing: the sale closes in the conversation, not on a website, so no pixel fires.

The result is campaigns that report conversations and never sales, and no way to tell which one pays. The **Conversions API** closes that loop: Unifunl sends the purchase back to Meta from its server, and Meta attaches it to the ad that produced it.

## What the integration does

When the agent records an order, Unifunl sends the **Purchase** event to Meta from its server, with the amount. The event is attached to the ad account's **dataset**, and Meta matches it to the person who clicked the ad. The sale is then attributed to the campaign that generated it.

| Element | Without the Conversions API | With the Conversions API |
| --- | --- | --- |
| What Meta measures | A message received | A **sale**, with its amount |
| Campaign optimisation | On conversation volume | On **purchases** actually closed |
| Return on ad spend | Reconstructed by hand | Calculated by Meta |
| Path of the event | The customer's browser, via the pixel | Server to server, no browser involved |

> **Pixel and dataset are the same thing.** Meta renamed the "pixel" to "dataset". The identifier Unifunl shows is your dataset; it is the same object as the pixel in Events Manager.

## Where it is configured

In **Settings → Integrations**, the **Meta Ads** tab separates this integration from the rest of the catalogue. It also appears at the bottom of the *All* tab, under the **Meta Ads** heading.

![Settings → Integrations, Meta Ads tab: the "Meta Conversions API" card and its Configure button.](https://support.unifunl.io/help/screenshots/55-integrations-meta-tab.jpg)

## Turn sending on for a page

**Configure** opens the list of the pages and accounts you have already connected. Each row is one Facebook page or one Instagram account, and each is set separately.

![The configuration dialog: one row per connected page, here with sending disabled.](https://support.unifunl.io/help/screenshots/56-capi-dialog.jpg)

| On the row | What it tells you |
| --- | --- |
| Name and thumbnail | The page or account concerned. |
| Channel label | *Facebook* or *Instagram*. |
| State | *Disabled* until sending is switched on, *Healthy* once the connection responds. |
| Checked date | The last time Unifunl verified the connection. |
| Toggle | Turns event sending on or off for that page. |

1. Open **Settings → Integrations**, the **Meta Ads** tab, then **Configure**.
2. Flip the toggle on the page concerned.
3. Check the **dataset** shown, and correct it with **Change** if needed.
4. Close with **Done**.

![Once sending is on: the state becomes Healthy and the dataset in use appears, editable through the Change button.](https://support.unifunl.io/help/screenshots/57-capi-enabled.jpg)

> **One row per page, not one for the whole workspace.** If you advertise from several pages, switch each of them on. A page missing from this list is not connected yet — connect it first in [Settings → Channels](https://support.unifunl.io/en/help/channels-integrations/messaging-channels).

> **Check the dataset before letting it run.** A wrong dataset does not stop the sending: the sales go out, but they are attributed to the wrong ad account. The identifier must match the account that pays for the campaigns, as it appears in Meta's Events Manager.

## FAQ and troubleshooting

### What is Meta's Conversions API for?

It tells Meta that an ad produced a sale, not just a message. Meta can then optimise your campaigns on purchases and calculate your return on ad spend. Without it, a sale closed in a private message stays invisible to Meta.

### Do I have to install a pixel on a website?

No. Unifunl sends the events from its server, straight to Meta. There is no code to place, and the measurement works even without a website.

### Where is the setting?

Settings → Integrations, the Meta Ads tab, the "Meta Conversions API" card, the Configure button. The same card appears at the bottom of the All tab.

### What is a dataset?

It is the identifier Meta substituted for the pixel. It names the event set of your ad account. Unifunl shows the one that will be used for the page you switched on, and the Change button lets you pick another.

### Do I need to turn sending on for every page?

Yes. The toggle covers one page or account at a time. If you advertise from several pages, switch them on one by one.

### What does the Healthy state mean?

That the connection between Unifunl and Meta responds, as of the checked date shown on the row. Disabled simply means sending is not switched on for that page.

## What's next?

The sales the Conversions API reports back to Meta are the ones recorded in your orders.

[Orders list](https://support.unifunl.io/en/help/orders/orders-list)

## Related articles

- [Store integrations](https://support.unifunl.io/en/help/channels-integrations/store-integrations.md): The full catalogue of supported e-commerce platforms, what each one syncs, and what you need to connect it.
- [Messaging channels](https://support.unifunl.io/en/help/channels-integrations/messaging-channels.md): Connect WhatsApp, Messenger, Instagram, TikTok and the web widget so every conversation lands in one inbox.
- [Orders list](https://support.unifunl.io/en/help/orders/orders-list.md): Every sale the agent generated, with its status, its source and whether it reached your store. Includes filters, export and analytics.
