Your Meta Ads dashboard shows a handful of purchases last week. Your shop’s order list shows a lot more.

That gap isn’t a glitch. It’s what happens when you rely only on the Meta Pixel, a piece of code that runs in your visitor’s browser and can only report what that browser lets it see.

The fix Meta offers is the Meta Conversions API, often shortened to CAPI. It sends your conversion data straight from your server to Meta, so far fewer sales slip through the cracks.

I set up tracking for businesses in Mauritius and beyond, and CAPI is the single change I recommend most often to anyone spending seriously on Meta Ads.

In this guide, I’ll explain what it is, how it compares to the Pixel, the main ways to set it up, and the mistakes that quietly break it.

Key takeaways

  • The Meta Conversions API sends conversion events from your server to Meta, instead of relying only on the browser.
  • Meta recommends running it alongside the Pixel, sending the same events through both.
  • You can set it up through a platform integration, the Conversions API Gateway, server-side Google Tag Manager or a direct API connection.
  • Matching event_id and event_name on both sides stops Meta counting the same sale twice.
  • Always check your setup in Test Events and keep an eye on Event Match Quality in Events Manager.

What is the Meta Conversions API?

The Meta Conversions API is a connection between your marketing data and Meta. According to Meta’s developer documentation, it lets you send events from your server, website, app or CRM so Meta can optimise ad targeting, lower your cost per result and measure outcomes.

Think of it this way. The Pixel is a reporter standing in your visitor’s browser. CAPI is a reporter sitting in your back office, reading the order book.

Both describe the same purchases and leads. They just take different roads.

Why browser-only Pixel tracking misses conversions

The Pixel depends on the browser doing its job. Increasingly, browsers don’t.

Every missed conversion hurts twice. Your reporting looks worse than reality, and Meta’s algorithm has less data to learn who your best customers are.

That second part is the one most people underestimate. If you’re investing in first-party data, CAPI is how that data actually reaches your ad campaigns.

Conversions API vs Pixel: what’s the difference?

This is the question I get asked most. The short answer: it’s not either/or.

Meta’s best practices recommend a “redundant” setup: use CAPI alongside the Pixel and send the same events through both. Meta’s getting started guide also says to use the same Pixel ID for browser and server events.

Meta Conversions API setup: your four main options

The best option depends on your platform, budget and technical resources.

1. Partner integrations (WordPress, WooCommerce, Shopify)

If your site runs on a popular platform, start here. Meta works with partner platforms that offer built-in Conversions API connections, and the major e-commerce platforms and WordPress plugins provide ways to switch it on from their settings.

It’s the fastest route for most small and medium businesses. The trade-off is less control over exactly which data is sent.

2. Conversions API Gateway

The Conversions API Gateway is a self-serve option in Events Manager aimed at marketers with some technical skill but no dedicated developers. Meta says no coding is required.

You host it in a cloud account you own, on AWS or Google Cloud, and pay only for those cloud resources or partner fees. It supports multiple domains and Pixels, and it generates the event_id deduplication key for you automatically.

3. Server-side Google Tag Manager

If you already use Google Tag Manager, Meta publishes a Conversions API Tag for server containers, available in the GTM Template Gallery.

This route needs GA4, a web container, a server container and a tagging server. It’s more work, but it gives you fine control and fits neatly into an existing analytics stack.

4. Direct API integration

Here your developers connect your own server straight to Meta’s endpoint. You generate an access token in Events Manager, as described in Meta’s getting started guide, and send events in code.

It’s the most flexible option and the right choice for custom platforms or CRMs. A few rules from Meta’s API documentation are worth knowing: you can send up to 1,000 events per request, an event_time can be no more than 7 days old, and one invalid event causes the whole batch to be rejected.

Event deduplication: event_id and event_name

Here’s the catch with a redundant setup. If the Pixel and CAPI both report the same purchase, Meta could count it twice.

Deduplication prevents that. According to Meta’s deduplication guide:

Meta also describes an alternative using fbp or external_id, but notes it generally only works when the browser event arrives first. That’s why I always use a unique event_id per event, generated once and passed to both the Pixel and the server.

Event match quality and customer information parameters

Sending an event isn’t enough. Meta needs to match it to a real account before it can use it for targeting and attribution.

Meta’s best practices explain that each server event gets an Event Match Quality score out of 10 in Events Manager, and only matched events can be used for attribution and delivery optimisation. Meta’s verification guide says it generally recommends a score of 6.0 or higher.

You improve the score with customer information parameters:

Meta lists email, IP address, first and last name, and phone as high-quality parameters. It also asks you to send the same customer information on the browser and server sides.

This is exactly where good data habits pay off. Businesses with rich, consented customer records, such as banks, are well placed here, a topic I cover in my article on how banks should use Meta Custom Audiences.

How to test with Test Events in Events Manager

Never assume it works. Test it.

  1. Get a test code. In Events Manager, open your Pixel and go to Test Events to generate a test_event_code, as described in Meta’s API documentation.
  2. Send test events. Add the code to your server requests, or set it in your partner integration, then complete a test purchase or lead.
  3. Check both channels. Confirm the event appears from both the browser and the server, with matching names.
  4. Remove the code. Meta says to take the test code out of production payloads once you’re done.
  5. Review the Overview. Meta’s verification guide says events should appear within 20 minutes. Check the Event Deduplication tab and your match quality score.
Five steps to a reliable Meta Conversions API setup
Five steps to a reliable Meta Conversions API setup.

Common Meta Conversions API mistakes

These are the problems I see most often when I audit tracking:

Frequently asked questions

What is the Meta Conversions API?

The Meta Conversions API is a server-side connection that sends conversion events, such as purchases and leads, from your server, website, app or CRM directly to Meta. It helps Meta measure results and optimise ad delivery, even when browser tracking is limited.

Does the Conversions API replace the Meta Pixel?

No. Meta recommends using both together and sending the same events through each, with matching event_id and event_name values so duplicates are removed.

What is the Conversions API Gateway?

It’s a no-code option in Events Manager that you host in your own AWS or Google Cloud account. It sends web events through both the Pixel and the Conversions API and creates the deduplication key automatically.

What is a good Event Match Quality score?

Meta scores Event Match Quality out of 10 and generally recommends 6.0 or higher. Sending more hashed customer details, such as email and phone, usually improves it.

Do I need a developer to set up CAPI?

Not always. Partner integrations and the Conversions API Gateway need little or no code. Server-side Google Tag Manager and direct API integrations usually need technical help.

The bottom line

The Pixel shows you part of the story. The Meta Conversions API fills in the rest.

Run both, deduplicate properly, send clean hashed customer data and test before you trust a single number. Get those basics right and your ads finally learn from what really happened, not just what the browser saw.

Want tracking you can trust?

I set up and audit Meta Pixel and Conversions API tracking for businesses that want accurate data behind every ad decision. Tell me about your project and let’s find the conversions you’re missing.

Sources