Skip to content
Adoptiv

Duplicate Detection

Before a lead is written, two normalised keys settle whether it is already here: the email, and failing that the phone. Exact once normalised, with no similarity score for anybody to argue about.

An incoming row that already exists

matched on email
Email · checked first
matched
" Dana.Whitlow@Meridian.co.uk "
dana.whitlow@meridian.co.uk
trimmed and lowercased, nothing more
Phone · only if email did not match
not reached
00 44 7700 900 412
+447700900412
digits only, and the lead's mobile if there is no main number
Then
Field by field
on file · in the row · outcome
  • Job titlereplacedOperations ManagerHead of Logistics
  • Cityleft aloneOaklandempty
  • Lead scorereplaced6274
  • Assigned tonever touchedS. BhattM. Ortiz
  • Tagsnever touchedenterprisewebinar
  • Custom fieldsadded toterritoryfleet_size
Email then phone, both normalised · no name matching, no similarity score, and no record is ever folded into another
A non-empty incoming value replaces what was there. This is not a fill-the-blanks merge and it should not be sold as one. An empty cell in the file is ignored rather than treated as a deletion, and the assignment, tags and account fields are on a list the update is not allowed to touch at all.
0
keys compared, in a fixed order
0
incoming rows checked in one query
0
approximate matching anywhere in it

Product figures from the platform’s own defaults - not customer averages

The mechanism

How it works.

01

Email first, because it identifies

An email match is taken over a phone match whenever both are available, on the grounds that two people genuinely share a switchboard number far more often than they share a mailbox. Names are never compared at all.

02

Normalising is what makes it exact

Addresses are trimmed and lowercased. Numbers are reduced to their digits and rebuilt behind a plus, and a leading double nought is read as the international prefix it is, so a number wrapped in brackets and dashes lands on the same key.

03

Checked per chunk, not per row

During an import the comparison runs once for a whole batch of five hundred rather than once per row. Within a run the row identifiers are fixed, so a crash and a retry pick up without doubling anything; a second upload of the same file is a fresh run and leans on the keys alone.

04

The original wins, not the newest

Where several records hold the key, the earliest created one is the match. An incoming row therefore joins the record that has been accumulating history, rather than the copy somebody made last week.

Where it sits

Two moments in every record.

Every record passes through the same seven. Duplicate Detection is the lit ones, and everything either side of it is a different page in this category.

  1. 01
    Capture

    how it arrives, and from where

  2. 02
    Shape

    the fields and stages it carries

  3. 03
    Find

    getting back to the right ones

  4. 04
    Work

    what happens against it day to day

  5. 05
    Advance

    moving it towards a decision

  6. 06
    Protect

    who may see it, and staying clean

  7. 07
    Report

    what the floor is judged on

The specifics.

8 facts
Keys
Normalised email, then normalised phone. Names and addresses are never read
Email rule
Trimmed and lowercased. Dots and plus-addressing are not folded together
Phone rule
Primary then mobile, reduced to digits behind a plus. Home and other ignored
Method
Exact once normalised. No similarity scoring and no confidence value
Tie break
The earliest created record is chosen when several carry the key
Runs on
Import, and any lead a call creates. Not scheduled, and not on demand
Two runs at once
The call path holds a transaction lock. Concurrent imports are best effort
Normalised both ways
The stored key and the incoming one are built by the identical routine, so a match cannot depend on which side was typed first

More in Leads & Sales CRM

12 capabilities

The system of record the phone writes to directly - no sync job.

Deals & Pipelines

Unlimited pipelines, each with its own stages, win probability, colour and temperature. Seven seeded, and every stage change writes itself onto the deal.

Lead Stages

Create the stages your floor argues about, colour them, order them and rate them hot, warm or cold, while six fixed categories keep the reporting stable.

Lead Sources

Ten sources seeded and sealed, your own added beside them, each with a colour and a live count, and one stamped across a whole import rather than per row.

Custom Fields

Eleven field types, all of them on the picker, with options, defaults and a section of their own, on leads, deals, products and vendors. No cap on how many.

Field Groups & Layouts

Sort the fields you add into named sections with their own colour, order and table visibility, then grant or withhold a whole section per permission profile.

Saved Views

Columns, sorts, filters and layout save together and hand to a CRM role, so a new starter opens the same board instead of rebuilding it every morning.

Advanced Filtering

Eighteen type-aware operators, a trigram search across seven columns, and a straight account of where a custom-field filter is resolved and what it costs.

Activities & Timeline

Every field change on a record with both values, beside the notes, mail, tasks and deal links against it, assembled as it happens rather than typed up later.

Touchpoints

Calls, voicemails, emails and texts merged into one chronological history per lead, attached by the number they reached, with duration and the wrap-up code.

Tasks & Reminders

Tasks with assignees, reminders, comments and templates, raised by hand or by a sequence, and the only CRM object that leaves the app to find someone.

Roles & Permissions

A role tree, sixteen org-level flags, per-entity CRUD and sharing rules across branches - so a BPO runs several clients on one tenant, safely.

Goals & Leaderboards

Ten measures over six windows, with attainment read from won deals and logged work the moment you open the target rather than filed by hand or overnight.

Leads & Sales CRM

See duplicate detection on your own floor.

Thirty minutes, your numbers and your data. We will set duplicate detection up live and you can decide from the thing itself rather than from this page.

14-day trial · no card · migration included