SendBeam

Move-in · from Buttondown

Moving from Buttondown to SendBeam

Subscribers, the people who unsubscribed, tags, custom fields and whatever consent evidence Buttondown kept — moved in the order that keeps you compliant, without asking a single person to confirm again.

Weighing it up first? Read SendBeam vs Buttondown.

Before you start

What you need from Buttondown.

Your Buttondown CSV export

Subscribers → (select all or none) → Export, top right (the CSV is emailed when it is ready)

email, subscriber_type, creation_date, tags, ip_address, referrer_url, UTM fields, subscription and unsubscription dates, notes and metadata.

Their help page: docs.buttondown.com/data-exports-subscriber

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.

  1. 01 Suppressions firstEveryone who unsubscribed, bounced or complained on Buttondown goes in before a single subscriber. In SendBeam those rows land on the workspace's suppression list: campaigns never reach them, a later import cannot turn them back into subscribers, and they do not count towards your plan's contact limit.
  2. 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.
  3. 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.
  4. 04 Parallel runKeep sending from Buttondown 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.
  5. 05 Cutover with a 30-day unsubscribe syncSwitch your forms over, send from SendBeam and leave the Buttondown 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 Buttondown CSV

SendBeam has no key-based importer for Buttondown, 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

  • email
  • 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 Buttondown export

  • Buttondown's export is the closest fit of the eight: rename creation_date to subscribed_at, ip_address to consent_ip and referrer_url to consent_source, and the tags column is read as it stands.
  • Set a status column to unsubscribed for anyone who has left, so they land on the suppression list before anything is sent.
  • UTM fields, notes and metadata come across as custom fields.

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 Buttondown while you check, switch your forms over and sync unsubscribes from Buttondown 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.
Request a Move-in

What carries over

What arrives with your list.

  • Subscribers with their names, their status and the day they originally joined.
  • The people who unsubscribed, bounced or complained on Buttondown, as suppression entries with their original dates.
  • Tags — and groups, lists or segments that behave like tags — created here as they are matched.
  • Custom fields, keyed by the lower-cased, snake_cased column or field name, ready for merge tags and segment rules.
  • Consent evidence: creation_date, ip_address and referrer_url per subscriber, plus subscribe and unsubscribe dates.

What does not

What no migration carries.

  • Automations. No platform exports them in a form another can run, Buttondown 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.

Consent

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 Buttondown that evidence is: creation_date, ip_address and referrer_url per subscriber, plus subscribe and unsubscribe dates. 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.

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.

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.

  1. 01 Export from Buttondown: Subscribers → (select all or none) → Export, top right (the CSV is emailed when it is ready).
  2. 02 Separate the opt-outs, or check the export carries a status column for them.
  3. 03 Create a SendBeam workspace for the site — one per site, all on one login.
  4. 04 Add the sending domain and wait for it to verify.
  5. 05 Import the opt-outs first, with status set to unsubscribed.
  6. 06 Import the subscribers, keeping subscribed_at and the consent columns.
  7. 07 Read the import summary: imported, updated, suppressed, pending not imported, invalid rows, columns ignored.
  8. 08 Rebuild your forms, swap the embed on your site, and rebuild any automations you rely on.
  9. 09 Send one campaign from SendBeam to a small segment while Buttondown is still live.
  10. 10 Cut over, then pull Buttondown'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 Buttondown while we do it.

Still comparing? SendBeam vs Buttondown · price your own sites · plans

Buttondown is a trademark of its owner and SendBeam is not affiliated with it. The menu paths and export contents above describe Buttondown as read on their own help pages (docs.buttondown.com/data-exports-subscriber) 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.