> ## Documentation Index
> Fetch the complete documentation index at: https://docs.encoreos.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Duplicate Matching Settings — Admin Guide

> Tune the contact identity-resolution engine per organization: auto-link threshold, review-band floor, and the merge undo window.

# Duplicate Matching Settings — Admin Guide

The CE identity-resolution engine scores every candidate match between 0
and 1 and routes it by tier:

| Tier       | When                                                                                                                                                        | What happens                                                                                                  |
| ---------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------- |
| **Auto**   | A deterministic key matches (normalized email, E.164 phone, exact name + DOB) or the score is at/above the **auto-link threshold**                          | Treated as the same person — shown as an exact duplicate on forms; import offers *update* instead of *create* |
| **Review** | The score falls between the **review band floor** and the auto-link threshold *and* at least one corroborating field matches (referral source, DOB, or ZIP) | Parked in the duplicate review queue for a human decision — never auto-merged                                 |
| **None**   | Below the floor, or no corroborating field                                                                                                                  | Treated as a new person                                                                                       |

## Where to configure

Open **Community Engagement → Settings** and find **Duplicate matching &
merge** (org-admin only, `ce.admin`):

* **Auto-link threshold** — default `0.95`. Raising it makes auto-linking
  stricter: pairs that scored between the old and new values move to the
  review queue instead. Lowering it is *not* recommended below `0.9` for
  patient-adjacent data.
* **Review band floor** — default `0.70`. Raising it shrinks the review
  queue (fewer borderline pairs); lowering it widens the net. The floor must
  stay below the auto-link threshold (enforced).
* **Merge undo window (hours)** — default `72`. How long after a merge the
  **Undo merge** action stays available. `0` disables undo entirely.

Changes take effect immediately — thresholds are read at match time, not
cached or baked into a deploy.

## Operational notes

* **Probable matches never auto-merge**, at any threshold. The review queue
  is the only path to a merge, and every merge requires the
  `ce.contacts.merge` permission (granted to org admins by default — extend
  via role permissions if intake leads should work the queue).
* **Merges are reversible and audited.** Every merge writes a merge-log
  entry (with a full snapshot for undo) and appears on both contacts' audit
  timelines. Records are tombstoned, never deleted.
* **Dismissals are durable.** A pair dismissed in the review queue will not
  be re-queued by future scans, imports, or syncs.
* **Import and sync use the same engine.** CSV import routes every row
  through the matcher; exact matches offer *update existing* in the import
  wizard's duplicate step. The HubSpot sync program (CE-75+) resolves through
  the same identity map, so external systems cannot create duplicates.

## Monitoring duplicate health

Two queries worth keeping an eye on after enabling merge tooling:

* **Duplicate rate** — distinct contacts sharing a normalized email or
  E.164 phone within your org (target: \< 1% after 60 days).
* **Queue throughput** — share of review-queue candidates resolved
  (linked, dismissed, or merged) within 14 days (target: ≥ 80%).
