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
Many advertisers report lower CPAs after implementing CAPI properly, due to improved optimization data.
CAPI Implementation Options
Option 1: No-Code Platform (Recommended)
Platforms like Elevar, Tracklution, or TAGGRS handle Meta CAPI implementation automatically. Convultra is a managed platform in the same category: Google Ads and OpenAI Ads forwarding are live today, and Meta CAPI forwarding is coming soon.
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
The flow is similar on every managed platform:
- Log into your dashboard
- Open the Meta integration
- Enter your Pixel ID
- Enter your Access Token
- Select your Business Manager
- Click “Connect”
Convultra’s Meta connection is coming soon. Today it installs as one script, persists the fbclid and every other click ID first-party, records conversions server-side, and forwards them to Google Ads and OpenAI Ads, so the conversions it has captured are ready to send to Meta when the integration ships.
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.
Want the capture side handled while you sort out delivery? Convultra installs in about five minutes, records your conversions and fbclids server-side, and forwards to Google Ads and OpenAI Ads today, with Meta CAPI forwarding coming soon. 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