# Facebook Conversion API

> Set up the Facebook Conversion API with AnyTrack to send all conversion events to Meta server-side, verify delivery, and avoid duplicates.

The **Facebook Conversion API** (also called the Meta Conversions API) is Meta's server-side interface for receiving conversion events directly from a server instead of the visitor's browser. AnyTrack implements it end to end: the AnyTrack Tracking Tag loads the Meta Pixel, which fires only `PageView`, and every conversion event travels to Meta server-side through the Conversion API. Because the data moves server to server, ad blockers, iOS privacy restrictions, and cookie limits cannot block it.

This guide shows you how to enable the Conversion API in AnyTrack, verify that events reach Meta, and keep your conversion data free of duplicates. For the platform-agnostic concept, see [Conversion API](/docs/conversion-api). For how the Meta Pixel, Conversion API, and Conversion API for CRM fit together, see [Meta Pixel vs CAPI vs CAPI for CRM](/docs/meta-pixel-vs-capi-vs-capi-for-crm).

## How AnyTrack Sends Conversions to Meta

As a Meta Business Partner, AnyTrack runs the complete Conversion API pipeline. No backend code is required:

1. **Authentication**: AnyTrack generates and rotates the Conversion API access token when you authorize your Meta account. There is no token to copy or manage.
2. **Identifier collection**: The AnyTrack Tracking Tag loads the Meta Pixel, which fires `PageView`, sets the `_fbp` browser cookie, and records the `fbc` click identifier from the `fbclid` parameter on the ad click URL.
3. **Event mapping**: AnyTrack maps every AnyTrack event to a Meta standard event (`Purchase`, `Lead`, `CompleteRegistration`, and so on) before sending it through the Conversion API.
4. **Customer data hashing**: Email, phone, name fields, and `external_id` are hashed with SHA-256 before they reach Meta. AnyTrack handles lowercase normalization automatically.
5. **Deduplication**: Every conversion carries an `event_id`, so Meta counts each conversion once even when the same conversion arrives from more than one source.

Meta matches each server-side event to a user through the `fbc` and `fbp` identifiers and the hashed customer data. UTM parameters play a different role: AnyTrack needs them for campaign-level attribution in its own reports, not for Conversion API matching. Install the [UTM tracking template](/docs/facebook-utm) so your AnyTrack reports show which campaign, ad set, and ad drove each conversion.

## Set Up the Conversion API

<Prerequisites
  title="Before you begin"
  items={[
    { label: "A Facebook Ads account with permission to manage it in Business Manager" },
    { label: "An active AnyTrack property with the AnyTrack Tag installed on your website" },
    { label: "A Starter plan or higher, which the Conversion API requires" },
    { label: "A connected conversion source, such as Shopify, WooCommerce, a CRM, or an affiliate network" }
  ]}
/>

1. Log in to AnyTrack, go to **Tracking Pixels**, and click **Connect Tag**.
2. Follow the prompts to connect your Facebook Ads account. AnyTrack links your Meta Pixel and generates the Conversion API access token.
3. Enable the **server-to-server tracking** slider. This turns on Conversion API delivery for every conversion event.
4. Review your [Event Mapping](/docs/event-mapping) to confirm your events map to the correct Meta standard events. The defaults work for most setups.
5. Install the [UTM tracking template](/docs/facebook-utm) on your campaigns in Meta Ads Manager, then use **Verify Ads Settings** in the Ads Integrations tab to confirm it is in place.

For the full walkthrough with videos, see the [Facebook Ads integration guide](/docs/facebook-ads).

## Verify Events Reach Meta

The fastest way to confirm delivery is [Meta CAPI Test Mode](/docs/meta-capi-test-mode). Copy the test event code from the Test Events tab in Meta Events Manager, paste it into your Meta Pixel settings in AnyTrack, and trigger a conversion. The event appears in the Test Events tab within about 30 seconds, marked as a Server event, with the full payload available for inspection.

Outside Test Mode, expect Meta's normal processing delays: event parameters take up to 20 minutes to appear in Meta Events Manager, and Ads Manager can take up to 3 days to attribute modeled conversions.

<Callout icon="📘" theme="info">
<p><strong>Server events only</strong></p>

<p>Events sent by AnyTrack appear in Meta Events Manager as Server events. If you also see Browser conversion events, another tool or script on your site is sending them. See the section below on avoiding duplicates.</p>
</Callout>

## Avoid Duplicate Events

AnyTrack tags every conversion with an `event_id`, and it [deduplicates conversions](/docs/deduplication) that arrive from multiple sources before sending them, so Meta counts each conversion once.

Deduplication only works within a single setup. If you already run a native Meta Pixel or Conversion API integration, in your theme code, through Google Tag Manager, or through a platform's built-in Meta channel, remove or disable it when AnyTrack takes over. Two independent setups send separate signals without shared event IDs, which inflates conversion counts and skews campaign optimization.

## Improve Your Event Match Quality

Event Match Quality (EMQ) is Meta's score for how much properly formatted customer data arrives with each Conversion API event. AnyTrack sends every parameter your conversion source provides, hashed and formatted to Meta's specification, so no manual parameter mapping is needed. See [EMQ Parameters](/docs/emq-parameters) for the full parameter breakdown and [Event Match Quality](/docs/facebook-event-match-quality) for realistic benchmarks and optimization guidance.

<FaqAccordion
  title="Facebook Conversion API FAQ"
  icon="fa-duotone fa-circle-question"
  items={[
    {
      question: "Do I need both the Meta Pixel and the Conversion API?",
      answer: "Yes. With AnyTrack, the Meta Pixel fires only PageView and initializes the _fbp cookie and the fbc click identifier that Meta needs for matching. All conversion events are sent server-side through the Conversion API."
    },
    {
      question: "Does AnyTrack replace my existing Meta Pixel or Conversion API setup?",
      answer: "Yes. AnyTrack loads the Meta Pixel and runs the entire Conversion API pipeline. Remove or disable any native Meta Pixel or Conversion API setup you ran before, otherwise Meta receives duplicate signals without shared event IDs."
    },
    {
      question: "Which AnyTrack plan do I need for the Conversion API?",
      answer: "The Conversion API requires a Starter plan or higher. The Free plan covers campaign reporting and Meta Pixel tag management but does not send conversions to Meta."
    },
    {
      question: "How do I test that conversions reach Meta?",
      answer: "Use Meta CAPI Test Mode. Copy the test event code from the Test Events tab in Meta Events Manager, paste it into your Meta Pixel settings in AnyTrack, and trigger a conversion. The event appears in the Test Events tab within about 30 seconds. See the <a href='/docs/meta-capi-test-mode'>Meta CAPI Test Mode</a> guide."
    },
    {
      question: "Do I need UTM parameters for the Conversion API?",
      answer: "Not for matching. Meta matches server-side events using the fbc and fbp identifiers and hashed customer data. AnyTrack needs the UTM tracking template for campaign-level attribution in its own reports, so install it on all your campaigns."
    }
  ]}
/>

## Related Resources

- [Facebook Ads Integration](/docs/facebook-ads)
- [Meta Pixel vs CAPI vs CAPI for CRM](/docs/meta-pixel-vs-capi-vs-capi-for-crm)
- [Conversion API](/docs/conversion-api)
- [Server-Side Tracking](/docs/server-side-tracking)
- [Meta CAPI Test Mode](/docs/meta-capi-test-mode)
- [EMQ Parameters](/docs/emq-parameters)
