Meta & Ad Platform Tracking

The Practical Meta Conversions API Guide We Hand to New Clients

The Meta Conversions API is the single tracking change that most often improves a struggling Meta account. It is also the one we most often find half set up. This is the guide we give new clients on day one.

By EmergingAds Tracking Team  /  3 Oct 2026  /  13 min read
Meta Conversions API guide cover with the headline The Practical Meta Conversions API Guide We Hand to New Clients

Key takeaways

  • The Meta Conversions API sends events from your server to Meta, alongside the browser Pixel, so fewer conversions go missing.
  • Run Pixel and CAPI together and deduplicate them: the same event_name and event_id on both, or Meta counts one sale twice.
  • Event match quality depends on the customer information you send, such as hashed email and phone, fbp, fbc, IP address and user agent.
  • Pick the setup route that fits your stack: a partner integration, the Conversions API Gateway, server-side GTM or a direct API build.
  • Judge success by how close Meta’s reported conversions come to your backend, and give the algorithm a few weeks to adjust before judging results.

01What the Meta Conversions API is, and why it exists

The Meta Conversions API (often called CAPI) lets your server send conversion events straight to Meta, instead of relying only on the Pixel running in the visitor’s browser. When someone buys, books or submits a form, your website backend, your ecommerce platform or a server container tells Meta directly. Meta then uses that event for reporting, attribution and, most importantly, to optimise who sees your ads.

It exists because browser tracking has become unreliable. Ad blockers stop the Pixel on some devices, Safari shortens the life of cookies set by scripts, pages close before tags finish loading, and consent choices remove some visitors entirely. Every missed purchase is a purchase Meta cannot learn from. On the accounts we take over, weak signal is one of the most common reasons a campaign that looks fine on paper struggles to scale.

We manage Meta accounts for ecommerce stores, lead-gen businesses, clinics and app brands. In almost every audit, the question is not whether the Conversions API is needed. It is whether the version already installed is actually doing its job. Plenty of accounts show a green tick in Events Manager and still double count purchases or send events with almost no customer information.

Pixel vs Conversions API in plain terms

  • The Pixel is JavaScript in the browser. It sees on-page behaviour well, like page views and add to cart clicks, but it is exposed to blockers and browser limits.
  • The Conversions API runs on a server. It is not affected by browser blockers in the same way, and it can include data your backend knows, like order value after discounts or a CRM lead status.
Our defaultWe almost never recommend replacing the Pixel with the Conversions API. We run both, send the same events from each, and let Meta deduplicate. Redundancy is the whole point.

02Pixel plus Conversions API: why redundancy wins

Think of the Pixel and the Conversions API as two witnesses to the same sale. Sometimes both see it. Sometimes only one does: the Pixel was blocked, or the server call failed, or the visitor closed the tab. Running both means Meta hears about more of your real conversions than either method could deliver alone.

The catch is that when both witnesses see the same sale, Meta must know it is one sale, not two. That is what deduplication is for, and it is where most broken setups go wrong.

ScenarioPixelConversions APIWhat Meta should record
Normal visit, no blockersFiresFiresOne conversion, deduplicated
Ad blocker activeBlockedFiresOne conversion from the server
Browser closes earlyMissedFiresOne conversion from the server
Server call failsFiresMissedOne conversion from the browser
Consent declinedNot sentNot sentNothing, and that is correct

That last row matters. The Conversions API is not a way to track people who said no. We cover the consent side in depth in our server-side tracking guide, and the same rules apply here.

Comparison of what the Meta Pixel and the Meta Conversions API each capture and where each one fails
Pixel and Conversions API compared: each covers gaps the other leaves.

03Deduplication with event_id, explained properly

Meta deduplicates Pixel and Conversions API events using two fields: event_name and event_id. If the browser sends a Purchase with event_id A1234 and the server sends a Purchase with event_id A1234, Meta keeps one. If the IDs differ, or one side leaves the ID blank, Meta may count both.

How to generate a good event_id

  1. Create the ID once, at the moment the event happens, and share it with both the browser and the server. For purchases, the order ID or transaction ID is often the simplest choice.
  2. Pass it to the Pixel as the eventID option on the fbq call, or through your tag manager’s Meta tag field.
  3. Pass the same value as event_id in the Conversions API payload.
  4. Keep event names identical. Purchase on one side and purchase or Order Complete on the other will not deduplicate.

For events without a natural ID, like ViewContent or AddToCart, we generate a random unique ID in the data layer and push it to both sides. If your site runs on Google Tag Manager, this is straightforward to wire up. Our Google Tag Manager guide explains the container structure we use, and our team handles GTM builds and fixes when the container is already a tangle.

Quick checkIn Events Manager, open an event and look at how Meta reports its browser and server sources and whether events are being deduplicated. If purchases in Ads Manager look suspiciously higher than orders in your store, deduplication is the first place we look.
Four steps to deduplicate Meta Pixel and Conversions API events using a shared event_id
The four steps that stop Meta counting one sale twice.

04Event match quality and customer information parameters

Sending an event is only half the job. Meta also has to match it to a person on its platforms. Event match quality is Meta’s score for how well the customer information in your events allows that matching. Better matching means more conversions attributed to the right ads and better signal for optimisation.

The score depends on which customer information parameters you include. Meta expects personal identifiers such as email and phone to be normalised and hashed with SHA-256 before sending. Browser identifiers such as IP address and user agent are sent as they are.

ParameterWhat it isNotes from our setups
emEmail address, hashedUsually the strongest single identifier on purchases and leads
phPhone number, hashedNormalise to digits with country code before hashing
fn, lnFirst and last name, hashedLowercase and trim before hashing
ct, st, zp, countryCity, region, postcode, country, hashedUseful where checkout collects them
external_idYour own customer or lead IDHelps link repeat customers over time
client_ip_address, client_user_agentFrom the visitor’s requestNeeded for server events on websites
fbp, fbcMeta browser ID and click ID cookiesCapture and pass them from the browser to the server

Where match quality usually breaks

  • Top-of-funnel events like ViewContent carry no customer data at all, which is normal, but purchases and leads should carry plenty.
  • The fbc value is never captured, so the click ID from the ad visit is lost by the time the server sends the event.
  • Email is sent unhashed or hashed without trimming and lowercasing first, so it will not match.
  • The server event is sent with the server’s own IP address rather than the visitor’s.

For lead-gen accounts, match quality also improves when you send later-stage events from your CRM, such as qualified lead or booked appointment. Our CRM automation setup work usually includes that loop, and simple flows can run through Zapier automations when a full developer build is not justified.

Bar chart ranking customer information parameters by how much they tend to help Meta event match quality
Customer information parameters ranked by how much they tend to help match quality on our accounts (illustrative).

05Meta Conversions API setup routes compared

There is no single right way to set up the Meta Conversions API. The right route depends on your platform, your developer access and how many other ad platforms you want to feed from the same pipe.

1. Partner integrations

Platforms like Shopify and WooCommerce offer integrations that send server events to Meta with little or no code. On Shopify, Meta’s own sales channel app handles it through its data sharing settings. This is the fastest route and often good enough for smaller stores, though you get less control over event parameters and deduplication details.

2. Conversions API Gateway

Meta offers a Conversions API Gateway that runs in your own cloud account and mirrors Pixel events to the server side. It suits businesses that want a Meta-focused setup without much custom development.

3. Server-side Google Tag Manager

Our preferred route when a business already uses GTM and advertises on more than one platform. One tagging server sends the same clean events to Meta, Google Ads, TikTok and GA4, and you control every parameter.

4. Direct API integration

Developers call the API from your backend. This gives full control and suits custom platforms, subscription billing systems or apps, but needs ongoing developer time whenever Meta changes requirements.

RouteBest forEffortControl
Partner integrationShopify and WooCommerce stores getting startedLowLimited
Conversions API GatewayMeta-only setups with little dev timeLow to mediumModerate
Server-side GTMMulti-platform advertisers already on GTMMediumHigh
Direct APICustom platforms, apps, CRM-driven salesHighFull

Whichever route you pick, the rules on deduplication and customer information stay the same. Our Meta Pixel and Conversions API setup service covers all four routes, and we choose based on your stack rather than our preference.

Two by two matrix of Meta Conversions API setup routes by effort and control
Choosing a Conversions API setup route by the control you need and the effort you can give it.

06Testing your setup in Events Manager

Never trust a Conversions API setup you have not tested with a real test order or form submission. Events Manager gives you what you need to check it properly.

  1. Use the Test Events tool. Generate a test event code, add it to your server events temporarily, and walk through the site. You should see browser and server events arrive for the same action.
  2. Check deduplication. Confirm that matching browser and server events share the same event name and event ID.
  3. Inspect parameters. Open a server Purchase and confirm value, currency, content IDs and customer information are present and formatted correctly.
  4. Watch diagnostics. The Diagnostics tab flags missing parameters, deduplication issues and formatting problems. Clear these before scaling spend.
  5. Compare with the backend. Over the following week, compare Meta’s reported purchases or leads with your store or CRM. The gap should shrink and stay stable.

Remove the test event code once you are done, or those events will stay in test mode and never reach reporting. We have seen that exact mistake leave a live account without server purchases for weeks.

A Conversions API setup is not finished when events arrive. It is finished when Meta's numbers make sense next to your own.

Checklist for testing a Meta Conversions API setup in Events Manager before scaling ad spend
What we check in Events Manager before calling a Conversions API setup finished.

07Common Meta Conversions API mistakes we fix

These are the problems we find most often during a Facebook ads audit. Most are quick to fix once spotted, and several can quietly distort results for months.

  • Double counting purchases. Missing or mismatched event_id between Pixel and server. Reported ROAS looks great and nobody can find the extra revenue.
  • Two integrations running at once. A Shopify app and a GTM build both send server events, so the same sale arrives three or four times.
  • Wrong value or currency. Server events send order value including tax and shipping while the Pixel sends subtotal, or the currency code is missing.
  • Thin customer data. Server events carry only IP and user agent, so match quality stays low and attribution suffers.
  • Ignoring consent. Server events keep flowing for visitors who declined marketing cookies. This is a compliance problem, not a tracking win.
  • Lead events with no follow-up. Lead-gen accounts send the form fill but never the qualified lead, so Meta optimises for cheap forms instead of real customers.

For stores, we often pair the tracking fix with checkout work, because a clean purchase event is easier to trust when the checkout itself is not leaking. That is where Shopify conversion optimisation and tracking tend to overlap.

Tiles summarising the most common Meta Conversions API mistakes found in ad account audits
The Conversions API mistakes we find most often in Meta account audits.

08What better signal changes in your Meta results

Clients understandably want to know what happens after the Conversions API is fixed. We are careful not to promise specific numbers, because every account is different, but the pattern we see is consistent.

What changesWhat you usually noticeTimeframe
Reported conversionsCloser to what your store or CRM recordedDays
AttributionMore sales linked to the ads that drove themDays to weeks
OptimisationDelivery shifts toward people more likely to convertWeeks
ScalingMore confidence raising budgets on accurate numbersWeeks to months

Two warnings. First, if your old setup was double counting, fixing it will make reported results look worse overnight, even though real sales have not changed. Tell your finance team before it happens. Second, give campaigns time to adjust to the new signal before you judge them or make big structural changes.

Better tracking also opens up better strategy. Once signal is solid, testing broader audiences, Advantage+ campaigns and value-based optimisation becomes far more reliable, which is why we treat tracking as the first step in any Meta ads management engagement. Ecommerce brands see it most clearly in catalogue and retargeting performance, a big part of our Meta ads for ecommerce work, while lead businesses notice it in lead quality from Meta lead generation ads.

09Where to go from here

If your Meta account feels unpredictable, start with the tracking before you touch creative or budgets. Check that Pixel and Conversions API both fire, that they deduplicate, that purchases and leads carry good customer information, and that consent is respected. That short list fixes more accounts than any bidding trick.

You can see how tracking connects to the rest of what we do on our services page, or read more tracking guides on the whyemergingads.com homepage. For the wider question of how much credit Meta deserves compared with Google and email, our main site covers what attribution modelling costs and involves.

Frequently asked questions

Straight answers to what clients ask us most about meta conversions api.

What is the Meta Conversions API?
It is a way to send conversion events from your server directly to Meta, instead of relying only on the browser Pixel. Meta uses those events for reporting, attribution and ad optimisation. Most businesses run it alongside the Pixel so fewer real conversions go missing.
Do I still need the Meta Pixel if I use the Conversions API?
Yes, in almost every case. The Pixel captures on-page behaviour well and the Conversions API fills gaps when the browser fails. Running both, with proper deduplication, gives Meta the most complete picture of your conversions. Replacing one with the other usually loses signal.
How does Meta deduplicate Pixel and Conversions API events?
Meta matches events using event_name plus event_id. When the browser and the server send the same event name with the same ID, Meta keeps one. If the IDs are missing or different, Meta may count both, which inflates conversions and reported return on ad spend.
What is a good event match quality?
Higher is better, and Events Manager shows the score per event. Rather than chasing a number, focus on sending hashed email and phone, fbp, fbc, IP address and user agent with purchases and leads. Those are the parameters that move match quality on the accounts we manage.
Is the Facebook Conversions API the same as the Meta Conversions API?
Yes. Facebook’s parent company rebranded as Meta, and the product name changed with it. Older guides, plugins and job descriptions still say Facebook Conversions API, but they refer to the same server-side integration for sending events to Meta.
How do I set up the Meta Conversions API on Shopify?
The quickest route is Meta’s sales channel app with data sharing turned on to its fullest setting. For more control, many stores move to server-side GTM. Whichever you choose, check that only one server integration is active, or purchases will be counted more than once.
Does the Conversions API track users who decline cookies?
It should not. Consent rules apply to server events as much as browser ones. If a visitor declines marketing tracking, your setup should not send their data to Meta. A compliant build passes the visitor’s consent choice through to the server and respects it.
How long before the Conversions API improves my results?
Reporting changes within days as more conversions get matched. Optimisation changes take longer, often a few weeks, as delivery adjusts to the new signal. Avoid major campaign restructures during that period so you can see what the tracking change actually did.
Why did my Meta conversions drop after fixing CAPI?
Usually because the old setup was double counting. Once deduplication works, each sale is counted once, so reported conversions fall even though real sales have not changed. Compare against your backend to confirm, and warn stakeholders before switching the fix live.
Can I send CRM or offline events through the Conversions API?
Yes. Lead-gen businesses often send later stages like qualified lead, booked call or closed sale from the CRM. That teaches Meta which leads turn into customers, so it can find more of them rather than more cheap form fills.
Do I need a developer to set up the Meta Conversions API?
Not always. Partner integrations and the Conversions API Gateway need little or no code. Server-side GTM needs a tracking specialist, and a direct API build needs a developer. The more custom your platform or sales process, the more technical help you will need.
Meta Conversions APIMeta PixelEvent match qualityMeta ads tracking
EA
EmergingAds Tracking Team

The EmergingAds tracking team sets up GA4, GTM, server-side tracking and attribution so brands can trust the numbers behind every marketing decision. See the full advanced tracking service.

Free tracking audit

Is Meta optimising on half of your real conversions?

We will check your Pixel, Conversions API, deduplication and match quality, then show you exactly what Meta is missing and how to fix it.

Book your free audit

Leave a Comment

Your email address will not be published. Required fields are marked *

Scroll to Top