Platform Deduplication Logic: How Each Ad Platform Prevents Duplicates
Reference guide comparing how Google Ads, Meta, Microsoft Ads, and TikTok handle offline conversion deduplication. Covers order IDs, event IDs, and platform-specific rules.
Each platform handles deduplication differently. Understanding these differences prevents double-counting.
Deduplication Method Comparison
| Platform | Dedup Field | Match Criteria | Window |
|---|---|---|---|
| Google Ads | order_id | GCLID + action + order_id | 90 days |
| Google Ads | Implicit | GCLID + action + time | 90 days |
| Meta | event_id | event_name + event_id | 48 hours |
| Microsoft | Order ID | MSCLKID + name + Order ID | 90 days |
| TikTok | event_id | event_name + event_id | 48 hours |
Google Ads Deduplication
With Order ID (Recommended)
Google Click ID,Conversion Name,...,Order ID
EAIaIQob...,Booked Job,...,JOB-2026-001 ← First upload: accepted
EAIaIQob...,Booked Job,...,JOB-2026-001 ← Retry: DUPLICATE (safe)
Without Order ID
Google uses approximate matching: same GCLID + same action name + same conversion time (within a few seconds).
Risk: Slight timestamp differences = duplicate accepted.
Meta Deduplication
Pixel + CAPI
Pixel: event_name=Purchase, event_id=order-001 → Count: 1
CAPI: event_name=Purchase, event_id=order-001 → Deduplicated
CAPI Only (Offline Events)
CAPI upload 1: event_id=call-2026-001 → Count: 1
CAPI upload 2: event_id=call-2026-001 → Deduplicated (within 48 hours)
How TUOCA Generates Dedup IDs
TUOCA generates deterministic IDs based on record content:
order_id = hash(source_type + source_record_id + destination)
- Same record always produces the same ID
- Different records produce different IDs
- Safe to retry — duplicates are caught