How to Troubleshoot Meta CAPI Deduplication Issues
Duplicate conversions in Meta Ads caused by overlapping pixel and CAPI events. Learn how event_id deduplication works and how to fix it with The Upload Offline Conversions App.
When both the Meta Pixel and Conversions API report the same event, Meta can double-count it. This is the most common Meta integration issue.
How Deduplication Works
Meta deduplicates based on event_name + event_id:
Pixel sends: event_name=Purchase, event_id=order-001
CAPI sends: event_name=Purchase, event_id=order-001
→ Meta counts: 1 event (deduplicated)
Pixel sends: event_name=Purchase, event_id=order-001
CAPI sends: event_name=Purchase, event_id=order-002
→ Meta counts: 2 events (different event_ids!)
Common Causes of Duplicates
| Cause | Fix |
|---|---|
| Missing event_id on CAPI events | Always include event_id |
| Different event_id from pixel vs CAPI | Ensure both use the same ID |
| Missing event_id on pixel events | Add event_id to pixel calls |
| Different event_name | Pixel uses “Purchase,” CAPI uses “CompletePayment” — standardize |
| CAPI-to-CAPI duplicates | Overlapping relay batches without consistent event_ids |
For Offline-Only Events
If you’re uploading offline events (phone calls, booked jobs) that have no pixel equivalent, you only need CAPI-to-CAPI deduplication:
CAPI upload 1: event_id=job-2026-001 → ✅ Accepted
CAPI upload 2: event_id=job-2026-001 → ✅ Deduplicated (counted once)
TUOCA generates consistent event_ids for safe retries.
Checking for Duplicates
- Go to Events Manager → your pixel → Overview
- Compare pixel events vs server events vs total events
- If total > (pixel + server), deduplication is failing
- Check Diagnostics tab for deduplication warnings
How TUOCA Prevents Meta Duplicates
- Consistent event_ids — Same record always generates the same event_id
- No pixel overlap — Offline events only go through CAPI, no pixel firing
- Retry safety — Re-uploading uses the same event_id = safe deduplication