Meta Conversions API (Facebook CAPI) Setup Guide 2026
Table of contents
The Meta Conversions API (formerly Facebook Conversions API, commonly called CAPI) is Meta’s server-side tracking solution for Facebook and Instagram advertising. It allows you to send conversion events directly from your server to Meta’s systems, bypassing browser limitations.
If you’re running Facebook or Instagram ads, implementing CAPI is one of the highest-impact improvements you can make to your ad performance.
What is the Meta Conversions API?
The Conversions API is a Meta Business Tool that creates a direct connection between your marketing data (from your server, website platform, or CRM) and Meta’s advertising systems.
How It Differs from the Facebook Pixel
| Aspect | Facebook Pixel | Conversions API |
|---|---|---|
| Data Source | Browser | Server |
| Blocked by Ad Blockers | Yes | No |
| Affected by iOS 14 | Yes | Minimal |
| Real-time | Yes | Near real-time |
| Implementation | Easy | Moderate |
Why Meta Recommends Both
Meta explicitly recommends using the Pixel and CAPI together for redundant event coverage. When you send the same event through both channels:
- Meta deduplicates using event IDs
- You get the real-time benefits of the pixel
- You get the reliability of server-side data
- Your Event Match Quality improves
Benefits of Implementing CAPI
1. Improved Event Match Quality
Event Match Quality (EMQ) is Meta’s score for how well it can match your events to Facebook users. CAPI typically improves EMQ because:
- Server-side events include more consistent user data
- Email and phone hashing is more reliable
- You can include additional identifiers (external_id, fbp, fbc)
2. Better Ad Optimization
More matched events mean:
- Better Custom Audience building
- More accurate lookalike audiences
- Improved conversion optimization
- More efficient ad delivery
3. Reduced Data Loss
With CAPI, you capture conversions from:
- Users with ad blockers (30%+ of traffic)
- Safari users with ITP enabled
- iOS users who opted out of tracking
- Users with strict browser privacy settings
4. Lower CPAs
Advertisers consistently report 10-30% CPA reductions after implementing CAPI properly, due to improved optimization data.
CAPI Implementation Options
Option 1: No-Code Platform (Recommended)
Platforms like Convultra, Elevar, or TAGGRS handle CAPI implementation automatically.
Pros:
- Setup in minutes
- No development required
- Automatic updates when API changes
- Built-in Event Match Quality optimization
Cons:
- Monthly subscription cost
- Less customization
Best for: Most businesses, especially those without dedicated developers
Option 2: Partner Integration
Meta has direct integrations with major platforms:
Shopify:
- Go to Facebook Sales Channel settings
- Enable “Share data with Facebook”
- Configure Conversions API settings
WooCommerce:
- Install Facebook for WooCommerce plugin
- Connect your Meta Business account
- Enable CAPI in plugin settings
Pros:
- Native integration
- Usually free
- Maintained by platform
Cons:
- Limited to platform’s implementation
- May not include all events
- Sometimes delayed updates
Option 3: GTM Server-Side
Using Google Tag Manager’s server-side container:
- Set up a GTM Server Container
- Add the Facebook CAPI tag from the tag gallery
- Configure with your Pixel ID and Access Token
- Map incoming events to CAPI parameters
Pros:
- Free (hosting costs apply)
- Full control over data
- Works with existing GTM setup
Cons:
- Requires technical setup
- Hosting management needed
- More maintenance
Option 4: Direct API Implementation
For full control, implement CAPI directly:
// Example Node.js CAPI implementation
const bizSdk = require('facebook-nodejs-business-sdk');
const access_token = 'YOUR_ACCESS_TOKEN';
const pixel_id = 'YOUR_PIXEL_ID';
const api = bizSdk.FacebookAdsApi.init(access_token);
const EventRequest = bizSdk.EventRequest;
const UserData = bizSdk.UserData;
const ServerEvent = bizSdk.ServerEvent;
// Create event
const userData = (new UserData())
.setEmail('sha256_hashed_email')
.setPhone('sha256_hashed_phone')
.setClientIpAddress('user_ip')
.setClientUserAgent('user_agent')
.setFbp('fbp_cookie_value')
.setFbc('fbc_cookie_value');
const serverEvent = (new ServerEvent())
.setEventName('Purchase')
.setEventTime(Math.floor(Date.now() / 1000))
.setUserData(userData)
.setEventSourceUrl('https://yoursite.com/thank-you')
.setActionSource('website');
const eventsData = [serverEvent];
const eventRequest = (new EventRequest(access_token, pixel_id))
.setEvents(eventsData);
eventRequest.execute();
Pros:
- Complete control
- No third-party dependencies
- Custom logic possible
Cons:
- Requires development resources
- Ongoing maintenance
- Must handle API changes
Step-by-Step CAPI Setup (No-Code Method)
Prerequisites
- Meta Business Manager access
- Admin access to your Pixel
- Website where you can add scripts
Step 1: Generate Access Token
- Go to Events Manager
- Select your Pixel
- Click Settings
- Scroll to “Conversions API”
- Click “Generate access token”
- Copy and save the token securely
Step 2: Get Your Pixel ID
- In Events Manager, select your Pixel
- Your Pixel ID is displayed at the top
- Copy this ID
Step 3: Connect Your Platform
Using Convultra as an example:
- Log into your dashboard
- Click “Connect Meta”
- Enter your Pixel ID
- Enter your Access Token
- Select your Business Manager
- Click “Connect”
Step 4: Configure Events
Standard CAPI events to configure:
| Event | When to Fire | Parameters |
|---|---|---|
| PageView | Every page load | None required |
| ViewContent | Product page view | content_ids, content_type, value |
| AddToCart | Add to cart click | content_ids, content_type, value |
| InitiateCheckout | Checkout start | content_ids, value, num_items |
| AddPaymentInfo | Payment info entered | value |
| Purchase | Order complete | content_ids, value, currency |
| Lead | Form submission | None required |
Step 5: Verify Implementation
- Go to Events Manager → Test Events
- Enter your website URL
- Perform test conversions
- Look for events with “Server” badge
- Check Event Match Quality
Maximizing Event Match Quality
Event Match Quality ranges from Poor to Great. Here’s how to improve it:
Required Parameters
Always include:
- client_ip_address: User’s IP
- client_user_agent: User’s browser agent
- event_source_url: Page where event occurred
- action_source: Always “website” for web events
High-Impact Parameters
Include these for best matching:
- em: SHA256 hashed email (most important)
- ph: SHA256 hashed phone
- fn: SHA256 hashed first name
- ln: SHA256 hashed last name
- external_id: Your customer ID (hashed)
Cookie Parameters
Critical for deduplication:
- fbp: Facebook browser cookie (_fbp)
- fbc: Facebook click cookie (_fbc)
- event_id: Unique ID matching pixel event
Example: High-Quality Purchase Event
{
"event_name": "Purchase",
"event_time": 1706745600,
"event_id": "order_12345_purchase",
"event_source_url": "https://yourstore.com/thank-you",
"action_source": "website",
"user_data": {
"em": ["a1b2c3d4...hashed_email"],
"ph": ["e5f6g7h8...hashed_phone"],
"fn": ["i9j0k1l2...hashed_firstname"],
"ln": ["m3n4o5p6...hashed_lastname"],
"client_ip_address": "123.456.789.0",
"client_user_agent": "Mozilla/5.0...",
"fbp": "fb.1.1706745600.1234567890",
"fbc": "fb.1.1706745600.AbCdEf...",
"external_id": ["your_customer_id_hashed"]
},
"custom_data": {
"value": 99.99,
"currency": "USD",
"content_ids": ["SKU123", "SKU456"],
"content_type": "product",
"num_items": 2
}
}
Troubleshooting CAPI Issues
Events Not Appearing in Events Manager
Check:
- Access token is valid and not expired
- Pixel ID is correct
- Events are being sent (check server logs)
- Event timestamp is within 7 days
Low Event Match Quality
Improve by:
- Adding email to all events (most impactful)
- Including fbp and fbc cookies
- Adding phone number when available
- Ensuring correct data hashing
Duplicate Events Showing
This is expected if:
- You’re sending from both Pixel and CAPI
- Make sure event_id matches between both
Fix if duplicates are incorrect:
- Verify event_id is identical
- Check timing (events within 48 hours dedupe)
- Ensure same event name is used
Test Events Work but Production Doesn’t
Check:
- Production access token (different from test?)
- Event time is in Unix seconds (not milliseconds)
- action_source is “website”
- No parameter validation errors
Advanced CAPI Features
Offline Conversions
Send conversions that happen offline or delayed:
{
"event_name": "Purchase",
"event_time": 1706659200,
"action_source": "physical_store",
"user_data": {
"em": ["hashed_email"]
},
"custom_data": {
"value": 150.00,
"currency": "USD"
}
}
Lead Quality Signals
Improve lead campaign optimization:
{
"event_name": "Lead",
"custom_data": {
"lead_event_source": "website",
"event_source": "crm"
}
}
Custom Events
Track events beyond standard ones:
{
"event_name": "FreeTrial",
"custom_data": {
"trial_length": "14_days",
"plan_type": "pro"
}
}
Frequently Asked Questions
Do I still need the Facebook Pixel if I implement CAPI?
Yes. Meta recommends using both together. The Pixel provides real-time data and helps with attribution, while CAPI ensures data reliability.
How long does it take for CAPI events to appear?
Events typically appear in Events Manager within 20 minutes, but can take up to a few hours during high-traffic periods.
Will CAPI fix my iOS 14 tracking issues?
CAPI significantly improves iOS 14+ data capture, but it’s not a complete fix. You’ll still see some data loss due to ATT restrictions, but much less than with Pixel alone.
Does CAPI work for Instagram ads?
Yes. The Conversions API works for all Meta advertising platforms, including Facebook, Instagram, Messenger, and Audience Network.
Is CAPI GDPR compliant?
CAPI itself is a tool, compliance depends on how you implement it. You must obtain proper consent before sending user data. Most CAPI platforms include consent mode features.
Conclusion
The Meta Conversions API is essential for Facebook and Instagram advertisers in 2026. With browser restrictions continuing to increase, CAPI provides the reliable data pipeline needed for effective ad optimization.
The implementation method you choose depends on your technical resources and needs:
- No-code platform: Fastest, easiest, best for most businesses
- Native integration: Good for Shopify/WooCommerce without custom needs
- GTM Server-Side: For those already using GTM who want control
- Direct API: For developers who need maximum customization
Whichever path you choose, the key is to start now. Every day without CAPI is lost optimization opportunity.
Need help with Meta CAPI implementation? Convultra connects your website to Meta’s Conversions API in under 5 minutes, no coding required. Start your free trial
Related Reading
- Google Ads Enhanced Conversions Guide — server-side tracking for Google Ads
- TikTok Events API Setup Guide — server-side tracking for TikTok
- Why You’re Losing Conversion Data — the full picture of data loss
- The Complete Guide to Server-Side Tracking — the bigger picture
Written by Marcus Johnson
Technical Writer
Contributing author at Convultra. Sharing insights on conversion tracking, marketing attribution, and growth strategies.