Preparing a Lead List for Smartlead Without Burning Inboxes
To prepare a list for Smartlead, deduplicate and verify it before upload, split catch-all leads into their own campaign, keep campaigns small enough that the bounce auto-pause can react in time, and turn on the community bounce filter, which is not on by default. Smartlead measures bounce rate against every lead in the campaign, not against emails sent.
That last detail changes how you should structure campaigns, and it comes straight from Smartlead's own documentation, read on 1 October 2026.
How Smartlead's bounce auto-pause works
Smartlead pauses a campaign when bounces exceed a percentage you set, measured against all the leads in that campaign. Its Bounce Autopause and Webhook article gives the formula:
(total bounce count + latest bounce) / total_lead_count * 100
If the result exceeds your threshold, the campaign pauses and a campaign_bounce_threshold webhook fires with the campaign name, threshold, bounce count, total leads and pause time.
The protection is called High Bounce Rate Auto Protection. It is set during campaign setup, and Smartlead's wording is "if enabled", so confirm it is on for every campaign rather than assuming.
Why the denominator matters
Because the formula divides by total leads, a big campaign can absorb hundreds of bounces before it pauses. Early in a campaign, most leads have not been emailed yet, but they still count in the denominator.
We worked through what a 5% threshold means at different campaign sizes, assuming invalid addresses are spread evenly through the list:
| Leads in campaign | Bounces needed to pause at 5% | Sends before pause if 8% are invalid | Sends before pause if 20% are invalid |
|---|---|---|---|
| 500 | 25 | about 310 | 125 |
| 1,000 | 50 | 625 | 250 |
| 5,000 | 250 | about 3,130 | 1,250 |
| 10,000 | 500 | 6,250 | 2,500 |
Read the bottom row carefully. A 10,000-lead campaign with one bad address in five would send 2,500 emails and take 500 bounces before the pause fires. Real lists are rarely spread evenly, so treat these as orders of magnitude, but the direction is certain from the formula.
For comparison, Instantly's documented check runs on the bounce rate of recent emails once 200 have been sent, so the same 20% list would trip it far sooner; see Instantly bounce rate. Neither approach is wrong. They are different safety nets, and you need to know which one you are standing on.
What to do about it:
- Keep campaigns smaller. Several campaigns of 500 to 1,000 leads give the auto-pause something to react to.
- Set a lower threshold on large campaigns. Smartlead's own example uses 3%. On a 10,000-lead campaign, even 2% is 200 bounces.
- Use the webhook. Point it at Slack or email so a pause is seen within minutes, not the next morning.
- Mostly, verify first, so the auto-pause never has a reason to fire.
Step 1: Clean and deduplicate the CSV
Fix the file before Smartlead sees it. Lower-case and trim the email column, remove duplicates on that cleaned column, and drop rows that are not valid email syntax. Our guide to removing invalid and duplicate emails from a CSV covers this step in Excel, Sheets and Python.
Step 2: Verify before launch, because you cannot do it after
Smartlead only verifies leads before a campaign goes live. Its guide, How to verify your lead list using Smartlead, is explicit: "You cannot verify leads once a campaign is live. It's best you set up a new campaign and use the email verification tool."
You have two options:
- Smartlead's verification add-on. After uploading and mapping a CSV, click Launch Verification. The same guide lists it as "an add-on service starting from 6000 credits for $15 USD" (as of October 2026). You can download the verified list as a separate CSV from the Import Lead tab.
- An outside verifier. Verify the CSV first and upload only what you intend to send. This keeps one verified file you can reuse across tools.
Either way, note this line from Smartlead's guide: "If you launch the campaign after verification, Smartlead will send emails only to valid and catch all leads." Catch-all leads go out with the valid ones unless you remove them.
Step 3: Take catch-all leads out of the main campaign
Catch-all leads are unconfirmed, so give them their own campaign rather than mixing them in. A catch-all domain accepts every address, real or not, so no SMTP check can tell a real mailbox from a typo. Our catch-all explainer shows why. Some of those leads will bounce later, and some will land in an inbox nobody reads.
Splitting them gives you two things: the main campaign's bounce rate reflects your verified leads, and the catch-all campaign's bounce rate tells you directly whether that segment is worth continuing. Run it on your most established inboxes, small first batch, read the bounces, then decide. Should you email catch-all addresses? has the decision rules.
Step 4: Turn on the community bounce filter
Smartlead can exclude addresses that have bounced for other Smartlead users, but the default imports them anyway. Its article on the Community Bounce feature says: "By default, the option to 'Import leads even if they bounced across our entire database' is enabled." You have to override that setting at lead upload for the filter to work.
Smartlead describes the list as drawn from "major industry blocklists, email service providers, Smartlead's internal database, and reports from other users". We cannot audit it, and you should treat it as a cheap extra filter, not a substitute for verification. But since it costs nothing, there is little reason to leave it off.
The same article says bounced leads are added to the do-not-contact list automatically, which stops repeat sends to the same dead address.
Step 5: Tell lead bounces from sender bounces
Not every Smartlead bounce means the lead is bad, and Smartlead now separates the two. Its sender bounces article defines a sender bounce as a rejection "because of sender-related signals or the receiving server's delivery policies, rather than because the recipient's email address does not exist." The feature announcement adds: "Don't assume these leads are bad."
| Bounce type | What it means | What to fix |
|---|---|---|
| Lead bounce | The address is invalid or unavailable | The list: re-verify the source |
| Sender bounce | Your domain, authentication, content or the recipient's gateway rejected you | Your setup: SPF, DKIM, DMARC, volume, copy |
Smartlead's guidance on sender bounces is worth repeating: "Do not diagnose a bounce using only the first few digits of the SMTP code," and "a sudden increase is often more important than the percentage alone." If sender bounces cluster on one sending domain, check it with the deliverability audit. If they cluster on recipients behind one security gateway such as Mimecast or Proofpoint, the cause may be that gateway's policy rather than anything you can fix in the list.
Step 6: Match volume to your inboxes
List quality and sending volume interact: a clean list sent too fast still gets rejected. Smartlead's ESP matching routes Gmail leads to Gmail inboxes and Outlook leads to Outlook inboxes where it can, then uses the rest. That helps, but it does not raise how much each inbox can safely send.
Before launch, check that:
- every inbox has been warmed and is not newly created;
- daily limits are conservative for each inbox;
- SPF, DKIM and DMARC pass on every sending domain;
- the auto-pause threshold is set, and the webhook goes somewhere a person will see it.
A pre-upload checklist
- CSV cleaned, lower-cased and deduplicated.
- Verified within the last few weeks, before launch.
- Invalid leads removed from the file.
- Catch-all leads split into a separate, smaller campaign.
- "Import leads even if they bounced across our entire database" switched off.
- Campaign size small enough for the auto-pause to react, or threshold lowered to match.
- Bounce webhook connected to a channel someone watches.
The takeaway
Smartlead's auto-pause divides by every lead in the campaign, so it reacts slowly on large lists, and its verification runs only before launch and still sends to catch-alls. Do the work up front: clean and verify the CSV, take catch-alls out, switch on the community bounce filter, and keep campaigns small enough that a bad batch shows up before it costs you an inbox. When bounces do arrive, check whether Smartlead calls them lead bounces or sender bounces before deciding what is broken.
Common questions
How does Smartlead calculate bounce rate for auto-pause?
Smartlead's help centre gives the formula as (total bounce count + latest bounce) / total_lead_count x 100. The denominator is the number of leads in the campaign, not the number of emails sent so far, so on a large campaign many bounces can happen before the threshold is reached.
Can I verify leads in Smartlead after a campaign is live?
No. Smartlead's documentation says you cannot verify leads once a campaign is live and recommends setting up a new campaign and running verification there. Verify before launch, or verify the CSV outside Smartlead before uploading.
Does Smartlead send to catch-all leads after verification?
Yes. Smartlead says that if you launch after its verification, it sends only to valid and catch-all leads. Catch-all addresses cannot be confirmed by an SMTP check, so if you want them handled separately you need to split them out yourself.
What is a sender bounce in Smartlead?
A sender bounce is a rejection caused by your sending setup, reputation, content or the recipient's security policy rather than by the recipient address being invalid. Smartlead tracks these separately and says not to assume those leads are bad.
Verify unlimited addresses for $29.99/month
Real SMTP mailbox checks. No credits, no per-email fees.
Get Started