Meta Conversions API (CAPI) Integration

Send every approved conversion your partners drive to your Meta dataset, server to server — so Meta’s ad delivery optimises on real purchases even when the browser Pixel is blocked.

Overview

The Meta Pixel runs in the shopper’s browser, where ad blockers, iOS privacy settings and consent choices stop many events. The Conversions API sends the same events from a server instead. AffClix does this for you: when a conversion is approved, it sends a server event to your Meta dataset (pixel) with the event name you map, the sale value, and the identity signals you allow.

Setup takes a few minutes: connect Facebook, pick the dataset from a list, and map your AffClix goals to Meta’s standard events. If the site also runs the Pixel, Meta keeps one event per conversion, because AffClix sends the conversion ID as the event ID.

Why this integration matters

  • Recover lost conversions — purchases the Pixel never saw, because of blockers, iOS or declined cookies, still reach Meta.
  • Better optimisation — Advantage+ and conversion campaigns learn from the sales your partners close.
  • Only approved conversions — pending, rejected and cut-back conversions are never sent, so Meta optimises on revenue you keep.
  • Real values — each event carries the sale amount and currency, so value optimisation and ROAS reporting are accurate.
  • Deduplicated with the Pixel — the AffClix conversion ID is sent as the event ID, so Meta counts a purchase once even when both the Pixel and the server report it.
  • You control what is shared — choose which identity signals leave AffClix; location and external IDs are SHA-256 hashed before they are sent.
  • A full audit trail — every attempt is logged with Meta’s response in the CAPI Delivery report.

Prerequisites

  • An AffClix plan that includes Conversions API — the Integrations → Conversions API menu.
  • A Meta dataset (pixel) in Events Manager. Use the one that already receives the site’s browser events, so server and browser events land together.
  • A Facebook account with access to that dataset — as a person in the Business Manager that owns it, or through a partner assignment.
  • Conversions reaching AffClix by postback, pixel or an e-commerce integration, and being approved.
  • Optional: a test event code from Events Manager → your dataset → Test events, to check the setup before real traffic.

Step 1: Prepare your dataset in Meta Events Manager

Everything AffClix needs already exists in Events Manager; you only need to know which dataset to use.

01

Open Events Manager

In Meta Business Suite, open Events Manager → Data sources and select the dataset (pixel) the website uses.

02

Note the dataset ID

The dataset ID is the number shown under its name. You will normally pick it from a list in AffClix, but it helps to know which one is right.

03

Copy a test event code (optional)

Open the dataset’s Test events tab and copy the test code, for example TEST12345. AffClix uses it only for the Send test event button — real conversions never carry it.

04

Check your access

Make sure the Facebook account you will connect can manage this dataset. If the dataset belongs to a client’s business, ask them to assign it to you or to your agency’s business.

No Business Manager access?

You can still connect by pasting a Conversions API access token instead: Events Manager → your dataset → Settings → Conversions API → Generate access token. See Step 2.

Step 2: Connect Facebook in AffClix

01

Open Conversions API

Go to Integrations → Conversions API and click Add destination.

02

Choose Meta CAPI

Pick the Meta CAPI tile, then give the destination a name such as Meta – Main dataset. Leave Campaign ID empty to send every campaign’s conversions, or enter one campaign ID.

The platform picker on the new conversion destination form, with the Meta CAPI tile.
Pick Meta CAPI; the form below is built for it.
03

Connect Facebook

Click Connect Facebook and sign in with the Facebook account that manages the dataset. Approve the permissions Meta asks for — AffClix needs the ads permission to send events. AffClix never sees your password.

The Meta credentials card with the Connect Facebook button, the Get these from Meta first checklist and the access token field.
Connect Facebook, or paste and verify an access token.
04

Choose the dataset

Back in AffClix you will see Facebook connected. Pick the dataset under Pixel / Dataset ID. If it is not listed, type its ID into the same field.

05

Or paste an access token

If Connect Facebook is not shown, or you prefer your own System User token, paste the token into Access token, click Verify token & load pixels, then choose the dataset. The step indicator shows Paste access token → Verify token → Choose dataset.

Facebook logins last about 60 days

Meta issues a connected login for roughly 60 days and has no automatic renewal. Before it runs out, open the destination and click Reconnect Facebook — the dataset and mapping stay as they are. AffClix also alerts you if Meta starts rejecting events.

Step 3: Map your goals to Meta events

For Meta, the event name matters: it is the event Meta reports and optimises on. Use Meta’s standard event names wherever one fits.

01

Map each goal

In Event Mapping & Matching, pick a goal under Your goal and enter the Meta event under Platform event — for example your sale goal → Purchase, lead → Lead, sign-up → CompleteRegistration.

The Event Mapping and Matching card with goals mapped to Meta events and the match key options.
Map goals to Meta’s standard events and choose which signals are shared.
02

Decide on a fallback

A row with the goal * catches every goal you have not mapped. Remove it if only the goals you listed should be sent.

03

Choose the match keys

Under Match keys to send, leave everything unselected to send every available signal, or select only what your consent policy allows. More signals mean a higher Event Match Quality in Events Manager.

A goal with no row is not sent

If a goal has no row of its own and there is no * row, conversions for that goal are skipped for this destination. This is how you keep, for example, lead events out of a purchase-only dataset.

Match keys at a glance

Click IDs sends the fbclid-based click ID; fbc / fbp sends Meta’s browser cookies; IP + UA sends the visitor’s IP address and browser; Geo sends city, region, postcode and country (hashed); External ID sends your customer ID (hashed). AffClix holds no email addresses or phone numbers, so those are never sent.

Step 4: Save and test

01

Save

Make sure Active is on and click Create destination.

02

Send a test event

Enter a Test event code on the destination, save, then click Send test event on the Conversions API list. AffClix sends a test Purchase, which appears within a minute under Events Manager → your dataset → Test events. A test event code is required for this button.

03

Confirm real events

After the next approved conversion, check Reports → Delivery Logs → CAPI Delivery for a Delivered row, and Events Manager → Overview for server events arriving from the Conversions API.

Real-life example

A fashion brand promotes its store through creators on Instagram and runs Advantage+ shopping campaigns on the same dataset. Many of its shoppers are on iPhones.

  1. A shopper follows a creator’s AffClix link from Instagram. AffClix records the click, including Meta’s click ID.
  2. The shopper buys a jacket for €89, but Safari’s privacy settings stop the Pixel from reporting the purchase.
  3. The brand’s postback records the sale in AffClix, and the sale is approved.
  4. AffClix sends a Purchase event to the dataset with value 89, currency EUR, the click ID and the hashed location — and the conversion ID as the event ID.

Result: Meta counts the purchase the Pixel missed, credits it to the right campaign, and optimises delivery on real sales. Where the Pixel did fire with the same event ID, Meta keeps a single purchase.

Managing and monitoring the integration

  • Pause without deleting — use the toggle on the destination row, or switch off Active.
  • Renew the login — reconnect Facebook before the roughly 60-day login expires; the destination keeps its dataset and mapping.
  • Credential alerts — AffClix checks every destination hourly. If Meta starts rejecting events because a token expired or was revoked, the row shows Reconnect credentials and the workspace owner is emailed.
  • Event Match Quality — Events Manager scores each server event. Allow more match keys to raise it.
  • CAPI status on each conversion — the conversion report gains a CAPI column showing Delivered, Failed or Partial.

CAPI Delivery logs

Every attempt is recorded in Reports → Delivery Logs → CAPI Delivery. Filter by date, platform, destination and status.

The CAPI Delivery report listing delivery attempts with platform, event, status and response code.
Reports → Delivery Logs → CAPI Delivery records every attempt.
ColumnWhat it tells you
Platform / EventThe destination and the Meta event that was sent, for example Purchase.
StatusDelivered, or Failed with the reason.
Response codeThe HTTP status Meta returned.
Attempts / RetryableHow many tries were made, and whether a failure was temporary and will be retried.
ErrorMeta’s own error message, including its trace ID for support requests.

Troubleshooting

SymptomLikely causeWhat to do
The dataset list is emptyThe Facebook account cannot see the dataset, or the business shares it only through an asset assignment.Type the dataset ID into the field, or ask the dataset’s owner to assign it to you.
“This login did not grant ads_management”The ads permission was declined on Facebook’s consent screen.Click Reconnect Facebook and approve every permission Meta asks for.
Send test event failsNo test event code is set on the destination.Copy the code from Events Manager → Test events, save it on the destination, and try again.
The row shows Reconnect credentialsThe Facebook login expired (about 60 days) or the token was revoked.Open the destination and click Reconnect Facebook, or paste a new token.
Purchases are counted twice in MetaThe Pixel on the site reports the purchase with a different event ID.Have the site pass the AffClix conversion ID as the Pixel’s event ID, or rely on the server event alone.
Conversions are in AffClix but not in MetaThey are not approved yet, or their goal has no row in the event map and there is no * row.Approve the conversions, or add a mapping for the goal.

Conclusion

With Meta connected, every approved conversion your partners drive reaches your dataset from the server — with the right event name, the real value and the identity signals you allow — so Meta reports and optimises on real sales. Renew the Facebook login every couple of months, and keep an eye on the CAPI Delivery report.

Note

Only approved conversions are sent to Meta. Pending, rejected and cut-back conversions are never sent; a conversion approved later is sent at the moment it is approved.

Related: Conversions API overview · Google Ads Conversions API · Meta Ads with the WebSDK

Rate this article
★★★★★
Thanks for rating!

Was this article helpful?