Performance Marketing · 2026-11-06
Meta Conversions API: Do You Need Server-Side Tracking?
If Meta Ads drive real revenue, yes. Run the Conversions API alongside the Pixel, send the same events from both and deduplicate them with a shared event ID.
Short answer: If Meta Ads are a meaningful source of leads or sales for you, you should run the Meta Conversions API (CAPI) as well as the Meta Pixel. Meta's own guidance is to use both and send the same events through each, then deduplicate them with a shared event ID so nothing is counted twice. The Pixel sees what happens in the browser; CAPI sends conversions from your server, so Meta still receives them when the browser side is blocked, delayed or incomplete.
This guide covers what CAPI actually does, the setup options, the deduplication rules that trip most teams up, and when it is not worth the effort yet.
What the Conversions API does that the Pixel cannot
The Meta Pixel is a script that runs in your visitor's browser. When someone buys or submits a form, the browser sends that event to Meta. Anything that interferes with the browser, such as ad blockers, cookie restrictions, consent choices or a visitor closing the tab before the thank you page loads, can stop that event from arriving.
The Conversions API is a direct server to Meta connection. Your website backend, your CRM or your e-commerce platform sends the event, together with customer information that helps Meta match it to a person who saw or clicked an ad. Because it does not depend on the browser, it can also send events that never happen on your website at all, such as a lead that becomes a paying customer in your CRM a week later. Meta's best practices page notes that the Conversions API supports offline events too.
Better data matters for two reasons. Your reporting becomes closer to reality, and Meta's delivery system, which optimises towards the conversions it can see, gets more signal to learn from.
Pixel only, CAPI only or both?
Meta is direct about this: "Use the Conversions API in addition to the Meta Pixel, and share the same events using both tools." This is called a redundant setup.
| Setup | What you get | Main risk |
|---|---|---|
| Pixel only | Quick to install, captures browser behaviour such as page views and add to cart | Missed conversions whenever the browser side fails |
| CAPI only | Reliable server events, works for offline and CRM conversions | Loses browser signals such as the fbp cookie and on page behaviour unless you pass them through |
| Pixel and CAPI (redundant) | The most complete picture, and Meta keeps the best version of each event | Double counting if deduplication is not set up correctly |
For almost every business running paid social seriously, the third row is the target.
How event deduplication works
When you send a purchase from both the Pixel and the server, Meta needs to know they are the same purchase. According to Meta's deduplication documentation, the recommended method has two conditions:
- The Pixel's
eventIDmust match the Conversions API'sevent_id. - The Pixel's event name must match the Conversions API's
event_name.Purchasein the browser andpurchaseon the server are not the same name.
Meta also states that events are only deduplicated if they arrive within 48 hours of the first event with that event_id. Where the two versions do not differ meaningfully, Meta generally keeps the one it received first.
There is a fallback method that matches on event_name plus fbp and/or external_id, but Meta says it generally only works when the browser event arrives first and the server event follows. That is why we treat a shared event ID as non negotiable.
In practice, generate one unique ID at the moment of the action (an order number works well for purchases), pass it to the Pixel call, and send the same value in the server event. A Pixel purchase call with an event ID looks like this:
fbq('track', 'Purchase', { value: 120, currency: 'GBP' }, { eventID: 'order_10482' });
The setup options, and how to choose
There are three common ways to get CAPI running. They differ mainly in cost, control and how much engineering they need.
- Platform partner integration. Shopify, WooCommerce plugins and many CRMs offer a built in Meta connection. This is the fastest route and often good enough for a standard store. Check that it sends an event ID for deduplication and the customer fields you expect.
- Server-side tag manager. Running a tagging server, for example with Google Tag Manager server-side tagging, lets one data stream feed Meta, Google Ads and GA4 together. It gives you more control over what data leaves your site, but you pay to host the server and someone has to maintain it.
- Direct integration. Your developers call the Conversions API from your own backend. This gives full control and is the right choice for custom platforms, SaaS sign up flows and CRM driven sales where the conversion happens long after the click.
Meta also offers the Conversions API Gateway, a hosted option designed to reduce the engineering work. Whichever route you take, judge it by the data it actually sends, not by the fact that it is switched on.
What a good server event contains
Meta's best practices list the fields that matter most. Every event needs an action_source, and website events also need event_source_url and client_user_agent. Meta recommends including external_id and event_id on all events.
For matching, the stronger customer information parameters include email (em), phone (ph), first and last name (fn, ln) and IP address (client_ip_address). Personal details such as email and phone are sent hashed, so if you are not using Meta's Business SDK your developers need to implement hashing themselves. Meta also warns that some weak combinations are rejected outright, for example a date of birth with only a user agent, or a first name with only gender.
Two details are easy to miss:
- Refresh
fbpandfbc. If you send these browser identifiers as user parameters, Meta says you should regularly refresh their values rather than storing one forever. - Be honest with
action_source. By using the API you agree the value is accurate. An offline sale should not be labelledwebsite.
Meta scores each web event out of 10 for Event Match Quality in Events Manager. Use it as a diagnostic: a low score usually means you are sending too few customer fields, or sending them in the wrong format.
When CAPI is not worth it yet
Server-side tracking is not a magic fix, and it is not always the first priority.
- If you spend very little on Meta and get only a handful of conversions a month, fix your offer, landing page and creative first. Better tracking of a weak funnel is still a weak funnel.
- If your consent banner, privacy policy and data processing agreements are not in order, sort those out before you send more customer data to any ad platform. Server-side does not remove your obligations under GDPR, UK GDPR, POPIA or similar laws.
- If nobody will monitor the integration, it will quietly break after the next checkout or CRM update. Budget for maintenance as part of the setup.
Key takeaways
- Meta recommends running the Conversions API alongside the Pixel and sending the same events through both.
- Deduplicate with a matching
event_idand identicalevent_name; Meta only deduplicates within 48 hours of the first event. - Choose a partner integration, a server-side tag manager or a direct integration based on your platform and where conversions happen.
- Send rich, correctly formatted customer information and watch Event Match Quality in Events Manager.
- Do not let tracking projects distract from offer, creative and consent basics.
FAQ
Is the Meta Conversions API free to use?
Meta does not charge for sending events through the API. The cost is in implementation and hosting: developer time for a direct integration, or monthly server costs if you run a server-side tag manager. Many platform integrations are free to switch on.
Will the Conversions API double count my conversions?
Only if deduplication is wrong. Send the same event name from the Pixel and the server, include a matching event ID, and Meta will discard the duplicate if both arrive within 48 hours of the first one.
Does server-side tracking get around cookie consent?
No. Server-side tracking changes how data is sent, not whether you are allowed to send it. You still need a lawful basis and must respect the consent choices your visitors make.
How do I know if my CAPI setup is working?
Open Events Manager and check that each key event shows both browser and server activity, that deduplication is happening, and what Event Match Quality score the event has. Then compare Meta's reported conversions against your own orders or CRM records over the same period.
Can I send CRM or offline sales through the Conversions API?
Yes. Meta's best practices state that the API supports offline events, which is useful for businesses where a lead becomes a sale later by phone or in person. Set action_source to the correct offline value rather than website.
If you want your Meta tracking audited and rebuilt properly, talk to our performance marketing team or start a project.