Meta's pixel fires when someone visits your website. It misses everything that happens offline: calls, bookings, payments, and closed deals. Meta CAPI lets you send those events server-side. Here's how to set it up.
Meta pixel fires client-side — it's blocked by ad blockers, iOS privacy settings, and can't track offline events.
Meta CAPI sends events server-side, bypassing browser restrictions and covering offline revenue events.
You need a Pixel ID and a CAPI access token from Meta Events Manager to get started.
Events need at minimum: event name, event time, and at least one customer identifier (email, phone, fbclid).
Deduplicate against pixel events using an event ID to avoid double-counting.
You need two things from Meta Business Suite: your Pixel ID (found in Events Manager > Data Sources > your pixel > Settings) and a CAPI access token (Events Manager > your pixel > Settings > Generate access token).
Offline events come from your CRM, booking software, or payment processor — not from your website. You need to identify where the event lives and what data is available (email, phone, fbclid) when it fires.
Meta CAPI has specific requirements: SHA-256 hashed email/phone (lowercase, no spaces before hashing), event_time as Unix timestamp, event_source_url, and action_source. Missing or incorrectly formatted fields lower your Event Match Quality score.
If you run both a Meta pixel and CAPI, the same event (like a form submission) might be tracked twice — once by the pixel client-side and once by your server-side CAPI call. Meta counts both and inflates your conversion totals.
Why the manual process breaks at scale — and what changes with automation
Manually setting up CAPI requires making POST requests to graph.facebook.com/v19.0/{pixel_id}/events with a correctly formatted JSON payload. The hashing, the event structure, the deduplication logic, and the token management all have to be handled in custom code.
ConversionLoop accepts webhooks from your CRM or booking software and forwards correctly formatted events to Meta CAPI automatically. You supply your Pixel ID and token — ConversionLoop handles everything else: hashing, event structure, dedup, and error handling.
ConversionLoop handles GCLID capture, upload formatting, and delivery automatically. Set it up once.
Start free trialIn Meta Events Manager, go to your pixel and open the Test Events tab. Send a test event through ConversionLoop and watch it appear within seconds. Production events appear in the Activity view within a few minutes of firing.
No. The recommended setup is to run both the pixel and CAPI together. The pixel fires client-side for faster attribution. CAPI fills in the events the pixel misses. Deduplication keeps counts accurate.
Use Meta's standard event names where possible: Lead for a qualified lead, Schedule for an appointment booked, Purchase for a paid invoice or closed deal. Custom event names work but don't benefit from Meta's built-in optimization for standard events.
Automated GCLID capture, real-time upload, and full error diagnostics. Every conversion, every time.
Start free — 14 days on usNo credit card required · No developer needed · Cancel anytime