Dedupe
Duplicates come in whenever you merge sources — a Google Maps scrape, an Apollo export, and a CRM pull all describe the same company differently.
Dedupe removes repeated rows based on a column you choose.
Why it matters
- Credits. Every duplicate row runs every action column again. Two rows for the same domain is double the enrichment spend for one answer.
- Reputation. The same person receiving your sequence twice is the fastest route to a spam complaint.
- CRM hygiene. Duplicates exported into HubSpot or Salesforce take far longer to clean up there than here.
How to dedupe
- Click the ⚙️ icon in the top-right of the table
- Click Dedupe
- Choose the column to match on
- Review what will be removed
- Confirm
This dedupes the whole table on the column you pick. To dedupe on one column with a review step first, see How to setup auto-dedupe below.
Dedupe before you run enrichment, not after. Deduping afterwards saves nothing — the credits are already spent.
How to setup auto-dedupe
Auto-dedupe works on one column at a time. It finds duplicate values in that column — within the table, or against another table in the same workspace — and lets you clear them in one pass.
- Click the column header you want to dedupe on
- Click Filter duplicates
- Click Select all
- Click Delete selected duplicates
Duplicates are deleted top to bottom, so the first occurrence of each value is the one that survives. Sort the table the way you want before you delete if it matters which row is kept.
Select all selects every duplicate the filter found. Scan the filtered view before you delete — this is the only review step.
Which column to match on
Pick the column that is unique by nature, not the one that is easiest to read.
| Match on | Use for | Watch out for |
|---|---|---|
| Domain | Company-level tables | acme.com and www.acme.com are different strings |
| Work email | Contact-level tables | Only works on rows already enriched |
| LinkedIn URL | People sourced from LinkedIn | Vanity URLs vs numeric IDs |
| Company name | Last resort | ”Acme”, “Acme Inc”, “Acme Pty Ltd” all survive |
Normalize the column first if your import is messy — a domain column derived from a URL dedupes far more reliably than raw text.
Dedupe removes rows. Export a copy of the table first if the source list is hard to rebuild.
Keeping it clean afterwards
- Dedupe as a step in your import routine, not as a cleanup job
- Filter for email is empty after deduping to see what still needs enrichment
- For records already in your CRM, dedupe against the CRM using a CRM integration rather than the table alone
Common use cases
- Clean a table built by merging several sources — a scrape, an export, and a CRM pull
- Remove overlap after re-running the same directory or search import
- Clean a list before it goes into HubSpot or Salesforce, where duplicates are far harder to fix
- Clean a webhook-fed table where the same lead can submit twice
Best practices
- Normalize the key column before deduping —
acme.comandwww.acme.comsurvive as two rows otherwise - Make deduping the last step of every import routine, not an occasional cleanup job
- Prefer a domain or LinkedIn URL as the match key; company name is a last resort
- Export a copy first when the source list would be painful to rebuild
- Re-run it whenever you add rows from a new source into an existing table
Where to next
- Filter — narrow before you spend
- Lead Sourcing — where the duplicates come from