Home › Guides › Meta Conversions API setup

Meta Conversions API setup: a step-by-step guide for lead-gen businesses

By Abhishek Thakral · abhi.performs, Dubai · Updated October 2026 · 9 min read

Short answer

Meta Conversions API setup comes down to four jobs: choose a route (Meta's one-click setup, a partner, the Gateway or a direct build), send the same events as your Pixel with a shared event_id, add hashed customer data so Meta can match each event, and send CRM outcomes through the separate Conversions API for CRM.

A common setup in UAE lead-gen accounts is a Pixel that fires on the thank-you page and nothing else. Meta then learns from whoever fills in a form, not from who picks up the phone, books the viewing or pays the deposit.

The Conversions API fixes the first half of that problem. This guide covers the setup I use for real estate, clinic and service businesses, including the step that matters most for lead-gen: getting what happens after the lead back to Meta.

What the Meta Conversions API does, and what it does not

The Conversions API sends events from your server, website platform, app or CRM straight to Meta, which processes them like Pixel events, according to Meta's Conversions API overview.

The Pixel runs in the visitor's browser, and browser events can go missing. Meta's best-practice page says the Conversions API can capture website events the Pixel may lose, plus offline events the Pixel cannot see at all.

It does not, on its own, tell Meta which leads became customers. Sales that close on WhatsApp, on a call or in your CRM a week later need a separate data flow, covered below.

Choose your Meta Conversions API setup route first

Meta's get-started page says the integration methods "vary by level of effort, cost, and the features they enable", so the route is the first decision, not the last.

RouteWhat it is
Set up with Meta (one click)Turned on in Events Manager for a site that already has the Pixel. Meta says it needs no code, configuration or setup fees
Partner integrationYour website platform or CRM connects to Meta for you
Conversions API GatewayMeta's gateway, installed in your own AWS account from Events Manager
Direct or server-side GTMYour developer sends events to the API with an access token, with full control over what is sent

The one-click option covers website events only. The Gateway runs in AWS, and Meta's setup guide says creating it takes about 30 to 40 minutes and that it can only live in one region.

My decision rule for UAE lead-gen businesses:

Step 1: use your existing Pixel and generate the access token

Meta's get-started page requires a Pixel ID and a Meta Business Suite account, and says to "use the same Pixel ID for your browser and server events". No Pixel on the site yet? Do the Meta Pixel setup first, then come back to this step.

A mistake I see: a developer creates a fresh Pixel for the server events, and Meta ends up with two half-complete data sources. Check in Events Manager which Pixel your ads optimise for, and use that one.

A direct integration also needs an access token with every API call. Meta recommends generating it in Events Manager: choose the Pixel, open Settings, find the Conversions API section and click "Generate access token" under "Set up manually". The link is only visible to users with developer privileges for the business.

Then open the Overview tab, click Manage Integrations and Manage next to Conversions API. Meta says this creates a Conversions API app and system user for you, with no App Review needed. Treat the token like a password: share it through a password manager, not on WhatsApp or by email.

Step 2: send the events that matter for leads

Server events need an event name, event time, customer information and action source, and Meta's best-practice page says website events also need the page URL and user agent.

For lead-gen sites, Meta's standard events already cover the actions you care about: Lead (a sign-up is completed), Contact (someone reaches out by phone, text, email or chat), Schedule (an appointment is booked) and SubmitApplication. Pick the events your Pixel already sends and send the same ones from the server.

Meta also says to send events in real time or in batches close to real time, so website leads should go out as they happen.

Step 3: deduplicate with event_id

Meta's deduplication guide says that when the Pixel and the Conversions API send the same event, you must deduplicate, ideally with a matching event_id and event name.

In practice: when the form submits, your site creates one ID for that lead. The Pixel sends it as eventID and your server sends it as event_id, with the same event name (Lead and Lead, not Lead and lead_submitted). Meta generally keeps the first one and discards the copy.

Meta only deduplicates events that arrive within 48 hours of the first event with that event_id, so a late server copy counts again.

What I see in UAE accounts: duplicates are the first thing I check, before missing events. A plugin sends a server Lead, a developer adds another, and the Pixel fires a third. The cost per lead looks great; the sales team cannot find the leads. Check deduplication in Events Manager before you trust any number.

Step 4: send customer information Meta can match

Meta's customer information parameters page says email, phone and name must be normalised and SHA-256 hashed, while IP address, user agent and the fbc and fbp browser IDs must not be.

The phone format is a fix I make often in UAE accounts: forms store 05x numbers without 971, so the hashed phone matches nothing.

Step 5: test, then watch Event Match Quality

Meta recommends the Test Events tool in Events Manager to confirm server events arrive and are deduplicated. Use your own details: Meta says test events that do not match an account may be discarded.

Submit a test lead with a 971 phone number, then check that the server event arrives with the same event_id as the browser event and only one Lead counts.

After that, look at Event Match Quality, a score out of 10 that Meta shows for each server event. Meta says only matched events can be used for attribution and ad delivery optimisation; unmatched ones count for basic measurement only. Meta says sending more customer information may help increase Event Match Quality. EMQ is currently shown only for web events.

Web CAPI does not send CRM outcomes

Meta describes the Conversions API for CRM as a separate integration from your website setup, because the parameters differ and the data comes from your CRM.

Meta says that connecting your CRM and using the Conversion Leads goal may bring higher quality leads that are more likely to convert. That goal currently only works with Facebook and Instagram Instant Forms, and Meta's fit check lists:

Meta puts a developer build at 3 to 4 weeks and a Zapier or partner connection at under a day, followed by a training period of 2 to 4 weeks. If you run click-to-WhatsApp ads instead of forms, the data flow is different; I compare the two in click-to-WhatsApp ads vs Instant Forms.

Below 200 leads a month, I still send CRM stages back: the data is ready when volume grows, and you see which campaigns bring buyers. My Meta Ads learning phase guide covers what to optimise for when the event you care about is too rare.

The set-up order I use

On one full-funnel account, rebuilding CRM lifecycle stages and syncing them to Meta and Google, plus CAPI and offline conversion tracking, was a core part of reaching a 780% ROI. This is the order I follow, and why my advice is always to fix your ad tracking first before touching budgets:

  1. Audit what exists. List every Pixel, plugin and partner sending events, and which Pixel your ads use.
  2. Pick one route. One-click, partner, Gateway or direct, using the rule above. One source of server events per action.
  3. Match the events. Same event names on the Pixel and server, with a shared event_id on every lead.
  4. Clean the customer data. Lowercase emails, 971 phone numbers, fbc and fbp passed through, your lead ID as external_id.
  5. Test with your own lead. Test Events tool, one Lead counted, then check Event Match Quality once real leads have come through.
  6. Connect the CRM. Store the Meta Lead ID, define your stages and send them back daily, whether or not you qualify for Conversion Leads yet.

Frequently asked questions

Do I still need the Meta Pixel if I set up the Conversions API?+
Yes. Meta's best practice is to use the Conversions API in addition to the Pixel and send the same events through both. You then deduplicate them with a shared event ID, so each conversion counts once.
What is the easiest way to set up the Meta Conversions API?+
If your website already has a Pixel, Meta says you can set up the Conversions API with Meta for website events in one click from Events Manager. It covers website events only, so CRM outcomes need a separate integration.
How do I stop Meta counting the same conversion twice?+
Send the same event_id with the Pixel event and the server event, and use the same event name in both. Meta treats them as one event when the second arrives within 48 hours of the first.
Does the Conversions API send my CRM lead stages to Meta?+
Not on its own. Meta treats the Conversions API for CRM as a separate integration because the data comes from your CRM, not your website. Its guidelines include Instant Form leads, at least 200 leads a month and daily uploads.

Related

Is Meta learning from leads your sales team never closes?

Apply for a free strategy call. We'll check your Pixel, your Conversions API events and deduplication, and what Meta is really optimising for.