Meta Conversions API Setup: The Complete Guide for 2026
The Meta Pixel alone no longer captures the full picture. Between iOS restrictions, ad blockers, and browser cookie limits, agencies and vendors typically report that browser-only tracking misses 20–30% of conversions (Meta has never published an official loss rate) — treat this as an estimate, not a Meta stat — and Meta’s algorithm optimizes on whatever incomplete data it gets.
The Meta Conversions API (CAPI) fixes this by sending events from your server directly to Meta. Here’s how to set it up properly.
What the Conversions API Is (and Isn’t)
CAPI is a server-to-server connection between your infrastructure and Meta. When someone purchases on your site, your server tells Meta directly — no browser involved.
It is not a replacement for the Pixel. Meta’s official recommendation, and ours, is to run both:
- The Pixel captures browser-side context and works instantly.
- CAPI captures what the browser misses (ad blockers, iOS restrictions, script failures).
Meta deduplicates the two streams so you don’t double-count — but only if you set it up correctly (more on that below).
Why CAPI Matters More Every Year
- iOS 14.5+: opted-out users generate limited browser data; CAPI recovers server-observed events.
- Ad blockers: the Pixel never fires for these users; your server still sees the purchase.
- Event Match Quality: Meta scores how well your events match to user profiles. Higher scores = better attribution = better optimization. CAPI with good customer data dramatically lifts this score.
- iOS measurement: with iOS traffic, browser data is limited — CAPI helps you make each event count. (Note: Meta’s Aggregated Event Measurement now processes eligible web events automatically — no manual configuration needed.)
What You Need Before You Start
- A Meta Pixel installed and firing (CAPI builds on it, doesn’t replace it).
- A verified domain in Business Settings (no longer required for event configuration — Meta removed the AEM event-configuration requirement — but still recommended for link ownership, brand-safety controls, and other features).
- Access to your server or a server-side tagging setup (GTM server container, or a partner integration).
- Customer data you can legally share — email, phone, name, address, all hashed with SHA-256 before sending. Never send plain-text PII.
Setup Method 1: Partner Integration (Easiest)
If you run Shopify, WooCommerce, or similar, Meta offers native integrations:
- Shopify: Facebook & Instagram app → Settings → Data sharing settings → enable Conversions API (choose “Maximum” data sharing).
- WooCommerce: install the Meta for WooCommerce plugin and connect it to Meta via the onboarding flow — Conversions API is enabled automatically on connection (no separate toggle), and deduplication is handled via a unique event ID.
This takes minutes and handles deduplication automatically. The trade-off: less control over exactly which events and parameters get sent.
Setup Method 2: GTM Server-Side (Most Control)
For custom sites or agencies managing multiple clients, a GTM server container is the professional route:
- Provision a server container and connect a first-party subdomain (see our server-side tracking guide).
- Add the Meta Conversions API tag (use the official Meta tag template from the community gallery).
- Configure it with your Pixel ID and access token (generate the token in Events Manager → Settings).
- Map your data layer events (PageView, ViewContent, AddToCart, InitiateCheckout, Purchase) to CAPI events.
- Include user data parameters: email, phone, first/last name, city, country, zip — hashed automatically by the tag template.
- Set the same
event_idin both your web Pixel events and server CAPI events. This is the deduplication key — skip it and you’ll double-count everything.
Setup Method 3: Direct API Integration
For engineering teams: POST events directly to graph.facebook.com/v<version>/<pixel_id>/events with your access token. Full control, but you’re responsible for hashing, deduplication, error handling, and keeping up with API version changes. Most businesses don’t need this.
Deduplication: The Critical Detail
When the same Purchase arrives via Pixel and CAPI, Meta needs to recognize it as one event. The mechanism:
- Send an identical
event_id(a unique string per event occurrence, e.g. the order ID + event name) in both the browser and server payloads. - Send the same
event_namein both.
Meta deduplicates when the same event_id + event_name pair is received within 48 hours of the first event with that event_id — so it’s not just minor timing differences; CAPI events arriving hours later still dedupe. Verify in Events Manager: if your Purchase count roughly doubles after enabling CAPI, deduplication is broken.
Testing Your Implementation
- Meta Test Events tool (Events Manager → Test Events): trigger events on your site and watch them arrive — it shows whether each came from browser, server, or both, and flags missing parameters.
- GTM server preview mode: inspect exactly what your server container sends before it reaches Meta.
- Event Match Quality score: found in Events Manager per event. Meta publishes no official target, but our benchmark is 7+/10 on Purchase. It improves as you send more (and better) customer data parameters.
- Compare counts: server + browser deduplicated Purchase count should roughly match your backend order count.
Troubleshooting Common CAPI Problems
- Event Match Quality stuck low: you’re not sending enough customer data. Add phone numbers, names, and addresses — not just email.
- Double-counted conversions:
event_idmismatch between Pixel and CAPI. Audit both payloads. - Events not arriving: expired access token (they don’t last forever — regenerate and update), wrong Pixel ID, or server container errors.
- “No recent activity” in Events Manager: check that your server container is actually receiving web events first — the problem is usually upstream of Meta.
- iOS purchases still underreported: verify your domain and make sure Pixel + CAPI send a clean, deduped event set. (Meta removed the old 8-event Aggregated Events ranking in 2025 — AEM now runs automatically.) CAPI helps but doesn’t override Apple’s limits.
FAQ
Is the Conversions API free?
Yes — Meta doesn’t charge for CAPI itself. Your costs are hosting (for server-side setups) and implementation time.
Do I still need the Meta Pixel if I use CAPI?
Yes. Run both. The Pixel provides browser context and redundancy; CAPI provides reliability. Meta designed them to work together.
What is a good Event Match Quality score?
Meta scores events out of 10 but publishes no official target. Our benchmark: aim for 7+ on your key events (especially Purchase); below 5 usually means you’re sending too little customer data.
How long do CAPI access tokens last?
They don’t expire on a fixed schedule, but they can be invalidated. If events suddenly stop, regenerating the token is a standard first troubleshooting step.
Can CAPI track iOS 14.5+ users who opted out?
It recovers server-observed events for opted-out users within Apple’s limits, but attribution is still constrained (limited windows). It’s a major improvement, not a full restoration.
Setting up CAPI correctly — deduplication, match quality, testing — is exactly what we do. Israr Ads implements Meta Conversions API and full server-side tracking for brands that need their data to be right. right.

[…] the Conversions API with proper event_id […]