We’re experiencing duplicate lead creation through the Adobe Lead API despite having deduplication enabled. The issue occurs with leads that have slightly different email formats (e.g., john.doe@company.com vs johndoe@company.com). Our current implementation uses the standard duplicate detection endpoint:
POST /rest/v1/leads/checkDuplicate.json
{
"input": [{"email": "john.doe@company.com"}],
"lookupField": "email"
}
The API returns no duplicates even when similar emails exist. We’ve checked the fuzzy matching settings in the admin console, but the deduplication logic doesn’t seem to apply to email variations with dots or case differences. This is causing pipeline accuracy issues as sales reps contact the same leads multiple times. Has anyone successfully implemented email normalization before the duplicate check? Our lead volume is around 5,000 per day, so manual cleanup isn’t feasible.
The fuzzy matching configuration in Adobe Lead API is limited to certain field types, and email isn’t one of them by default. I’d recommend creating a custom field for normalized email (lowercase, no dots in local part) and using that as your lookupField instead. You can populate this field via a workflow rule or in your API integration layer. This approach has worked well for us across multiple implementations. Make sure to index the custom field for performance.
I’ve seen this before. The standard duplicate detection in AEC 2023 doesn’t normalize emails by default. You need to pre-process the email field before sending it to the API. We strip dots from the local part and convert everything to lowercase in our middleware layer before the duplicate check runs.
Have you checked the deduplication rules configuration? In Admin > Field Management > Deduplication Rules, you can set custom matching logic. However, I agree with others that preprocessing is more reliable. We use a similar approach but also handle plus-addressing (john+tag@company.com) and subdomain variations. The key is consistent normalization across all entry points - API, web forms, and manual imports.