Deduplication
Duplicate conversion events inflate your numbers and confuse ad platform optimization. DealOracle prevents duplicates at multiple levels:
DealOracle-Side Deduplication
DealOracle tracks which events have been sent to which platforms for every lead:
- First disposition fires — When a lead's disposition is set, DealOracle sends the conversion event to all mapped platforms
- Subsequent changes are blocked — If the same disposition is set again (e.g., accidentally clicking "Sold" twice), DealOracle recognizes it's already been sent and skips the duplicate
- Re-send option — If you need to explicitly re-fire an event (e.g., after fixing a credential issue), you can force a re-send from the lead's Event Stream
Platform-Side Deduplication
DealOracle also sends an event ID with every conversion event. This allows the ad platform to perform its own deduplication:
{
"event_id": "lead_abc123_sold_1709856000",
"event_name": "Purchase"
}
If the same event ID arrives twice (e.g., due to a network retry), the platform ignores the duplicate.
Pixel + Server-Side Deduplication
If you're running browser pixels alongside DealOracle's server-side tracking:
- Both the pixel and server-side event should include the same event ID
- The platform deduplicates automatically, counting the conversion only once
- DealOracle supports passing event IDs through to align with your pixel implementation
Match Quality
Match quality measures how well the ad platform can connect your conversion event back to the original ad click. Higher match quality = better attribution = better optimization.
What DealOracle Sends
DealOracle maximizes match quality by sending multiple data points with each event, all properly hashed:
| Data Point | Format | Hashing | Impact on Match Quality |
|---|---|---|---|
| Lowercase, trimmed | SHA-256 | High — primary matching field | |
| Phone | E.164 format | SHA-256 | High — strong secondary match |
| First Name | Lowercase | SHA-256 | Medium — supplementary |
| Last Name | Lowercase | SHA-256 | Medium — supplementary |
| IP Address | Raw (when available) | Not hashed | Medium — helps with session matching |
| User Agent | Raw (when available) | Not hashed | Low — supplementary |
| Click IDs | fbclid, gclid, etc. | Not hashed | Very High — direct attribution |
Match Quality Tiers
Ad platforms typically report match quality in tiers:
| Tier | What It Means |
|---|---|
| Excellent | Click ID match — direct attribution to ad click |
| Good | Email + phone match — strong user identification |
| Fair | Email only or phone only — single identifier match |
| Poor | Name + IP only — weak match, may not attribute |
DealOracle aims for Good or Excellent on every event.
Improving Match Rates
Here are practical steps to maximize your match quality:
Capture Click IDs
Click IDs are the single most impactful factor for match quality:
- Facebook:
fbclid— Passed as a URL parameter when users click your ad - Google:
gclid— Auto-appended by Google Ads - TikTok:
ttclid— Passed by TikTok Ads
How to capture them:
- Ensure your landing page preserves UTM and click ID parameters
- Pass click IDs to DealOracle via the webhook
metafield:
{
"name": "Jane Smith",
"email": "[email protected]",
"meta": {
"fbclid": "AbC123...",
"gclid": "Xyz789..."
}
}
Collect Both Email AND Phone
- Having both email and phone dramatically improves match rates
- Email alone: ~60-70% match rate
- Email + phone: ~85-95% match rate
- Make phone a required field on your lead forms when possible
Use Consistent Formatting
- Email: DealOracle normalizes to lowercase automatically
- Phone: Use E.164 format (
+15551234567). DealOracle handles formatting. - Names: Captured as-is; DealOracle normalizes before hashing
Pass IP Address When Available
- If your webhook source has the user's IP address, include it
- Helps with session matching, especially when click IDs aren't available
- Include as
ipin themetafield
Match Rate Dashboard
Monitor your match rates in real time from the Oracle Analytics dashboard:
Accessing the Dashboard
- Navigate to Oracle → Analytics
- Select the Match Quality tab
- View match rates broken down by platform
What You'll See
| Metric | Description |
|---|---|
| Overall Match Rate | Percentage of events successfully matched by each platform |
| Match Quality Distribution | Breakdown of Excellent / Good / Fair / Poor matches |
| Trend Over Time | Weekly match rate trend to spot improvements or degradation |
| Per-Platform Breakdown | Individual match rates for Facebook, Google, TikTok, etc. |
| Missing Data Alerts | Warnings when leads are missing key fields (email, phone, click IDs) |
Industry Benchmarks
| Metric | Industry Average | DealOracle Users |
|---|---|---|
| Overall Match Rate | 60-70% | 80-95% |
| Click ID Capture | 30-50% | 60-80% |
| Email + Phone Coverage | 40-60% | 70-90% |
Improving Your Numbers
If your match rates are below target:
- Check the Missing Data Alerts for common gaps
- Review your lead capture forms — are you collecting phone numbers?
- Verify click ID pass-through from your landing pages
- Ensure webhook payloads include the
metafield with click IDs
