Meta Pixel + CAPI (Dual-Track)
Complete Meta tracking: server-side CAPI + automatic client-side Pixel for maximum attribution.
Browser-based pixels are dying. Ad blockers, iOS privacy changes, and cookie restrictions mean you are missing 20-40% of conversions.
Meta Conversion API (CAPI) sends events directly from your server, bypassing all of that.
What is Meta CAPI?
Browser Pixel vs Server-Side
| Aspect | Browser Pixel | Server-Side CAPI |
|---|---|---|
| Where it runs | User's browser | Your server |
| Blocked by ad blockers | Yes | No |
| Affected by iOS 14 | Yes | Partially |
| Cookie restrictions | Limited | Not affected |
| Data accuracy | 60-80% | 90-99% |
How It Works
****
User Action ā Your Server ā AdsMAA ā Meta CAPI ā [Enrich with user data] [Hash PII for privacy] [Send to Meta servers] ****Why Server-Side Tracking?
The Attribution Problem
Without CAPI, Meta cannot properly attribute conversions:
| Scenario | Pixel Only | With CAPI |
|---|---|---|
| User has ad blocker | Lost | Tracked |
| Safari ITP (7-day cookies) | Limited | Full |
| iOS 14+ App Tracking | Lost | Improved |
| Cross-device journey | Partial | Better |
Impact on Your Campaigns
| Metric | Without CAPI | With CAPI |
|---|---|---|
| Reported ROAS | 2.1x | 3.4x |
| Attributed conversions | 100 | 160 |
| Event Match Quality | 4.2 (Poor) | 8.7 (Great) |
The actual conversions are the same - CAPI just lets Meta see them.
Setup Guide
Step 1: Get Your Credentials
From Meta Events Manager:
- Go to Meta Events Manager
- Select your Pixel
- Go to Settings
- Find Conversions API section
- Click Generate Access Token
- Copy the token (save it securely)
Also note your Pixel ID from the top of the page.
Step 2: Connect in AdsMAA
- Go to Integrations ā Tracking & E-commerce
- Find Meta Conversion API card
- Click Connect
- Enter your credentials:
| Field | What to Enter |
|---|---|
| Pixel ID | Your 15-digit pixel ID |
| Access Token | The token you generated |
- Click Connect
Step 3: Verify Connection
- Go to Meta Events Manager
- Click Test Events
- Trigger an event on your website
- You should see it appear with "Server" as the source
Event Match Quality
Event Match Quality (EMQ) measures how well Meta can match events to users.
EMQ Score Breakdown
| Score | Rating | What It Means |
|---|---|---|
| 0-3 | Poor | Most events cannot be matched |
| 4-6 | OK | Moderate matching, room to improve |
| 7-8 | Good | Strong matching, conversions well-attributed |
| 9-10 | Excellent | Nearly all events matched to users |
How to Improve EMQ
Send these user parameters when available:
| Parameter | Impact | Example |
|---|---|---|
| em (email) | High | Hashed email address |
| ph (phone) | High | Hashed phone number |
| fn (first name) | Medium | Hashed first name |
| ln (last name) | Medium | Hashed last name |
| external_id | High | Your customer ID |
| client_ip_address | Medium | User's IP |
| client_user_agent | Medium | Browser info |
| fbc | High | Facebook click ID |
| fbp | High | Facebook browser ID |
AdsMAA Automatically Handles This
When you use our SDK:
****`javascript // User identifies themselves adsmai('identify', { email: '[email protected]', phone: '+1234567890', name: 'John Doe' });
// We automatically: // 1. Hash all PII (SHA256) // 2. Include fbc/fbp cookies // 3. Add IP and user agent // 4. Send to Meta CAPI ****`
Deduplication
When you run both Pixel AND CAPI, Meta may receive duplicate events.
How Deduplication Works
| Field | Purpose |
|---|---|
| event_id | Unique ID for each event |
| event_name | Type of event (Purchase, etc.) |
If both Pixel and CAPI send an event with the same event_id and event_name, Meta keeps only one.
AdsMAA Handles Deduplication
Our SDK generates consistent event IDs:
****`javascript // When you call: adsmai('track', 'Purchase', { value: 99.99, orderId: 'ORD-123' });
// We generate: event_id = hash('Purchase' + 'ORD-123' + timestamp)
// Same ID sent to both Pixel and CAPI // Meta deduplicates automatically ****`
Recap
Here is what you learned:
- CAPI sends events server-side - Bypasses ad blockers and cookie restrictions
- Improves Event Match Quality - Better attribution and campaign optimization
- Send user parameters - Email, phone, name improve matching
- Deduplication prevents double-counting - Use consistent event IDs
Meta CAPI is essential for accurate conversion tracking in 2024 and beyond.
Next step: Connect Google Analytics 4 for complete analytics coverage.
Key Takeaways
- 1Dual-track: Client-side Pixel + Server-side CAPI
- 2Meta Pixel (fbq) auto-loads via our SDK
- 3Automatic event deduplication
- 4Maximize Event Match Quality scores
Frequently Asked Questions
Should I remove my Meta Pixel if I use CAPI?
Is my customer data safe?
Why is my EMQ score still low?
Was this article helpful?
Continue Reading
Meta Ads Integration
Connect your Meta Business account to manage Facebook and Instagram campaigns with AI-powered optimization.
trackingConversion Tracking Deep Dive
Understand how server-side tracking works and why it captures 2x more data than browser pixels.
integrationsUnified JavaScript SDK
One SDK for all platforms. Auto-loads Meta Pixel, GA4, and Clarity based on your connected integrations.