Learning Objective
By the end of this guide, you'll know how to configure duplicate prevention settings during lead import, understand the difference between campaign-level, active-campaign, and workspace-level duplicate checks, and manage CRM integration scenarios where deleted leads reappear.
Why This Matters
Duplicate leads waste sending capacity, annoy prospects who receive multiple identical emails, and skew your campaign analytics. Worse, they can damage your sender reputation if prospects mark you as spam for excessive emails.
Proper duplicate management:
Protects your prospects from receiving the same campaign multiple times
Preserves your sending limits by avoiding wasted sends
Keeps analytics accurate by ensuring each lead is counted once
Prevents team overlap when multiple people manage campaigns
Enables safe re-engagement by letting you re-import leads from ended campaigns without conflicting with active outreach
lemlist's duplicate prevention settings give you precise control over which leads are allowed into your campaigns.
Prerequisites
Before configuring duplicate settings:
You're importing leads via CSV or CRM integration – Duplicate settings appear during the import process
You know your import strategy – Decide whether you want strict workspace-wide protection, active-campaign-only protection, or flexible campaign-only duplicate handling
You understand your team's workflow – If multiple team members run campaigns, coordinate on duplicate policies
How Duplicate Prevention Works
During lead import, you can choose how lemlist handles duplicates:
Option 1: "Don't import leads that are already in this campaign"
Checks only the current campaign for duplicates
Allows the same lead to exist in other campaigns
Use case: You want to run multiple campaigns to the same audience with different messaging
Option 2: "Don't import leads currently in progress in another campaign"
Checks other campaigns in your workspace, but excludes only leads with active statuses:
inProgress,paused,reviewed, andscheduledAllows leads with ended statuses to be re-imported:
done,interested,notInterested, andunsubscribedUse case: You want to avoid conflicts with active outreach while still being able to re-engage leads who finished an older campaign
Option 3: "Don't import leads that are already part of any campaign in your lemlist team"
Checks the current campaign AND all other campaigns in your workspace
Blocks leads already present anywhere in the team, regardless of campaign status
Use case: You never want the same lead imported again if it already exists in any campaign across your workspace
Email is the unique identifier: Duplicates are determined by email address. If two leads have the same email but different names or companies, lemlist treats them as the same lead. LinkedIn profile URLs can also serve as unique identifiers, ensuring that the same LinkedIn profile cannot be added twice during imports or enrichment processes. Names are not used for deduplication due to their lack of uniqueness; multiple individuals may share the same name, leading to false matches.
Core Lesson: Step-by-Step Workflow
Phase 1: Choose Duplicate Settings During Import
Step 1: Open the campaign you want to import leads into
Go to Campaigns, then select the campaign you want to update.
Step 2: Open the Lead list and start an import
In the campaign, open the Lead list tab, then click Import new leads.
Step 3: Select CSV import and choose how to import leads (1/4)
Choose CSV import.
Then, under Choose how to import Leads, select one of these options:
Create and update leads
Create new leads only
Update existing leads only
After that, upload your .csv file by clicking the upload area or dragging and dropping the file, then click Continue.
Step 4: Set up imported fields (2/4)
Review how your CSV columns map to lemlist lead fields, adjust any mappings if needed, decide whether existing values should be overwritten, then click Continue.
Step 5: (Optional) Pick AI columns use cases (3/4)
If you want to use AI to clean, enrich, transform, or personalize imported data, enable the relevant use cases and match the required CSV columns. If you do not want to use any AI use cases, click Disable all, then continue.
Step 6: Choose enrichment and duplicate prevention settings, then import (4/4)
On the final step, you can optionally enable enrichment features such as finding verified emails, finding phone numbers, enriching LinkedIn profiles, or verifying existing emails. Then, in Manage duplicates, choose one of the following:
Don't import leads that are already in this campaign (campaign-level duplicate prevention)
Don't import leads currently in progress in another campaign (blocks only leads with active statuses:
inProgress,paused,reviewed,scheduled)Don't import leads that are already part of any campaign in your lemlist team (workspace-level duplicate prevention across all campaign statuses)
When you're done, click Import leads to finish the import.
Phase 2: Review Import Summary
Step 7: Check the import results
After the import setup, review how many leads were:
Imported successfully
Excluded as duplicates
Flagged as currently in progress in another campaign
Failed (invalid email format, missing required fields, etc.)
Step 8: Review excluded duplicates and active conflicts
If leads are excluded during import:
Look for the yellow banner in the import modal
Click View details to review which leads were excluded
Leads already active elsewhere are flagged in the modal with a conflict warning
If a lead has an ended status in another campaign, you can re-import them when using the currently in progress option
Understanding Campaign-Level vs. Active-Campaign vs. Workspace-Level Duplicate Prevention
Campaign-Level ("Don't import leads that are already in this campaign")
How it works:
lemlist checks only the current campaign for matching emails
If an email exists in the current campaign → Skip
If an email exists in a different campaign → Import anyway
Example scenario:
Campaign A: "Cold Outreach" contains [email protected]
Campaign B: "Re-engagement" imports [email protected]
With campaign-level setting: [email protected] is imported to Campaign B (different campaign, so allowed)
When to use:
You intentionally run multiple campaigns to the same leads
Example: Initial outreach campaign, then follow-up re-engagement campaign months later
Active-Campaign Protection ("Don't import leads currently in progress in another campaign")
How it works:
lemlist checks other campaigns in your workspace for active lead statuses
If an email is in another campaign with
inProgress,paused,reviewed, orscheduled→ SkipIf an email exists only in campaigns with ended statuses like
done,interested,notInterested, orunsubscribed→ Import allowed
Example scenario:
Campaign A: "Cold Outreach" contains [email protected] with status
doneCampaign B: "Re-engagement" imports [email protected]
With active-campaign protection: [email protected] is imported to Campaign B because the earlier campaign has already ended
When to use:
You want to prevent overlap with live outreach
You want to re-engage leads from old completed campaigns without manual cleanup
Multiple team members run campaigns and need protection only against current conflicts
Workspace-Level ("Don't import leads that are already part of any campaign in your lemlist team")
How it works:
lemlist checks the current campaign AND all other campaigns in your workspace
If an email exists anywhere, regardless of status → Skip
Example scenario:
Campaign A: "Cold Outreach" contains [email protected]
Campaign B: "Re-engagement" tries to import [email protected]
With workspace-level setting: [email protected] is skipped even if the lead is no longer active in Campaign A
When to use:
You want to ensure no lead is ever re-imported if it already exists in any team campaign
Multiple team members manage campaigns and you need the strictest possible duplicate control
You want strict duplicate prevention across your entire workspace
Practical Application / Real-Life Example
Sales Team Prevents Active Cross-Campaign Overlap Without Blocking Re-engagement
A B2B sales team has 5 reps, each running their own campaigns targeting similar audiences. They want to avoid contacting the same prospect at the same time, but they also want to re-engage leads who completed older sequences months ago.
Their solution:
Enable "Don't import leads currently in progress in another campaign" for imports.
Workflow:
Rep 1 imports 500 leads to "Q4 Outreach Campaign"
Rep 2 imports 600 leads to "Re-engagement Campaign"
lemlist checks which of Rep 2's leads are currently active in other campaigns
Leads with active statuses are excluded, while leads from finished campaigns are still imported
Outcome:
No prospect receives overlapping outreach from multiple campaigns at the same time
Old leads can be safely re-engaged
Sender reputation stays protected without blocking legitimate follow-up campaigns
Key takeaway: Active-campaign duplicate prevention is ideal when you want to prevent live conflicts while preserving re-engagement flexibility.
FAQs on Lead Import and Duplicates
Why do deleted leads keep reappearing in campaigns?
Root cause: CRM integration refreshes and re-imports leads from the source list.
How it works:
You delete a lead from your lemlist campaign
Your CRM integration runs its periodic refresh (e.g., daily sync)
The lead still exists in the CRM's source list (e.g., a filtered view or segment)
lemlist re-imports the lead because it's still in the CRM source
Fix:
Remove the lead from the CRM's source list (the filter, segment, or view that feeds lemlist)
Or exclude the lead in your CRM using tags or status (e.g., mark as "Do Not Contact")
Or adjust the CRM integration settings to exclude certain statuses or tags
Best practice: If you delete a lead from lemlist, also update their status in your CRM to prevent re-import.
How do I ensure new leads are added to my campaign automatically?
For CRM integrations:
New leads added to your CRM's filtered list or segment will sync automatically during periodic refreshes
Check your integration settings to confirm sync frequency (daily, hourly, etc.)
Verify the CRM filter or segment is correctly configured to include new leads
For manual imports:
New leads won't automatically appear, you need to manually import updated CSV files
Consider using Zapier or CRM integration for automatic syncing
Will this also be available via API?
Yes. The "Don't import leads currently in progress in another campaign" logic will also be available via API.
Troubleshooting
Issue: All my leads are being skipped as duplicates
Root cause: All leads already exist in campaigns, or duplicate setting is too strict
Fix:
Check which campaigns contain those leads
If you only want to block active outreach conflicts, use "Don't import leads currently in progress in another campaign" instead of the strict workspace-wide option
If you want to allow duplicates across campaigns entirely, use campaign-level duplicate prevention
Issue: A lead from an old completed campaign is being blocked
Root cause: You're using the strict workspace-level setting, which blocks leads found in any campaign regardless of status
Fix:
Switch to "Don't import leads currently in progress in another campaign" if you want to re-import leads from ended campaigns
Use the yellow banner and View details option to confirm which leads were excluded
Issue: A lead is marked as already in progress in another campaign
Root cause: The lead exists in another campaign with an active status such as inProgress, paused, reviewed, or scheduled
Fix:
Open View details from the yellow banner to identify the conflict
Wait for the lead to finish that campaign, or remove them from the active campaign before re-importing
Issue: Duplicate leads are being imported despite settings
Root cause: Emails have slight variations (extra spaces, different capitalization) that lemlist treats as different
Fix:
Clean your CSV data before importing:
Remove extra spaces
Use consistent capitalization
Use a data cleaning tool or Excel formulas to standardize emails before import
Issue: CRM integration keeps re-importing leads I deleted
Root cause: Deleted leads still exist in the CRM source list
Fix:
Update the lead's status in your CRM (e.g., mark as "Unsubscribed" or "Do Not Contact")
Adjust your CRM filter or segment to exclude leads with that status
lemlist will skip them during the next sync
Optimization Tips
Use active-campaign prevention when re-engaging old leads: If you want to avoid overlapping outreach but still contact leads from completed campaigns, use "Don't import leads currently in progress in another campaign".
Use strict workspace-level prevention when you never want re-imports: Choose "Don't import leads that are already part of any campaign in your lemlist team" when your team wants the strongest duplicate protection.
Clean data before importing: Standardize email formats and remove extra spaces. This prevents false positives where lemlist treats slightly different emails as unique.
Coordinate with your team: If multiple people import leads, agree on a duplicate prevention policy and document it. Everyone should use the same setting to maintain consistency.
Review skipped leads: After imports, use the yellow banner and View details to investigate whether a lead was blocked because it is active elsewhere or because your duplicate rule is stricter than intended.
Tag leads by source: When importing, tag leads with their source (e.g., "Q4 LinkedIn Scrape"). This helps you identify where duplicates came from.
Archive completed campaigns: Once a campaign is done, archive it. This keeps active campaigns clean and reduces the chance of duplicate conflicts with old campaigns.
To streamline LinkedIn campaigns, create a dedicated "storage campaign" for 1st-degree connections. Doing so isolates current connections and avoids duplicate invitations in unrelated campaigns.
Use CRM integration wisely: Carefully configure your source filters to exclude unsubscribed, bounced, or "do not contact" leads. This prevents unwanted leads from re-importing.
Export before bulk operations: Before making bulk changes (deleting old campaigns, removing duplicates), export your lead lists as backups.
Set up sync schedules: If using CRM integration, align sync frequency with your campaign pace. Daily syncs work for high-volume campaigns; weekly syncs suffice for slower campaigns.
Enrichment and Duplicate Handling
When managing LinkedIn campaigns, lemlist automatically skips invite steps for existing 1st-degree connections and allows continuity for subsequent steps in the sequence. For mixed degree campaigns, use conditional logic like "Accepted Invite" to ensure follow-ups align precisely with connection status.
When enriching contacts in lemlist, the system prevents redundant usage of credits and duplication of efforts:
Leads with the same LinkedIn URL as an existing record will not be enriched again.
Inconsistent or incomplete data may cause enrichment failures, making data uniformity crucial.
Best Practices for Enrichment Deduplication
Ensure data uniformity across your prospect lists to avoid inconsistencies.
Leverage LinkedIn and email deduplication to minimize redundant enrichment.
Regularly monitor enrichment results to identify and correct any issues that arise due to data discrepancies.








