# Finding and merging duplicates

Source: https://listplus.ai/en/help/check-and-clean/duplicates
Last updated: 2026-10-17

Click **Analyze** in the list header. The checks run as soon as the panel
opens, and duplicates are one of the categories. Analysis runs automatically
the first time you open the list; click **Re-run Analysis** to refresh it
after you've made changes. It checks the whole list against itself and
groups rows that look like the same contact.

## Duplicate checks

- **Duplicate Email** — same email address (case- and whitespace-insensitive)
  and the same person. An address shared by different names, or a role
  mailbox like info@, is reported as **Shared Email** instead and has no
  Fix.
- **Duplicate Name + Company** — same first name, last name AND company
  (legal form, accents and umlaut spellings ignored: "Müller / Acme GmbH"
  matches "Mueller / Acme AG"; rows with different LinkedIn profiles are
  not flagged).
- **Duplicate LinkedIn** — same LinkedIn profile (country subdomains like
  `de.`, mobile links, sub-pages and `?query` parts ignored; a company
  page in a person column is not a duplicate).
- **Duplicate Phone** — same phone number for the same person (formatting
  and extensions ignored: `+49…` and `0049…` are the same number). A
  number shared by different names is a switchboard and is reported as
  **Shared Phone** without a Fix; work-phone columns are never checked.
- **Sparse Name Duplicate** — same first + last name where one row has no
  email, company, LinkedIn URL or phone at all (a "ghost" entry) and the
  other row does — possibly the same person, an info-level guess; rows
  whose city, country or job title disagree are not flagged. Check these
  rows before merging.
- **Similar Name + Company** — catches typos, accents and legal-suffix
  differences (e.g. "Johnathan Smith / Acme Inc" vs. "Jonathan Smith /
  Acme GmbH") that the exact checks miss; short names must match exactly,
  "Michael" and "Michaela" are two people. This one only flags rows for
  you to review; it has no Fix.

Each check only runs if your list has the columns it needs (an Email column
for Duplicate Email, First Name + Last Name + Company for Duplicate Name +
Company, and so on). A check card shows how many rows are affected.

## Merging duplicates

Click a duplicate check to select its rows and review them. To merge, open
the **Fixes** category in Analyze and click **Fix** next to the
duplicate check. Fix applies to every group of matches for that check in the
whole list. For each group ListPlus:

1. Keeps the most complete row (the one with the most filled-in fields,
   prioritizing email, name, company, job title, phone and LinkedIn) as the
   surviving row.
2. Copies any value the surviving row is missing from the other rows in the
   group, so you don't lose data that was only on a duplicate.
3. Marks the other rows in the group as **Ignored** — they leave the
   working list but are not deleted.

A confirmation message reports how many groups were merged, how many rows
were removed (ignored, not deleted), and how many fields were filled in from
the ignored rows.

Review before you fix. A merge only touches the rows the check reported:
shared inboxes and switchboard numbers are reported separately as Shared
Email / Shared Phone and are never merged. Sparse Name Duplicate is a
guess, so look at those rows first. **Fix all** in Fixes also runs
the duplicate merges, so fix duplicate checks one at a time.

## Saving and undoing

A merge is saved automatically: both the ignored duplicate rows and the
field values copied onto the surviving row. There is nothing to click.

To undo a merge, click the **Ignored** chip in the status bar, or run
**Show Ignored Rows** from Commands ⌘K, then select the rows and click
**Restore** (or right-click → **Restore** with the number of rows). This brings the ignored rows back into the list; it does not undo
the field values that were copied onto the surviving row. To take those
back, press ⌘Z / Ctrl+Z (or click **Undo** in the list header) right after
the merge, within the same session — or edit them back by hand.

## Cost

Finding and merging duplicates inside a list is free — no credits are
charged.

## Merging duplicates across lists

The Duplicates checks only compare rows inside one list. To combine two
lists, drag one list card onto another on Home to open **Consolidate
Lists**. The dragged list is the **Source** and the one you drop it on is
the **Master**. Choose **Create New List** (the originals stay unchanged) or
**Update Master In-Place**, then **Map Columns**. In the **Duplicates**
step, choose **Keep all rows** or **Skip duplicates**, and under **Match on
column** pick a column such as Email. The wizard shows how many source rows
already exist in the master before you click **Consolidate**. Skipped rows
are left out, not merged into the existing row. It's free, but the added
rows count toward your plan's record limit.

## Adding contacts without creating duplicates

Adding a contact to a list from **Person Search** merges into an existing
row (matched by email, LinkedIn URL, phone, or name and company) instead of
creating a duplicate. **Segment Search** does not do this: adding the same
page of results to a list twice creates duplicate rows, because Segment
Search always adds new rows. Run the Duplicates checks afterward to clean
those up.

## FAQ

### What duplicate checks does ListPlus run?

The Analyze panel's Duplicates category checks for matching email, matching
LinkedIn URL, matching phone number, matching first name + last name +
company, and same first/last name where one entry has no other identifying
data. A "Similar Name + Company" check also flags close matches (typos,
accents, legal suffixes) for manual review, and Shared Email / Shared
Phone point out an address or number that several different people use.

### Where do I see duplicates in my list?

Open the Analyze panel in the list header. It runs automatically when the
list opens and shows a Duplicates card with the number of affected rows for
each duplicate check.

### What happens when I click Fix on a duplicate check?

ListPlus finds every group of matching rows for that check across the whole
list, keeps the most complete row in each group, copies any values that row
is missing from the other rows in the group, and marks those other rows as
Ignored so they leave the working list (they are not deleted). Review the rows
first — only the rows the check reported are merged, and an address or
number that different people share is reported as Shared Email / Shared
Phone and never merged.

### Which row's data wins when duplicates are merged?

The row with the most filled-in fields is kept, weighted toward email, name,
company, job title, phone and LinkedIn. Any field left empty on that row is
then filled in from the most complete other row that has a value.

### Does merging duplicates cost credits?

No. Finding and merging duplicates within a list is free.

### Can I undo a duplicate merge?

Yes for the ignored rows: click the Ignored chip in the status bar
(or Show Ignored Rows from Commands ⌘K), select the rows, and click Restore
to bring them back. Field values that were copied onto the surviving row
during the merge are not reverted by Restore — undo them with ⌘Z / Ctrl+Z
right after the merge (same session), or edit them back manually.

### Do I need to click Save after merging duplicates?

No. The merge is saved automatically — the ignored duplicate rows and any
empty fields it filled in on the surviving row alike.

### What does the Similar Name + Company check find?

It catches near-duplicates the exact checks miss — typos, accented letters,
and different legal suffixes (GmbH vs Inc) on the same company. It only
flags rows for you to review; there is no Fix for it.

### Does merging two lists remove duplicates?

Consolidate Lists (drag one list onto another on Home) has its own
"Duplicates" step: choose "Skip duplicates" and pick a column (such as
Email) to match on, and it won't add source rows that already exist in the
master list. This is separate from the in-list Duplicates checks and
doesn't merge field values — it just leaves matching source rows out.

### Why did adding contacts from Segment Search create duplicates but Person Search didn't?

Adding a contact from Person Search merges into an existing matching row
instead of creating a new one. Segment Search always adds new rows, so
adding the same page of results twice will create duplicates — run the
Duplicates checks in the list afterward to merge them.
