TL;DR
The meta conversions api is a server-to-server signal that sends conversion data directly to Meta, bypassing browser limitations that block the Pixel. It does not replace the Facebook Pixel. Both signals run in parallel, and Meta deduplicates them server-side using the event_id parameter. Advertisers at any meaningful scale who rely on Pixel-only tracking are systematically undercounting conversions. Running both signals, correctly deduplicated, gives Meta the most complete attribution data available.
Do You Need the Meta Conversions API?
The short answer is yes, for almost every advertiser. The table below gives you the specific answer for your setup.
CAPI requirement by platform and situation
| Your situation | What you need |
|---|---|
| Running ads with Meta Pixel only | CAPI + Pixel (both, deduplicated) |
| Running ads on Shopify | Enable native Shopify-Meta integration (CAPI is built in) |
| Running ads on WooCommerce | Install the official Meta for WooCommerce plugin |
| Running ads with a custom checkout | Direct CAPI integration via Meta's API or GTM server-side |
| Spending under $1,000/mo | Pixel-only may be acceptable short-term; CAPI becomes critical as you scale |
| Pixel already installed, CAPI not set up | Fix this: CAPI dramatically improves event match quality |
Signal loss without CAPI
Without CAPI, iOS 14 restrictions and browser-level blocking cause a significant portion of conversion events to go unrecorded in Meta's system. Industry reports and vendor case studies show recovered events ranging from roughly 20% to 60% depending on browser mix, device split, and account setup. Your results will vary. That gap compounds as browsers tighten privacy controls.
What the Meta Conversions API Is (and What It Isn't)
The Meta Conversions API (CAPI) is a server-to-server integration that sends conversion event data directly from your server to Meta, without relying on the user's browser.
You may have heard that the Meta Conversions API replaces the Facebook Pixel. It doesn't. Disabling the Pixel after implementing CAPI removes browser-side matching signals. Based on how Meta's deduplication model works, this degrades rather than improves attribution because you've eliminated one of two independent measurement paths instead of adding a second.
Here's how the two systems work:
The Meta Pixel fires from the user's browser when a user takes an action: viewing a product, initiating checkout, or completing a purchase. It captures data client-side, which means it's subject to browser restrictions, iOS privacy controls, ad blockers, and ITP (Intelligent Tracking Prevention in Safari).
The Meta Conversions API (CAPI) fires from your server when a conversion event occurs. It sends the same data directly to Meta's API, bypassing the browser entirely. A server-to-server signal can't be blocked by browser extensions or iOS ATT.
Why you need both: When both signals fire for the same event, Meta deduplicates them server-side using the event_id parameter, so the conversion is counted once, not twice. The result is more complete conversion data than either signal provides alone, and your ROAS becomes more accurate because the learning algorithm has better signal to optimize against.
Pixel and CAPI are redundant measurement paths, not alternatives. Think of them as two independent witnesses to the same conversion event — having both consistently yields more complete data than either signal alone.
purchases processed
attributed with Pixel only
attributed with Pixel + CAPI
EMQ improvement after CAPI
The Conversions API is designed to create a direct connection between your marketing data and Meta, which helps optimize ad targeting, decrease cost per result, and measure outcomes across Meta technologies.
The 'facebook conversions api' and 'capi meta' terms refer to the same system. Meta rebranded from Facebook to Meta in 2021, but the underlying API and Events Manager interface use both names.
Why CAPI Exists: The Browser Signal Problem
Browser-only tracking is increasingly unreliable for three compounding reasons:
Three reasons browser-only tracking fails
iOS 14+ App Tracking Transparency (ATT)
Users who opt out of tracking prevent the Pixel from firing on mobile Safari. Meta has estimated this affects 60%+ of iOS traffic (source: Meta Business Help Center). Without a server-side signal, those conversions disappear from your attribution entirely. For e-commerce accounts with a high mobile share, this alone justifies CAPI.
Ad blockers and browser extensions
An estimated 30-40% of desktop users run ad blocking software that also blocks the Meta Pixel from loading (source: Statista). A server-side signal bypasses this entirely. Your server fires the event regardless of what's installed on the user's browser.
ITP (Intelligent Tracking Prevention)
Safari limits first-party cookie lifespan to 7 days or shorter (source: WebKit blog). Longer attribution windows, like 28-day click, become unreliable because the cookie that ties a click to a conversion may no longer exist. CAPI sends hashed customer data (email, phone) directly, bypassing cookie dependency for matching.
Pixel-only accounts are systematically undercounting conversions. CAPI is a primary server-side fix that recovers many browser-blocked events. Combine it with first-party data, clean tagging, and Advanced Matching for best results. Other mitigations (consented CRM uploads, attribution modeling) also help, but CAPI is the most direct structural solution.
Why attribution quality matters for AI-assisted decisions
Poor CAPI health has a downstream effect: if your attribution signals are degraded, any AI-assisted budget or bidding recommendations you're relying on are working from inaccurate ROAS data. Attribution quality is a prerequisite for reliable automated decisions, not an afterthought.
How to Set Up the Meta Conversions API
There are three setup paths depending on your platform. Use the one that matches your stack.
Conversions API on Shopify (Native Integration)
Shopify's native Meta integration handles conversions api shopify setup automatically once connected. No developer required.
Open Shopify admin
Go to Sales Channels then Facebook & Instagram
Connect Meta Business account
Connect your Meta Business account if not already connected
Enable Maximum data sharing
Under Data Sharing, select Maximum to enable server-side event sharing (CAPI)
Deduplication is automatic
Shopify automatically passes order IDs as the event_id parameter for deduplication
Verify in Events Manager
Open Meta Events Manager, select your dataset, and confirm both browser and server events appear with an Event Match Quality score
What 'Maximum' data sharing means
Shopify sends SHA-256 hashed customer data (email, phone, name) alongside conversion events. Meta matches this against its user graph to attribute conversions even when Pixel fires were blocked. No PII is stored by Meta in identifiable form; only hashed values are transmitted.
Highest-impact fix for Shopify advertisers
If you're running Shopify and haven't selected Maximum, this is the single highest-impact tracking fix available to you right now.
CAPI on WooCommerce (Plugin-Based)
The official Meta for WooCommerce plugin handles the integration without custom code.
Add plugin
In your WordPress admin, go to Plugins then Add New
Install Meta for WooCommerce
Search for and install Meta for WooCommerce (the official plugin by Meta)
Connect Meta Business account
Connect your Meta Business account and select your pixel
Enable Advanced Matching
Enable Advanced Matching in the plugin settings
Enable server-side events
Under Events, confirm server-side events are toggled ON. The plugin sends server events for ViewContent, AddToCart, InitiateCheckout, and Purchase.
Use the official Meta plugin
Third-party WooCommerce CAPI plugins have inconsistent deduplication logic and can cause double-counting that inflates your conversion numbers. Use the official Meta plugin where possible.
Direct Server-Side Integration (Custom / Headless)
For custom checkout systems, headless commerce setups, or events beyond standard e-commerce, this is the facebook capi integration path for developers.
Access Meta's Conversions API
Access via the Meta Marketing API: https://developers.facebook.com/docs/marketing-api/conversions-api
Include required parameters
For each event, include: event_name, event_time, user_data (hashed), and event_id
Send events within 1 hour
Send events within 1 hour of occurrence (real-time is ideal; delays degrade match quality)
Match event_id across Pixel and CAPI
Generate a unique event_id for each event (UUID or order ID) and pass the same value to both the Pixel and CAPI
event_id is required for deduplication
To deduplicate browser and server events, send the same event_id (and event_name) in both Pixel and CAPI payloads. Without matching values, you risk double-counting. If you're sending server events only with no Pixel running, deduplication isn't a concern, but including event_id is still recommended for consistency and future-proofing.
Event Match Quality: What Score You Need
Event Match Quality (EMQ) is Meta's score (0-10) for how well your customer signals match Meta user profiles. Higher EMQ = more conversions attributed = more accurate signal for the algorithm.
Event Match Quality scoring
| EMQ Score | Rating | What it means |
|---|---|---|
| 0-3 | Poor | Minimal signals (IP + user agent only). Many conversions go unmatched. |
| 4-6 | Fair | Some advanced matching parameters included. Acceptable minimum. |
| 7-8 | Good | Email or phone hash included. Strong attribution coverage. |
| 9-10 | Excellent | Multiple hashed parameters (email, phone, first name, last name, zip). Maximum attribution. |
How to improve EMQ:
- Pass SHA-256 hashed email with every event where available
- Pass hashed phone number where customers provide it at checkout
- Pass first name, last name, and zip code for purchase events
- Enable Advanced Matching in Meta Pixel settings (browser-side)
- Use CAPI to send these parameters even when browser signals are blocked
Where to check: Meta Events Manager, your dataset, Event Match Quality column
Recommended EMQ targets (industry heuristic, not an official Meta threshold)
7+ for purchase events; 5+ for top-of-funnel events (ViewContent, AddToCart). Below 5 on purchase events is a strong signal that attribution is degraded and ROAS figures may be unreliable. Meta hasn't published official minimum thresholds - treat these as practitioner benchmarks.
Deduplication: How Meta Prevents Double-Counting
When both Pixel and CAPI fire for the same conversion, Meta counts it once. This works via the event_id parameter, a unique identifier you generate for each event.
Purchase occurs
|
+---> Pixel fires (browser) --+
| event_id: "order_12345" +--> Meta matches event_id --> 1 conversion
+---> CAPI fires (server) --+
event_id: "order_12345"How deduplication works
Generate a unique event_id
A purchase occurs; your system generates a unique event_id (e.g., order_12345)
Pixel fires with event_id
The Pixel fires: fbq('track', 'Purchase', {eventID: 'order_12345'})
CAPI fires with same event_name and event_id
CAPI fires for the same event with the identical event_name: 'Purchase' and event_id: 'order_12345'
Meta deduplicates
Meta matches both events by event_name + event_id together and counts the conversion once
What happens without event_id
Meta receives two purchase signals for the same order. Without a deduplication key, it may count both, inflating conversion numbers, making ROAS appear higher than it is, and degrading the algorithm's learning on false data.
Symptoms of a deduplication failure
- Conversion counts in Meta are significantly higher than actual orders
- ROAS looks unexpectedly strong while profit doesn't match
- Events Manager Activity Log shows near-identical duplicate events
In Meta Events Manager, check the Diagnostics tab. It flags duplicate events if deduplication is failing. Cross-reference your Meta-attributed conversions against your actual platform order volume as a sanity check.
How to Verify CAPI Is Working
After setup, confirm CAPI is firing correctly before trusting your attribution data.
Use Test Events in Meta Events Manager
Open Events Manager, select your dataset, then Test Events. Fire a live test event and check what Meta receives. Verify: server events appear alongside browser events; event_id values match; Event Match Quality shows 7+ on purchase events; no Missing required parameters warnings.
Check the Diagnostics Tab
Events Manager Diagnostics flags three issue categories: missing parameters, high duplicate rates, and event mismatch. Resolve all warnings before running any attribution-dependent analysis.
Compare attributed conversions with actual orders
After approximately 7 days of CAPI running correctly, compare Meta's attributed purchase count against your actual order volume. If Meta is attributing more than 10-15% above actual orders under a 1-day click window, deduplication is likely failing.
Common CAPI Problems and Fixes
Common CAPI problems, causes, and fixes
| Problem | Likely cause | Fix |
|---|---|---|
| Conversion count much higher than actual orders | Missing or mismatched event_id | Ensure identical event_id passes to both Pixel and CAPI for every event |
| EMQ below 5 on purchase events | Missing hashed customer data | Add SHA-256 hashed email and phone to every server event |
| Only browser events in Events Manager | CAPI not firing | Re-check your server-side integration; re-verify with Test Events |
| Only server events in Events Manager | Pixel not loading in browser | Check Pixel installation; verify it's not blocked in your tag manager |
| Missing required parameters in Diagnostics | Incomplete event payload | Confirm event_name, event_time, user_data, and event_id are all present |
Frequently Asked Questions
CAPI Setup Checklist
Before trusting attribution data after CAPI implementation, verify all of the following:
- Meta Pixel installed and firing on all key pages (confirmed in Test Events)
- CAPI enabled for your platform (Shopify Maximum, WooCommerce plugin, or direct API)
- event_id matching between Pixel and CAPI for every conversion event
- SHA-256 hashed email passed with every purchase event
- Hashed phone number passed where customers provide it
- Event Match Quality score 7+ on Purchase events in Events Manager
- No warnings in the Events Manager Diagnostics tab
- Both browser and server event rows visible in Test Events for the same conversion
- Attributed conversions within 10-15% of actual order volume under a 1-day click window
Summary
The Meta Conversions API is a complementary tracking signal, not a Pixel replacement. Setting up both, with correct event_id deduplication, gives Meta the most complete conversion data available and improves the algorithm's ability to optimize your spend. For advertisers using AI-assisted tools like AdAdvisor, CAPI health is a prerequisite: automated budget and bidding recommendations depend on accurate ROAS data, which depends on accurate attribution. Weak CAPI health produces unreliable ROAS, which makes any AI-driven recommendations untrustworthy.
AdAdvisor monitors Pixel and CAPI health as part of its account-level tracking diagnostics, flagging attribution signal issues before they affect your budget decisions.




