Step-by-step guide for setting up Meta Conversions API (CAPI) — server-side event tracking that improves conversion measurement accuracy and reduces CPA discrepancy vs pixel-only tracking
Use this reference skill when you need to capi setup for your Meta Ads campaigns.
Meta Ads advertisers and marketers who want to capi setup.
Select this template and fill in your campaign details. The AI will guide you through the reference process step by step.
| Credential | Where to Get | Used For |
|---|---|---|
| META_ACCESS_TOKEN | Meta Developer Console → Graph API Explorer → Generate Token | All Meta Marketing API calls |
| META_PIXEL_ID | Meta Events Manager → select your Pixel → copy Pixel ID | Identifying which pixel to configure |
Token note: The System User access token (generated in Business Settings) is the primary credential for CAPI API calls. You still need a registered Meta App (App ID) to set up the CAPI integration in Events Manager — the App ID is required when creating the System User and configuring token permissions. Make sure the token includes these scopes:
ads_management,business_management,pages_read_engagement.
When setting up tracking for a new account, or when CPA shown in Meta Ads Manager is significantly higher than actual leads/sales (indicating a tracking gap). CAPI is especially critical for lead generation campaigns where offline conversions are the true business outcome.
Together: Pixel + CAPI gives Meta the most complete picture → better optimization → lower CPA over time.
If you're not using CAPI, you're likely overpaying for every lead. The gap can be 20–50% depending on industry and browser mix.
Before setting up CAPI, you need:
Use your e-commerce platform's built-in Meta integration. This is the easiest path:
| Platform | How to Connect |
|---|---|
| Shopify | Shopify Admin → Sales Channels → Meta |
| WooCommerce | Plugins → Meta for WooCommerce |
| Other platforms | Check Meta's partner directory at meta.com/partners |
Steps (native integration):
Only use these if you are a developer or using a platform without native Meta integration.
| Method | Best For | Complexity |
|---|---|---|
| Google Tag Manager Server-Side | Teams already using GTM | Medium |
| Zapier / Make.com | No-code teams, non-standard tech stacks | Medium |
| Meta Conversions API via Meta Business Manager | Simple server events without developer resources | Low |
| Direct API Integration | Developers building custom infrastructure | High |
For Direct API: use your META_ACCESS_TOKEN to send events to https://graph.facebook.com/v21.0/{{pixel_id}}/events.
ads_management, business_management, pages_read_engagement| Event | Recommended For |
|---|---|
| PageView | All campaigns — helps Meta build audience |
| ViewContent | E-commerce product pages |
| AddToCart | E-commerce |
| Purchase | E-commerce (critical — this is your conversion event) |
| Lead | Lead generation (critical — matches your optimization goal) |
| CompleteRegistration | Webinar, courses, freemium signups |
| Contact | Local service businesses |
In Meta Events Manager:
What to verify:
Event parameters that improve CAPI quality:
In Meta Events Manager, check:
Matching Quality benchmarks:
Meta's predefined event names: Lead, Purchase, PageView, ViewContent, AddToCart, InitiateCheckout, CompleteRegistration. Better optimization because Meta knows exactly what the event means.
Use only when no standard event fits. Define custom name and parameters yourself. Required for: offline sales, phone calls, specific business workflows.
| Issue | Likely Cause | Fix |
|---|---|---|
| CAPI events not appearing in Meta | Token expired or permissions wrong | Regenerate access token with correct permissions |
| Huge gap between pixel and CAPI volumes | CAPI not connected properly | Check Events Manager → CAPI status |
| CPA artificially high in Meta | CAPI not sending offline conversions (lead gen) | Verify Lead event is firing server-side |
| Events marked as "Unmatched" | User data not being passed correctly | Ensure email/phone is hashed before sending |
| Duplicate events (double counting) | Both pixel and CAPI firing without deduplication | Pass event_id in both pixel and CAPI calls |
For lead gen campaigns, the conversion happens offline — someone fills out a form, you call them, they sign up. Meta pixel can't see this.
What CAPI must send for lead gen:
CRM Integrations that support CAPI for leads: HubSpot, Salesforce, Zapier, Make.com.
If you're not sending offline lead data back to Meta: Meta is optimizing for form submissions only. You're paying for leads that never convert.
When both Pixel and CAPI send the same event (same event_id), Meta deduplicates automatically. Requirements:
Automatisieren Sie Ihren Meta Ads-Workflow mit Didoo AI - keine Kreditkarte erforderlich.
Kostenlos testen