MailerLite → AcelleMail Migration — Visual Walkthrough

Export subscribers from MailerLite, import into AcelleMail in 6 clicks. Visual walkthrough on both sides with API-driven option for large lists.

Before you start

You'll need:

  • A MailerLite account with subscriber-export permission
  • An AcelleMail installation up and running
  • ~30 minutes for <100k subscribers

Export from MailerLite

In MailerLite's left sidebar, click Subscribers → choose the group/list to export → Export in the toolbar.

MailerLite asks for format (CSV) and which fields to include — select all custom fields you've defined. The file prepares in the background; check Subscribers → Imports / Exports for the download link (usually <2 minutes).

Exported CSV includes: email, name, all custom fields, signup date, opt-in source, segments memberships.

Import into AcelleMail (the same 6 clicks for every source)

Once you have the CSV exported from your previous platform, the import flow in AcelleMail is identical regardless of where the data came from.

1. Open your destination list

In AcelleMail's sidebar, click Audience → choose the list that will receive the migrated subscribers (or create a new one — New list button top-right).

Lists index

You'll see a per-list overview card with subscriber counts:

List overview

2. Click "Import" in the list toolbar

The wizard entrypoint is on the list detail page:

Import entry point

3. Upload your CSV

Drop the CSV file from the previous platform into the upload area:

Upload empty state

AcelleMail parses the file and confirms detection:

Upload success

4. Map the columns

The wizard auto-detects standard columns (email, first_name, last_name) and shows green Mapped to EMAIL chips. Adjust manually for any non-standard column from the source:

Map columns

5. Pick duplicate handling

In the same screen, choose what AcelleMail does when a subscriber already exists in this list:

  • Skip — keep the existing row, don't overwrite
  • Update — overwrite name/tags/custom fields with values from the CSV
  • Unsubscribe — mark existing rows as unsubscribed (rare; used when re-importing an opted-out list)

6. Run the import

Click Start import. The job runs in the background — close the popup, work elsewhere, return to Audience → [list] → Import to see progress:

Import history

You'll see PendingRunningComplete per import job, with rows-imported / rows-skipped / errors counts.

After the import

  • Verify list count matches your expected size (rows that failed validation appear in the Errors column with a downloadable error CSV).
  • Re-tag if needed — for behavioural data that doesn't fit a CSV column (e.g. "opened campaign X"), you may need to re-create the tag via segmentation rules.
  • Pause for warm-up — if the imported list is large (>10k) and your sending IP is new or recently rotated, run a short warm-up campaign to your most-engaged 10% before the full send. See IP warm-up best practices for the schedule.

Rebuilding MailerLite automations

MailerLite's automation workflows map to AcelleMail's Automations. Equivalent triggers:

MailerLite trigger AcelleMail trigger
Joins group Subscribed to list
Updates field Field value change
Anniversary of date Date relative
Completes a form Subscribed to list (form's target list)
Clicks a specific link Link clicked

Merge-tag syntax differences

MailerLite AcelleMail
{$name} {{ subscriber.first_name }}
{$last_name} {{ subscriber.last_name }}
{$email} {{ subscriber.email }}
{$url_unsubscribe} {{ unsubscribe_url }}
{$url_webversion} {{ web_view_url }}
Advanced: API-driven migration with MailerLite's subscribers endpoint

For large MailerLite accounts or scheduled sync:

Export from MailerLite via API:

# MailerLite v2 API token from Integrations → API
curl -X GET "https://connect.mailerlite.com/api/subscribers?limit=100&page=1" \
  -H "Authorization: Bearer <MAILERLITE_API_TOKEN>" \
  -H "Accept: application/json" \
  -o mailerlite-subscribers.json

Paginate via page; MailerLite returns max 100/page.

Import into AcelleMail:

ACELLE_TOKEN="..."
ACELLE_LIST_UID="..."

jq -c '.data[] | {email: .email, first_name: .fields.name, last_name: .fields.last_name}' mailerlite-subscribers.json \
  | while read sub; do
      curl -X POST "https://acellemail.com/api/v1/subscribers" \
        -H "Authorization: Bearer $ACELLE_TOKEN" \
        -d "{\"list_uid\":\"$ACELLE_LIST_UID\",\"subscriber\":$sub}"
    done

Related articles

8 Kommentare

6 Kommentare

  1. anna.k.pm
    Year 1 cost ended up matching this guide's estimate almost exactly. Year 2 was even better because the VPS upgrade we needed was a one-time $20/mo bump.
  2. linhvu.dev
    reading this 2 weeks into our mailchimp migration. the 8-week timeline is conservative but accurate — we tried to compress to 4 weeks and got bitten by exactly the dns warmup mistake you describe.
  3. v.petrova.ru
    Bookmarked. We're evaluating a move next quarter and this is the most operationally-realistic guide I've found.
  4. jmorrison.itop…
    Did this last year. Confirming: the cron + worker setup is 80% of the install pain. Once those are running, the rest is documentation-following.
    1. admin
      Solid case study material here. If you're open to it, we'd love to write this up as a blog post — happy to credit you anonymously or otherwise.
  5. cmendoza.mx
    If your Mailchimp account has automations triggered by tags, document them carefully BEFORE export — the audit log goes away when you cancel the account and youll need that reference during the rebuild.
  6. priya.iyer.ops
    For the IP warmup — is dedicated IP worth it at 25k subscribers? Or stick with shared SES? anyway
    1. admin
      We're aware of the silent-bail-out on deleted customers — there's an open issue for it. Workaround for now: monitor the campaign:rerun log for absence of expected log lines, alert when silent for > 20 min.

More in Migration & Comparison