Facebook Conversions API, Implementation Guide for 2026
Meta's Conversions API (CAPI) works as the server-side counterpart to the browser pixel. When iOS 14.5 decimated browser-based tracking, CAPI became essential for recapturing the conversions Meta couldn't see. Today's advertisers relying solely on the Pixel are missing out on 30-60% of attributed conversions. This guide walks you through a proper CAPI implementation from start to finish.
How CAPI Works in Practice
CAPI transmits conversion events straight from your server to Meta, sidestepping the browser completely. Your events get through even when the browser pixel gets blocked, when iOS devices restrict tracking, or when connectivity issues interrupt the pixel.
- Retrieves iOS conversions. Users with ATT restrictions still register server events.
- Works around ad blockers. Ad blockers can't intercept server-to-server communication.
- Improved data quality. Server events can include first-party identifiers (hashed email, phone number, customer ID) for more accurate matching.
- More reliable deduplication. Combined with the Pixel using
event_id, Meta ensures each conversion gets counted exactly once.
Three Ways to Get Started
1. Ready-made platform connectors (simplest)
Shopify, WooCommerce, BigCommerce, Magento, Wix, and Squarespace offer built-in Meta CAPI connections. Turn it on through your platform settings, input your access token, and you're set. Ideal for teams without developers on staff.
2. Server-side tag management (best practice)
Deploy Stape or Google Tag Manager Server-Side to trigger CAPI events through a sGTM container. Full event management, deduplication, and Advanced Matching without touching backend code. The go-to choice for experienced practitioners.
3. Direct API calls (maximum flexibility)
Post directly to https://graph.facebook.com/v18.0/{pixel_id}/events from your backend application. Perfect for SaaS platforms, bespoke systems, and setups that don't run on standard e-commerce software.
Direct API Setup: Complete Instructions
- Create a CAPI access token. Events Manager → your pixel → Settings → Conversions API → Create Access Token.
- Choose which events to transmit server-side. Always transmit Purchase, Lead, and CompleteRegistration. You can also add ViewContent, AddToCart, InitiateCheckout if you want better matching capability.
- Construct the event payload. Required:
event_name,event_time,action_source("website"),event_id(to prevent duplication), anduser_data(hashed email/phone/external_id). - Hash all user_data fields using SHA-256. Email, phone, name, city, state, zip, all hashed, in lowercase, with whitespace removed.
- POST to the Graph API endpoint. Pass the access token as a query parameter or in the request header.
- Implement retry logic. When POSTs fail with 5xx errors, retry using exponential backoff for up to 3 attempts.
- Record each event for compliance purposes. Keep the event payload and Meta's response on file so you can troubleshoot your attribution setup later.
Event Deduplication: The Thing You Must Get Right
event_id + event_name combination. If your IDs aren't set up correctly, Meta counts every conversion twice.- Create a distinct
event_idfor each conversion, for example your order reference. - Pass the identical
event_idwhen you fire both the browser pixel and the CAPI event. - Check that the
event_nameis identical, "Purchase" not "purchase". - Check that the
event_timeis no more than 1 minute apart between the two events for effective deduplication. - Check the Deduplication report in Events Manager to ensure ratios look sensible, where matched browser and server events form the largest group.
Advanced Matching: Why Hashed Identifiers Matter
CAPI lets you submit user identifiers (hashed email, phone, name, city, and more) with every event. Meta then uses these to match the conversion back to the person who saw the ad, regardless of whether the browser cookie still exists.
- Email (em): The single most valuable identifier. Include it with every event you possibly can.
- Phone (ph): Raw digits only, country code included (for example, 44 20 7946 0958).
- First name (fn) and last name (ln): All lowercase.
- City (ct), state (st), zip (zp), country (country): Lowercase throughout, no gaps.
- External ID (external_id): Your own customer ID in hashed form. Particularly strong for tracking customers who buy more than once.
- Click ID (fbc) and Browser ID (fbp): Read these from the browser cookies and include them with each server event to improve matching accuracy.
Checking That CAPI Works Properly
- Events Manager, then Diagnostics. You should see no serious warnings.
- Events Manager, then Event Quality or Event Match Quality. Target 7 or above on the 10-point scale.
- Events Manager, then the Events Received bar chart. Check that both the Browser and Server bars show data.
- Test Events Create a test_event_code, trigger a real conversion, and monitor it arrive live.
- After a week: Look at attributed conversions in Ads Manager before and after CAPI went live. If attributed conversions jump 20% or more, CAPI is successfully recovering lost data.
CAPI is mandatory now. Any advertiser still running pixel-only in 2026 is operating at a serious disadvantage. Choose the install method that fits your setup, handle deduplication correctly, and check your Event Match Quality. Two days of effort gives you lasting results.
Want CAPI Configured the Right Way?
Unled Network's tracking specialists deliver full Pixel plus CAPI setups, whether server-side GTM, direct API, or your platform's built-in tools, complete with deduplication and Advanced Matching calibrated to hit Event Match Quality 8+.
Comments
Have a question or a first-hand experience with this? Join the conversation. Your email is never shown or shared.
We implemented this last month and already seeing positive signals.
Appreciate you sharing this. We've refined our playbook for exactly this scenario and it aligns with the article.