Duplicates
The Duplicates page lists contacts that share the same email address but landed as separate rows, and lets you merge a two-contact group into one record.
Duplicates, under Contacts in the sidebar, shows contacts that share the same email address but exist as separate rows. From there you can review each group and merge a two-contact group into a single record.
In steady state a unique constraint on email keeps these from forming, so anything listed here usually came from a data backfill or a manual restore.
How duplicates are detected
Reach groups every live contact in your workspace that has an email address, comparing addresses case-insensitively (so Jordan@acme.com and jordan@acme.com count as the same address). Any address held by two or more rows becomes a duplicate group. Contacts with no email, and contacts already archived, are excluded.
A summary line above the list reports the group count and the total number of contacts across all groups. Groups are ordered largest first, then by the oldest contact in each group. The page shows up to 100 groups.
Each group card lists its contacts oldest first. Every row links to that contact's detail page and shows the job title and company, the created date, and a label of "oldest" on the first row and "duplicate" on the rest.
Merging a two-contact group
Click Merge… in a group's header to open the Merge duplicate contacts dialog. The dialog places the two contacts side by side. Each column shows the contact's email, job title, company, city, country, lifecycle stage, and created date, with the oldest row marked "(oldest row)".
Use the radio button at the top of each column to choose which contact to keep. The selected column is labelled "Primary (keep)" and the other "Secondary (archive)". The oldest contact is preselected as the primary. Click Merge contacts to confirm, or Cancel to back out. After a successful merge you land on the surviving contact's detail page.
What the merge keeps and moves
The merge is primary-wins-with-fill. The primary keeps every field it already has a value for. Any field that's blank on the primary is filled from the secondary, so the merged record is the more complete of the two. The dialog states this directly: "Primary wins on all non-empty fields. Blank fields on the primary will be filled from the secondary."
Related records attached to the secondary move to the primary: notes, activity timeline, list memberships, tags, relationships (affiliations), and household membership. Custom field values fill gaps on the primary where it had none. The secondary contact is then archived rather than erased: its record is retained behind the scenes and its audit history stays put as a record of changes made before the merge.
Because the secondary is archived rather than kept as a live row, a merge frees a record against your plan's stored-record allowance: the count that Contacts and Companies share is recomputed right after, so a workspace sitting at its Starter cap gets that room back.
Groups with three or more contacts
The merge dialog handles exactly two contacts at a time. Open Merge… on a group of three or more and the dialog reports "This group has more than 2 contacts." without offering a merge.
To resolve a larger group, merge it down pairwise: merge two of the contacts, then reopen the dialog on the same group, which now has one fewer row, and merge again. Repeat until a single contact remains. You can also edit the records manually instead.
Updated