Meta Conversions API (CAPI): how to set up server-side conversion tracking on Meta.

Meta Conversions API (CAPI) is the server-to-server endpoint that Meta uses to receive conversion events directly from your server, bypassing the browser pixel. The API was built (or rebuilt) after iOS ATT (April 2021) broke pixel-based conversion tracking. Most advertisers running paid Meta campaigns in 2026 need CAPI implemented. The standard pattern is to run the browser pixel and the server-side CAPI in parallel with event deduplication; the browser captures what the server cannot see, the server captures what the browser cannot send. Together they rebuild most of the conversion signal lost in 2021.

By David Schaefer · LinkedIn · Updated · 12 min read · 5 sources cited

Key takeaways

  • Meta CAPI is a server-to-server endpoint for conversion events. Recommended setup since iOS 14.5 ATT in April 2021.
  • Run Pixel and CAPI together with deduplication. Match rates: 80-90 percent dual vs. 50-65 percent Pixel-only post-ATT.
  • event_id is the deduplication key. Pixel and CAPI events for the same conversion must share it.
  • Hashed PII (email, phone) drives matching. Without it, match rates drop below 50 percent.
  • Implementation takes 2-6 weeks for mid-market. sGTM is the recommended path.
  • Three common failures: missing event_id (double-counts), unhashed PII (rejected events), only fbclid as identifier (low match).

What Meta CAPI actually is

Meta Conversions API (CAPI) is a server-to-server endpoint that receives conversion events directly from your server. The standard implementation runs alongside the Meta Pixel: the Pixel sees browser events, CAPI sees server events, deduplication keeps the conversion count honest. Meta launched CAPI (originally called Server-Side API) in 2019 and made it the recommended setup after iOS 14.5 ATT broke Pixel-only tracking in April 2021.

Every Meta advertiser running paid campaigns above $10K monthly should have CAPI implemented. Match rates with CAPI plus Pixel typically run 80-90 percent compared to 50-65 percent for Pixel-only post-ATT. The improvement directly shows up as better bidding signal and lower CAC at the platform level.

Why every advertiser needs Meta CAPI

Three reasons. iOS ATT broke Pixel-based attribution for ~75 percent of iOS users who opt out of tracking. Browser ITP and ad blockers prevent the Pixel from firing on a meaningful share of web traffic. Server-side events are more reliable, deliver more matched data, and survive the privacy stack better than browser pixels.

Setup walkthrough

The cleanest setup uses Google Tag Manager Server-Side (sGTM) as the intermediary. Web GTM fires the event to your first-party subdomain. sGTM receives it, hashes PII (email, phone), and forwards to Meta via CAPI. Meta deduplicates against the Pixel-fired event using the event_id field.

  1. Generate a CAPI access token.In Meta Events Manager, create a system user token with conversions_api scope. Store it securely in your server environment.
  2. Set up sGTM or a custom server.Most teams use sGTM on Cloud Run. The container template includes a Meta CAPI tag that handles the hashing and POST.
  3. Wire web events to sGTM.Replace direct Meta Pixel firing with calls to your first-party endpoint. The Pixel still fires to Meta directly; sGTM relays the same event server-side.
  4. Add the event_id parameter.Both Pixel and CAPI events for the same conversion must share event_id. Meta uses this for deduplication.
  5. Hash PII identifiers.Email (em), phone (ph), first name (fn), last name (ln), city (ct), state (st), zip (zp), country (country) all need SHA-256 hashing before sending. sGTM does this automatically.
  6. Validate in Events Manager.Use Meta's test events tool to confirm CAPI events arrive with the expected payload and match rates above 70 percent.

Payload format and required fields

A standard Meta CAPI event has four required fields: event_name (Purchase, Lead, AddToCart, etc.), event_time (Unix timestamp), event_id (deduplication key matching the Pixel), and at least one user_data identifier (typically hashed email or hashed phone). Custom_data carries value, currency, and content details for ecommerce.

Deduplication with the Meta Pixel

Meta deduplicates Pixel and CAPI events using the event_id field. Both events for the same conversion must include the same event_id and event_name. If Meta receives both within 48 hours, it counts the conversion once and uses the union of identifiers from both for matching. Without matching event_ids, the same conversion gets counted twice.

Common implementation mistakes

Three failures appear in every Meta CAPI audit. Missing event_id between Pixel and CAPI, producing double-counting. Forgetting to hash PII, producing rejected events. Sending only fbclid as the identifier, producing low match rates because most users do not have fbclid attached.

Quick answers

What is Meta CAPI?
Meta's server-to-server endpoint for conversion events. Receives events from your server directly, bypassing the browser Pixel. Standard pattern is to run both in parallel with deduplication.
Do I still need the Meta Pixel?
Yes. Run Pixel and CAPI in parallel. Pixel captures browser events; CAPI captures server events. Together they reach 80-90 percent match rates vs. 50-65 percent Pixel-only.
What is event_id?
The deduplication key. Both Pixel and CAPI events for the same conversion must share event_id so Meta counts the conversion once.
What identifiers should I send?
Hashed email and hashed phone are the most important. Also include fbp (Facebook browser ID), fbc (click ID if present), and IP/user-agent.
How do I validate CAPI is working?
Meta Events Manager has a test events tool and a deduplication report. Match rates above 70 percent are the standard.
How long does CAPI implementation take?
2-6 weeks for a mid-market business. The variance comes from how complex the events are (ecommerce with line-items takes longer) and whether you use sGTM or a custom server.

Frequently asked

What is Meta Conversions API (CAPI)?

Meta CAPI is a server-to-server endpoint that receives conversion events directly from your server, bypassing the Meta Pixel in the browser. Launched in 2019 and made the recommended setup after iOS 14.5 ATT in April 2021.

Why does Meta require CAPI?

Because the Pixel alone is no longer reliable. iOS ATT, browser ITP, and ad blockers prevent the Pixel from firing on a meaningful share of users. CAPI sends events from your server where these restrictions do not apply.

Should I run Pixel and CAPI together?

Yes. The recommended setup is dual implementation with deduplication via event_id. Pixel captures browser-side events with rich client signals; CAPI captures the events Pixel misses.

What match rate should I expect?

80-90 percent is the standard with proper Pixel + CAPI deduplication. 50-65 percent is typical for Pixel-only post-ATT. The improvement translates directly to better bidding signal.

What identifiers does Meta CAPI accept?

Hashed email (em), phone (ph), first name (fn), last name (ln), city (ct), state (st), zip code (zp), country, plus client_ip_address, client_user_agent, fbp (browser pixel ID), fbc (click ID). All PII fields must be SHA-256 hashed.

How long does Meta CAPI implementation take?

2-6 weeks for a mid-market advertiser. Longer for ecommerce with complex line-item data or for businesses with multiple regional accounts.

Does Meta CAPI work with sGTM?

Yes. Google Tag Manager Server-Side has a built-in Meta CAPI tag template that handles hashing and POST formatting. sGTM is the recommended implementation path.

What is the cost of Meta CAPI?

The API itself is free from Meta. Costs are in implementation labor ($15K-$75K typical) plus sGTM hosting ($50-$500/month). The return is materially better bidding efficiency and recovered conversion attribution.

Sources cited on this page

  1. Meta — Conversions API documentation.
  2. Google — Google Ads Conversions API documentation.
  3. Apple — App Tracking Transparency framework.
  4. Simo Ahava — Most-cited resource on server-side GTM and CAPI.
  5. Real Growth Matters Inc. — Internal CAPI implementation audits, 2024-2026.