EmailOctopus Import: Clean and Verify Your List Before Uploading
To import a list into EmailOctopus, remove anyone who did not opt in, strip out past bounces and unsubscribes, verify the remaining addresses, and import only the valid rows, with the invalid ones imported as unsubscribed so they stay blocked. EmailOctopus' Acceptable Use Policy asks for hard bounces below 5%, and says adding a known hard-bounced address is already a breach.
EmailOctopus sends through Amazon SES, which is strict about bounces, and its policy reflects that. Facts below are from EmailOctopus' help centre and Acceptable Use Policy, read on 2 November 2026.
The numbers in the Acceptable Use Policy
Section 8 of the policy sets these ranges:
| Metric | EmailOctopus' range |
|---|---|
| Hard bounces | "Below 5%" |
| Spam complaints | "Below 0.10%, and never at or above 0.30%" |
| Opens | "Above 3%" |
EmailOctopus "may limit, throttle, suspend or terminate an account whose statistics fall outside them." Only hard bounces count toward the bounce rate (bounce types).
Other parts of the policy matter for imports:
- Section 3.2 bans "purchased, rented, scraped, harvested, appended or otherwise third-party sourced lists".
- Section 3: "We may ask you to provide evidence of permission for any list, and may suspend sending until you do."
- Section 3.6: dormant contacts must be re-confirmed.
- Section 7.5: "Adding a known hard-bounced or non-opted-in address is already a breach of this AUP."
The last line is why an import from another platform needs care. If your old ESP's export includes bounced contacts, and you import them as subscribed, that is a breach before you send anything.
Step 1: Export your contacts
From EmailOctopus (exporting contacts):
- Open the list.
- Tick contacts or select all. To export a subset, filter by Status, Segment, Tag or search first.
- Choose Actions, then Export.
- Pick "All" columns or the visible table fields and click Export.
- Download the ZIP from the Export history page. It stays available for 7 days.
Only account admins can export. To export unsubscribed contacts for a suppression file, set the Status filter to Unsubscribed first.
From another platform. Export subscribed, unsubscribed and bounced contacts as separate files. Our export guides cover Mailchimp, MailerLite, Kit and others.
Step 2: Remove what must not go in as subscribed
- Hard bounces and unsubscribes from your old platform. Keep them in a file; you will import them as unsubscribed in Step 5.
- Contacts without opt-in, including anything you bought, rented or scraped.
- Dormant contacts who have not engaged in a long time. The policy wants them re-confirmed; send a re-permission email before regular campaigns. The re-engagement campaign guide has the structure.
- Duplicates. EmailOctopus only imports the first row of a duplicated address in a file (import troubleshooting), which may not be the row with the best data. Dedupe first with remove duplicate emails.
Step 3: Verify
Upload the file on the verify page. Each address gets a live mailbox check and your other columns stay attached. Try a sample with the CSV email verifier first if you like.
| Result | How to import into EmailOctopus |
|---|---|
| Valid | Subscribed, tag verified |
| Catch-all | Subscribed, tag catch-all; send after the valid group |
| Unknown | Hold; re-check before importing |
| Invalid | Unsubscribed, so it stays blocked |
| Disposable | Leave out, or import as unsubscribed |
Why import invalid addresses at all? Because an unsubscribed contact cannot be resubscribed through an import. Put them in once as unsubscribed, and no later import of an old file can bring them back as subscribed.
Step 4: Prepare the file
- CSV, XLSX, TXT or DSV, no larger than 50MB.
- Email column plus the fields you use. Every column except email defaults to "Ignore (do not import)", so you choose what comes in.
- Dates as
YYYY-MM-DD. - Separate files for valid, catch-all and invalid rows, so each import uses one status and one tag.
Tags are limited to 10 on the free Starter plan and 50 on Pro, so use a few broad tags rather than one per import.
Step 5: Import
From importing contacts into a list:
- Open the list, choose Add contacts, then Import contacts from a file.
- Upload the valid-rows file.
- Mark contacts as subscribed.
- For existing contacts, choose whether to update or skip them. Choose update when you are refreshing data on contacts already in the list.
- Map the columns you want and leave the rest on Ignore. Create custom fields here if needed.
- Add the
verifiedtag. - Check the result in the Imports tab. EmailOctopus emails a notice and offers an issues report to download.
Repeat with the catch-all file (subscribed, catch-all tag) and the invalid file plus your old bounces and unsubscribes (unsubscribed, no tag needed).
Step 6: Send in order
- Send the first campaign to a segment of
verifiedcontacts who engaged recently. - Check hard bounces and complaints against the policy ranges.
- Then send to the rest of the
verifiedgroup, then tocatch-allin smaller sends.
Opens above 3% is in the policy too. A cleaner list helps that number as well, since dead addresses never open.
Keep the list inside the ranges
EmailOctopus removes contacts who hard bounce, or repeatedly soft bounce, automatically; they show as unsubscribed (bounces). New signups are the other source of bad addresses. If your signup form gets throwaway or mistyped addresses, add double opt-in or a check at the form. Stop fake signups covers the options.
Checklist
- Only opted-in contacts; nothing purchased or scraped
- Old hard bounces and unsubscribes kept out of the subscribed import
- Duplicates removed before upload
- Every address verified
- Valid and catch-all imported as subscribed with tags; invalid imported as unsubscribed
- First send to recently engaged, verified contacts
Verify before you upload
Upload your list 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 the list holds up first. For bigger lists, monthly plans are on the pricing page.
Common questions
What bounce rate does EmailOctopus allow?
Its Acceptable Use Policy lists hard bounces below 5%, complaints below 0.10% and never at or above 0.30%, and opens above 3%. EmailOctopus says it may limit, throttle, suspend or terminate an account whose statistics fall outside those ranges. Only hard bounces count toward the bounce rate.
How do I export contacts from EmailOctopus?
Open the list, tick the contacts or select all, then choose Actions, then Export. Pick all columns or the visible fields and click Export. The file is prepared on the Export history page as a ZIP and stays downloadable for 7 days. Only account admins can export.
Can I import contacts as unsubscribed in EmailOctopus?
Yes. The import lets you mark contacts as subscribed or unsubscribed. Importing known-bad addresses as unsubscribed is a simple way to suppress them. The reverse does not work: an unsubscribed contact cannot be resubscribed through an import.
Can I upload a purchased list to EmailOctopus?
No. Section 3.2 of the Acceptable Use Policy bans purchased, rented, scraped, harvested, appended or otherwise third-party sourced lists. EmailOctopus may also ask for evidence of permission for any list and suspend sending until you provide it.
What happens to bounced contacts in EmailOctopus?
EmailOctopus removes contacts who hard bounce, or repeatedly soft bounce, automatically. In the dashboard they appear as unsubscribed.
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.