The Conversions API is Meta's server side channel for conversion data. The Meta Pixel reports events from the visitor's browser. The API lets your web server, ecommerce platform or customer data tool send those same events straight to Meta, with a customer identifier such as a hashed email attached.
Meta recommends running both paths at once. Each event carries an event ID, and when the pixel and the server report the same purchase, the platform deduplicates them and keeps one. The browser event is fast and full of context. The server event gets past ad blockers, expired cookies and users who opted out of app tracking.
Other platforms have their own versions, such as offline conversion imports in Google Ads and the TikTok Events API. The logic is the same everywhere: as browsers share less, advertisers have to report outcomes themselves if they want the bidding system to see them.
Mechanics
How server side events travel to Meta
The setup has three parts. A source: your store platform, a tag management server, a CRM or your own backend, wherever the truth about an order or a lead lives. A connection: Shopify, WooCommerce, HubSpot and many others offer a native integration, and anything else can post events through a server side tag container or a short piece of code. And a payload: the event name, a timestamp, the value, the same event ID the pixel used, and any customer details you have permission to send, hashed before they leave your system.
Meta then ties the customer details to an account, checks whether that person saw or clicked one of your ads inside the attribution window, and credits the campaign. Events Manager grades how well this works with an Event Match Quality score. A low score usually means you're sending an event ID and a value but no email, phone number or click ID.
Your server can also report events that happen after the visit, like a lead that became a customer three weeks later. That lets you train bidding on real outcomes instead of form fills.
Example
A worked example for a meal kit company
Suppose a subscription meal kit company spends 20,000 a month on Meta and tracks signups with the pixel only. Ads Manager shows 400 signups at 50 each. Finance counts 560 new subscribers in the same period, and a customer survey credits social ads with roughly 65 percent of them, or about 364.
The gap is the visitors the pixel never saw: ad blockers, iOS opt-outs and a checkout that runs on a separate domain. The company then connects its subscription platform to the Conversions API, sending hashed emails and a shared event ID. With duplicates removed, the next month shows 520 signups on the same spend, about 38.50 per signup.
Nothing about the ads changed. The campaign had been performing at that level all along. The reporting just missed part of it. With the fuller signal the bidding system also had 30 percent more examples of a real subscriber to learn from, and the following month's cost per signup fell a little further.
Use
When you need the Conversions API
- You need it when Meta ads are a meaningful part of your spend and the reported results are clearly lower than what your order system or CRM shows.
- You need it when a large share of your customers use iPhones, since App Tracking Transparency cut most of those users from browser based reporting.
- It pays off for lead generation businesses that want to send qualified leads or closed deals back to Meta, so the campaign optimizes for revenue rather than form fills.
- It changes little for a small site that runs awareness campaigns only, where the difference between 800 and 1,000 reported page views affects no decision.
- Treat the reported lift as recovered visibility, not new performance; the ROAS looked worse before because the data was incomplete.
Watch out
Common mistakes with the Conversions API
- Sending server events without the event ID that the pixel uses, so every purchase is counted twice and the reported cost per result drops for the wrong reason.
- Omitting customer information such as a hashed email or the click ID, which leaves Event Match Quality low and most events unattributed.
- Turning off the pixel after connecting the API, which removes the browser context that server events lack and weakens both audiences and attribution.
- Sending test events into the production data set, so a week of internal checkout tests shows up as a spike in purchases on the ads dashboard.
- Assuming a plugin's one click setup is complete, without opening Events Manager to confirm that events arrive, deduplicate and tie back to real accounts.
FAQ
Questions about Conversions API
Do I still need the Meta Pixel if I set up the Conversions API?
Yes, Meta advises running them side by side. The pixel captures browser details and on site behavior, while the server connection fills in events the browser missed. Pass the same event ID from both so Meta can remove duplicates rather than counting one purchase twice.
How do I set up the Conversions API on Shopify?
Shopify connects to Meta through its Facebook and Instagram sales channel app, where you can choose a data sharing level that includes server events. After connecting, open Events Manager and confirm purchases arrive from both browser and server with deduplication working. Check Event Match Quality over the next days.
What is Event Match Quality in Meta Events Manager?
It's a score that shows how well the customer details sent with an event let Meta match it to an account. Hashed email, phone number, click ID and IP address all help. A low score means many events reach Meta but cannot be tied to the people who saw your ads, so optimization has less to learn from.