Mailshake CSV Import: Verify Prospects Before They Enter a Campaign
To prepare a list for Mailshake, build a CSV with a header row and one email per row, remove your Mailshake unsubscribes and anyone already in another campaign, verify the addresses, and import only the valid rows, splitting catch-all addresses into a separate campaign. Keep each file under Mailshake's 1MB guidance and within your plan's per-campaign prospect cap.
Mailshake's own help pages were read on 2 November 2026 for everything below.
Mailshake's import rules
| Rule | What Mailshake says | Source |
|---|---|---|
| Header row | Required | CSV not accepted |
| "A prospect has to have an email address", one per row | Same page | |
| File size | "Keep the file size to 1MB or less" | Same page |
| Per-campaign cap | 10,000 prospects on Sales Engagement, 5,000 on Email Outreach | Same page |
| Unsubscribes | Skipped at import: "Mailshake will not import these prospects" | Importing prospects |
| Updates | "Add and update" overwrites old data; "Add only" keeps it | Same page |
| After a bounce | Pending messages to that recipient are cleared | FAQ |
Mailshake does not publish a bounce-rate threshold that pauses a campaign; its deliverability page lists high bounce rates as a symptom to fix. The limit that matters is the one your mailbox provider applies. Google Workspace and Microsoft 365 mailboxes that bounce heavily get throttled or flagged whatever tool sends the mail. Why cold emails bounce covers that side.
Mailshake's own List Cleaning
Mailshake has a built-in List Cleaning feature. It marks addresses Bad ("almost certain to bounce") or Risky (possibly catch-all), and Mailshake recommends removing both. Its help pages describe the allowance differently in two places: the list cleaning article says it is included on all paid plans with no stated cap, while the import article mentions 5,000 credits on Email Outreach and 10,000 on Sales Engagement. Check your own plan.
If you only ever source and send inside Mailshake, that built-in check may be enough. A separate check before upload helps when:
- the same list also goes into a CRM or another sequencer, and you want one result for all of them;
- you want catch-all addresses kept but sent separately, rather than removed with the Bad ones;
- you want unknown results re-checked later rather than dropped;
- the file is larger than a campaign can hold and you are splitting it anyway.
Step 1: Export existing prospects
To re-check prospects already in Mailshake (export campaign results):
- Open Campaigns from the left-side menu.
- Select the campaigns whose prospects you want. Mailshake allows up to 20 at a time.
- Click Export in the grey bar and choose Prospects.
- When processing finishes, click Download CSV.
There is no single export of all prospects and no filtered export, so repeat by campaign (export all prospects). The same Export menu also has Sent Messages, which includes reply, bounce and unsubscribe dates per prospect. That is the file to use when you want to see which addresses already bounced.
Our Mailshake export page has these steps in short form.
Step 2: Export your unsubscribes
Go to Prospects, then Unsubscribes, and click Export for a CSV of everyone who opted out (export unsubscribes). Mailshake skips these at import anyway, but remove them from your master file too, so they do not end up in your CRM or another tool.
Step 3: Clean the file
- Merge your sources (Apollo, Sales Navigator, a scraper, a past campaign) with CSV merge.
- One email per row. Enrichment tools sometimes put two addresses in one cell. Split multiple emails in a cell fixes that.
- Remove duplicates with remove duplicate emails.
- Remove unsubscribes, past bounces and customers using compare email lists against the files from Steps 1 and 2.
- Decide on role addresses.
info@andsales@rarely reply to one-to-one outreach; the role-based email filter separates them.
Step 4: Verify
Upload the file on the verify page. Every address gets a live mailbox check, and your columns (first name, company, icebreaker) stay attached for the Mailshake import. A sample can go through the CSV email verifier first.
| Result | Where it goes in Mailshake |
|---|---|
| Valid | Main campaign |
| Catch-all | Separate campaign, smaller daily volume |
| Unknown | Hold; re-check in a day or two |
| Invalid | Delete; add to your do-not-contact file |
| Disposable | Delete |
Catch-all rows deserve their own campaign because a catch-all domain accepts the check and may bounce the real send. Should you email catch-all addresses has the reasoning and the volumes to start with.
Step 5: Import only the valid rows
From Mailshake's import guide:
- Open Campaigns, then +New Campaign, or open an existing campaign and click Add Prospects.
- Upload the valid-rows CSV.
- Map each column. Custom columns can become text replacements for your copy.
- Choose Add only for a fresh campaign, or Add and update if you are refreshing prospects that already exist.
- Review the prospects Mailshake flags as already in other campaigns, and click Remove if you do not want them contacted twice.
- Click Import Prospects.
Keep files under 1MB. A CSV with long icebreaker or URL columns can pass that size within a few thousand rows, so check the file size and split large lists with the email list splitter.
Then import the catch-all file into its own campaign.
Step 6: Keep bad addresses out of future imports
Add every invalid address to Mailshake's unsubscribe list so it can never be re-imported by accident: Prospects, then Unsubscribes, then Import Unsubscribes accepts a CSV (unsubscribe recipients). Mailshake's import already skips those addresses, so this works as a permanent block.
Re-verify any list that has sat for more than a few weeks before loading it. Re-verify leads older than 30 days explains why.
Checklist
- Header row, one email per row, file under 1MB
- Within the per-campaign prospect cap for your plan
- Unsubscribes, past bounces and customers removed
- Every address verified; invalid rows deleted
- Catch-all rows in their own campaign
- Invalid addresses added to Mailshake's unsubscribe list
Verify before you upload
Upload your prospect CSV on the verify page. You get 100 free email checks when you sign in with Google, no card, enough to see how a sample of a new list holds up before you load the campaign. For bigger lists, monthly plans are on the pricing page.
Common questions
How do I export prospects from Mailshake?
Open Campaigns, select the campaigns you want (up to 20 at a time), click Export in the grey bar and choose Prospects, then click Download CSV when it finishes. Mailshake has no single export of every prospect and no filtered export, so export from the campaigns the prospects were uploaded to.
Why is Mailshake rejecting my CSV?
The most common reasons in Mailshake's help pages are a missing header row, a row without an email address, more than one email in a row, and a file over 1MB. Split large lists into several files and keep one prospect per row.
Does Mailshake verify emails?
Mailshake has a List Cleaning feature that marks addresses Bad (almost certain to bounce) or Risky (possibly catch-all), and it recommends removing both. Checking before upload is still useful when you build lists across several tools, want catch-all rows in their own campaign, or need the results in your CRM too.
What happens when a Mailshake email bounces?
Mailshake says that if an email bounces or an unsubscribe is detected, it automatically clears out any pending messages for that recipient. It also says it never pauses recipients, so the rest of the campaign keeps sending to everyone else.
Can I update prospects with a new CSV in Mailshake?
Yes. When you import, choose Add and update to overwrite older information for existing prospects. Add only keeps the existing data. Mailshake will not import prospects who are on your unsubscribe list.
Check your list before you send
Real mailbox checks over SMTP, and nothing is sent to the address. Sign in with Google and your first 100 email checks are free, no card. Plans for bigger lists are on the pricing page.