Migration

Bring your list. Leave the busywork.

Switching costs time, not just money — mostly the time it takes to rebuild your subscriber list column by column. Peak Campaign's importer already knows the shape of a Mailchimp or Constant Contact export, so it does that part for you.

How it works

Four steps, and the file does the rest

This is the actual import flow in the product today — not a mockup of one.

1

Export your list

Download a CSV from your current platform — the standard subscriber export any ESP gives you.

2

Pick the format

Generic CSV, Mailchimp export, or Constant Contact export. Each one already knows which columns to expect.

3

Choose a list, upload

Optionally drop everyone straight into a list. Your file uploads and processes in batches with a live row count.

4

Get a real summary

Imported, updated, skipped-invalid, and skipped-duplicate counts — not just a spinner that disappears.

What maps automatically

Column mapping, done for you

Every preset always catches the email address — the one column an import can't work without. These two go further and pick up the fields each platform exports.

Generic CSV

Works with any export
Email column
  • email, email address, or e-mail
Name column
  • name, full name, or first name
Everything else
  • Any other column becomes a custom field, named after its own header

Mailchimp export

Matches Mailchimp's own column names
Email column
  • Email Address
Name column
  • First Name, falling back to Full Name
Mapped fields
  • Last Name → last name field
  • Phone Number → phone field
  • Address → address field
  • Tags → Mailchimp tags field

Constant Contact export

Matches Constant Contact's own column names
Email column
  • Email Address or Email
Name column
  • First Name
Mapped fields
  • Last Name → last name field
  • Phone - Home → phone field
  • Company Name → company field

Coming from Campaign Monitor, or somewhere else entirely?

We don't have a dedicated preset for every platform yet — Mailchimp and Constant Contact are the two built so far. Generic CSV isn't a lesser fallback bolted on for everyone else: it auto-detects any email/name column by header name, so a Campaign Monitor export, a spreadsheet you maintain by hand, or anything else with an email column imports the same way. You just won't get the extra field auto-mapping the two named presets get — those still land as custom fields, named after their own column headers, nothing is dropped.

The honest details

What happens to messy rows

Real subscriber lists have typos, duplicates, and gaps. Here's exactly what the importer does with them, not a glossed-over "we handle it."

Invalid emails are skipped, not silently dropped

Every row is checked before anything is written. A malformed address is skipped and counted, with a reason, so the summary tells you exactly how many and why — not just a smaller final number.

Duplicates within a file are collapsed

If the same address appears twice in one upload, only the first is imported and the rest are counted as skipped duplicates — your list doesn't end up with the same person twice.

Re-importing merges, it doesn't overwrite

If an address is already a subscriber, a second import merges in the new fields it brings and updates the name if supplied — it never clears a field just because this file didn't include it.

Your list, moved in minutes — not a migration project.

Sign up, pick your format, and upload the same export file you already have sitting on your desktop.