Move-in · from Substack
Moving from Substack to SendBeam
Subscribers, the people who unsubscribed, tags, custom fields and whatever consent evidence Substack kept — moved in the order that keeps you compliant, without asking a single person to confirm again.
Weighing it up first? Read SendBeam vs Substack.
Before you start
What you need from Substack.
Your Substack CSV export
Dashboard → Subscribers → ⋯ (three dots above the list) → Export → All columns
Email, subscription date, plan type (free or paid) and status (active, paused, cancelled), plus engagement columns when you choose All columns.
Their help page: support.substack.com/hc/en-us/articles/6314498343700-How-do-I-export-my-email-list-on-Substack
A workspace for each site
One SendBeam login covers every site you run: a workspace each, one pooled bill. Free is 500 contacts across 2 workspaces, Starter $9 is 2,500 across 5, Pro $29 is 10,000 across as many as you like. Move the sites one at a time if you prefer.
Your DNS, or someone who has it
Each sending domain needs two records — DKIM and an aligned return path — verified before an address is imported. On Cloudflare we can write them for you; anywhere else it is two values to paste.
The order
Five steps, in this order, and you keep sending throughout.
The order matters more than the tool. Opt-outs before subscribers, domain before the first send, and the old account stays open until the sync window closes.
- 01 Suppressions firstSubstack's export does not include the people who unsubscribed, so gather whatever record you have of them and load it first, as a CSV with a status column reading unsubscribed. Those rows land on the suppression list, never count towards your contact limit, and no later import can turn them back into subscribers.
- 02 Sending domainAdd the site's sending domain and verify it before anything is imported, so the first campaign is not waiting on DNS. Delivery is managed by SendBeam — there are no provider keys to set up — and each site gets its own DKIM record and aligned return path.
- 03 ImportLoad the CSV under Contacts → Import, keeping subscribed_at and the consent columns. Statuses, tags, custom fields and opt-in dates come across with the rows; extra columns become custom fields.
- 04 Parallel runKeep sending from Substack while you check this side: rebuild your forms, put the embed on the site, and send one campaign from SendBeam to a small segment before you trust it with the whole list.
- 05 Cutover with a 30-day unsubscribe syncSwitch your forms over, send from SendBeam and leave the Substack account open for 30 days. Anyone who unsubscribes there in that window must be unsubscribed here too: Move-in syncs that for you, and on your own it is a weekly export of their opt-outs imported with status set to unsubscribed. Then close the old account.
The same order is written up in the docs: suppression list, sending domain, importing contacts and moving in.
Two routes
Do it yourself, or hand it over.
Route one
Import your Substack CSV
SendBeam has no key-based importer for Substack, so this is a CSV. Go to Contacts → Import, drop the file in, choose the default status and press Import. There is no column-mapping step: headers are matched case-insensitively with spaces and punctuation read as underscores, so name the columns as below. Free on every plan, up to 5 MB a file.
Columns the importer recognises
- first_name
- last_name
- status
- tags
- subscribed_at
- unsubscribed_at
- source
- consent_ip
- consent_at
- consent_source
Any other column becomes a custom field keyed by its snake_cased header. Rows with status unsubscribed, bounced or complained go to the suppression list and never count towards your contact limit. Full reference: importing contacts.
Shaping a Substack export
- Export with All columns from the three dots above the subscriber list, then rename the subscription-date column to subscribed_at.
- The file holds current readers only — people who unsubscribed are simply absent from it. If you have any record of them, put those addresses in a CSV of their own with a status column reading unsubscribed and import that first.
- Substack keeps no IP, source or confirmation record, so the sign-up date is the only evidence there is to carry.
Route two
Move-in, done for you
You give us a read-only key or a temporary seat that you revoke afterwards. We load the suppressions, set up a sending domain for each site, import every workspace, keep you sending from Substack while you check, switch your forms over and sync unsubscribes from Substack for 30 days after cutover. Two to five business days for the whole account.
- Included on Pro $29 and Business $79 — every site on the account, one request.
- Automations rebuilt at US$29 each and templates at US$49 each, quoted before any work starts and waived on Business annual.
- On Free and Starter you import yourself, and any Setup item can still be bought on its own.
What carries over
What arrives with your list.
- Subscribers with their names, their status and the day they originally joined.
- Custom fields, keyed by the lower-cased, snake_cased column or field name, ready for merge tags and segment rules.
- Consent evidence: Email, subscription date, type and status only; no IP, no source, no confirmation record.
What does not
What no migration carries.
- Automations. No platform exports them in a form another can run, Substack included. Rebuild them in the SendBeam editor at no cost, or have us do it as a Setup item.
- Designs. Templates are rebuilt in the SendBeam editor — by you at no cost, or by us as a Setup item.
- Engagement history. Opens and clicks recorded on the old platform stay there; your stats here start at cutover.
- People who never confirmed. Rows marked pending, unconfirmed or inactive are counted and left out rather than emailed.
- Paid subscriptions. Substack paid tiers stay with the billing they were created on, and SendBeam does not take subscription payments for you. Paying readers arrive as ordinary contacts, so keep Substack for the payments or move them to your own checkout before you close the account.
Consent
Nobody has to confirm again.
Changing provider does not require fresh consent, and we do not ask your subscribers to opt in a second time. What matters is that the evidence travels with them. From Substack that evidence is: email, subscription date, type and status only; no IP, no source, no confirmation record. It is stored on each contact as consent_ip, consent_confirmed_at and consent_source, so it shows on the contact and comes back out in an export.
Because Substack keeps almost nothing, the sign-up date is all there is to carry. Contacts with no evidence at all are left out rather than emailed, and you get the list of who they were so you can decide — a re-permission campaign from Substack before you close it is usually the cleanest answer.
Suppressions go in before anything can send, every access during a Move-in is logged, working copies are deleted after cutover and you can ask for the migration log. The data processing agreement sets this out in full; double opt-in explains what is recorded from here on.
Checklist
Ten things, in order.
- 01 Export from Substack: Dashboard → Subscribers → ⋯ (three dots above the list) → Export → All columns.
- 02 Gather whatever record you have of past unsubscribes.
- 03 Create a SendBeam workspace for the site — one per site, all on one login.
- 04 Add the sending domain and wait for it to verify.
- 05 Import the opt-outs first, with status set to unsubscribed.
- 06 Import the subscribers, keeping subscribed_at and the consent columns.
- 07 Read the import summary: imported, updated, suppressed, pending not imported, invalid rows, columns ignored.
- 08 Rebuild your forms, swap the embed on your site, and rebuild any automations you rely on.
- 09 Send one campaign from SendBeam to a small segment while Substack is still live.
- 10 Cut over, then pull Substack's new unsubscribes for 30 days before you close the account.
Bring every site across, not just this one.
One login, a workspace per site and one pooled bill. Start free with 500 contacts, or hand us the keys and keep sending from Substack while we do it.
Still comparing? SendBeam vs Substack · price your own sites · plans
Substack is a trademark of its owner and SendBeam is not affiliated with it. The menu paths and export contents above describe Substack as read on their own help pages (support.substack.com/hc/en-us/articles/6314498343700-How-do-I-export-my-email-list-on-Substack) on 3 September 2026. Platforms move menus; if a path has changed, tell us and we will correct it. Other guides: Move-in and the comparisons.