Back to Resources

Facebook Conversions API (CAPI): Recover Lost Tracking

Implement CAPI to recover 20-40% of conversion data lost to browser tracking. Setup, deduplication, EMQ.

Vince Servidad April 10, 2026 13 min read

Share this article

Facebook Conversions API (CAPI): Implementation That Actually Recovers Lost Data

If your Meta-reported conversions look 30–50% lower than your Shopify reality, the gap is almost certainly missing Conversions API events. Browser tracking has been degrading for four years; CAPI is what closes the loop.

This is the practical guide to getting CAPI live and verified.

Why CAPI matters

The Pixel runs in the browser. Every browser update, ad blocker, privacy extension, and iOS Tracking Transparency prompt erodes its ability to send events. The losses stack:

  • 30–50% of iOS Safari users block Pixel by default.
  • 5–15% across all browsers use ad blockers.
  • ITP (Intelligent Tracking Prevention) limits cookie persistence.
  • Brave, Firefox, and Edge all block tracking pixels selectively.

CAPI sidesteps the browser entirely. Events flow from your server to Meta's server, with no client-side dependencies.

The result: reported conversion volume goes up, EMQ scores improve, the algorithm gets better signals, and your campaigns optimize against more complete data.

Three ways to implement CAPI

Option 1: Native Shopify integration (easiest)

If you're on Shopify, the Facebook & Instagram channel handles CAPI automatically. Steps:

  1. Install Facebook & Instagram channel.
  2. Connect Meta Business Manager.
  3. Enable "maximum data sharing" during setup.
  4. Verify events in Events Manager.

This covers 95% of stores. No development work required. Use this unless you have a specific reason not to.

Option 2: Third-party CAPI tools

Tools that sit between your store and Meta and forward events:

  • Triple Whale. Includes CAPI as part of its analytics suite.
  • Elevar. Server-side tracking specialized for Shopify.
  • Stape. Server-side Google Tag Manager — handles CAPI alongside other server-side events.

Pros: better EMQ in some cases, additional features. Cons: cost, complexity, redundancy if Shopify's native integration is already firing.

Use these if you need server-side tracking for multiple platforms (Meta, Google, TikTok, Pinterest) and want one source of truth.

Option 3: Direct API integration

For non-Shopify platforms or custom stacks:

  • Build a server-side handler that captures order events.
  • Hash customer data (email, phone, name, address) with SHA-256 before sending.
  • POST to Meta's Conversions API endpoint.
  • Include event_id matching the Pixel event for deduplication.

This is engineer-level work. Budget 2–5 days for a clean implementation.

Deduplication: critical detail

Both Pixel and CAPI fire for each event. Without deduplication, every Purchase counts twice in Events Manager.

The fix: pass an event_id (a unique identifier, like the Shopify order ID) on both Pixel and CAPI events. Meta deduplicates based on event_id matching within a 48-hour window.

How to verify deduplication works:

  1. Go to Events Manager → Test events.
  2. Trigger a test Purchase.
  3. You should see one event recorded, not two.
  4. Hover over the event — it should show both Pixel and CAPI as sources.

Shopify's native integration handles deduplication automatically. Custom implementations require manual setup.

Customer data parameters

Send as much customer data as possible to maximize Event Match Quality. Required minimum for Purchase events:

  • event_name: "Purchase"
  • event_time: Unix timestamp
  • value: Order subtotal (numeric)
  • currency: "USD" (or whatever)
  • event_id: Order ID for deduplication

Highly recommended:

  • em (email, hashed SHA-256)
  • ph (phone, hashed)
  • fn (first name, hashed)
  • ln (last name, hashed)
  • ge (gender)
  • db (date of birth)
  • ct (city, hashed)
  • st (state, hashed)
  • zp (zip, hashed)
  • country (country code, hashed)
  • external_id (your customer ID, hashed)

The more parameters you pass, the higher the EMQ score. Higher EMQ = better optimization.

Hashing rules

Customer data must be SHA-256 hashed before sending. The unhashed values must be:

  • Lowercased.
  • Trimmed of whitespace.
  • Email: standard format (no plus-sign aliases).
  • Phone: numbers only, with country code (e.g., 15551234567, not (555) 123-4567).
  • First/last name: just letters, lowercased.

Most CAPI libraries handle this for you. If you're rolling your own, get the hashing right or EMQ tanks.

Testing CAPI

In Events Manager:

  1. Test events tab. Switch to "Server" filter. You should see CAPI events firing.
  2. Overview tab. Check the "Connection methods" panel. Should show both Pixel and CAPI as connected.
  3. Diagnostics tab. Look for "Insufficient information" or "Low Event Match Quality" warnings.
  4. Volume comparison. Pixel vs CAPI volume should be similar — within 80–95% of each other. Big gaps suggest setup issues.

Walk through real test purchases. Don't trust the dashboard until you've seen test events fire end-to-end.

Common CAPI mistakes

  • Sending CAPI without deduplication. Counts every event twice.
  • Sending only Purchase via CAPI. Send all relevant events (ViewContent, AddToCart, InitiateCheckout) for full algorithm signal.
  • Not hashing customer data correctly. Even one wrong format breaks the match.
  • Sending data without consent. GDPR and CCPA require consent before sending customer data. Build consent management into your stack.
  • Forgetting to configure CAPI for the right Pixel ID. Multi-Pixel setups confuse this.

How CAPI changes campaign performance

Within 30–60 days of enabling CAPI on a previously Pixel-only setup, expect:

  • Reported Purchase volume up 20–40%.
  • ROAS reporting up correspondingly.
  • Cost per Purchase down (because the algorithm has better signal).
  • Lookalike audiences perform better — they're built on more accurate seed data.

The algorithm change isn't instant. Give it 14–28 days post-implementation to retrain on the better data.

What "good" looks like

After full CAPI setup:

  • EMQ score on Purchase events: 7+.
  • Pixel and CAPI volumes within 90% of each other.
  • Reported revenue in Meta within 90% of Shopify's actual revenue.
  • Diagnostics tab clean (no critical warnings).

If you're still seeing big gaps after CAPI is "live," the issue is usually data quality — incomplete customer info, hashing errors, or events firing inconsistently. Audit again before adding more spend.

CAPI isn't optional anymore. It's the baseline. Every dollar you spend without it is buying decisions on degraded data.

Related Articles

Continue learning with these in-depth guides