# Brevo (Sendinblue) → AcelleMail Migration — Visual Walkthrough

> Export contacts from Brevo, upload to AcelleMail in 6 clicks. UI walkthrough on both sides plus optional API-driven migration for large lists.

- Canonical URL: https://acellesend.com/kb/articles/migrating-from-brevo-sendinblue-to-acellemail
- Author: Martin Keller, SaaS & Business Editor
- Category: Migration & Comparison — Switching from Mailchimp/Sendinblue, cost comparison, data migration
- Content type: tutorial · Difficulty: beginner
- Tags: Acellemail
- Published: 2026-07-04 · Last updated: 2026-08-15
- Reading time: 4 min
- Publisher: AcelleMail Knowledge Base, https://acellesend.com/kb

---

## Before you start

You'll need:

- A Brevo account with contact-list export permission
- An AcelleMail installation up and running
- ~30 minutes for <50k contacts

## Export from Brevo

In Brevo's left sidebar, click **Contacts** → **Lists** → choose the list to export. On the list detail page, click **Export contacts** in the top-right.

Brevo asks for export format — pick **CSV**. The file is prepared in the background; check **Export history** for the download link (usually <2 minutes).

The exported CSV includes: email, all custom attributes (FIRSTNAME, LASTNAME, custom fields), list memberships, opt-in date, blacklist status.

For attribute mapping, note Brevo's field names — they map to AcelleMail's custom fields in the next step.
## 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](https://acellesend.com/plugins/acelle/landing/images/help/kb/import-csv/01-lists-index.png)

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

![List overview](https://acellesend.com/plugins/acelle/landing/images/help/kb/import-csv/02-list-overview.png)

### 2. Click "Import" in the list toolbar

The wizard entrypoint is on the list detail page:

![Import entry point](https://acellesend.com/plugins/acelle/landing/images/help/kb/import-csv/03-import-entry.png)

### 3. Upload your CSV

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

![Upload empty state](https://acellesend.com/plugins/acelle/landing/images/help/kb/import-csv/04-upload-empty.png)

AcelleMail parses the file and confirms detection:

![Upload success](https://acellesend.com/plugins/acelle/landing/images/help/kb/import-csv/05-upload-success.png)

### 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](https://acellesend.com/plugins/acelle/landing/images/help/kb/import-csv/06-map-columns.png)

### 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](https://acellesend.com/plugins/acelle/landing/images/help/kb/import-csv/07-import-entry-revisit.png)

You'll see *Pending* → *Running* → *Complete* 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](https://acellesend.com/kb/articles/ip-warmup-schedule-for-new-sending-servers) for the schedule.

## Rebuilding workflows

Brevo's "automations" map to AcelleMail's **Automation** workflows. Equivalent triggers:

| Brevo trigger | AcelleMail trigger |
|---|---|
| Subscribed to list | Subscribed to list |
| Custom attribute change | Field value change |
| Date attribute matches | Date relative |
| Webhook event | Custom event (API) |
| Email opened/clicked in campaign | Link clicked |

Re-create each automation via **Automations → New automation** in AcelleMail — same drag-and-drop builder, same step types.

## Merge-tag syntax differences

Brevo uses `{{contact.FIRSTNAME}}`; AcelleMail uses `{{ subscriber.first_name }}`. Find/replace patterns:

| Brevo | AcelleMail |
|---|---|
| `{{contact.FIRSTNAME}}` | `{{ subscriber.first_name }}` |
| `{{contact.LASTNAME}}` | `{{ subscriber.last_name }}` |
| `{{contact.EMAIL}}` | `{{ subscriber.email }}` |
| `{{mirror}}` | `{{ web_view_url }}` |
| `{{unsubscribe}}` | `{{ unsubscribe_url }}` |

<details>
<summary><strong>Advanced: API-driven migration for large lists</strong></summary>

For lists >500k or scripted CI-driven sync, both platforms expose REST APIs.

**Export from Brevo via API:**

```bash
curl -X GET "https://api.brevo.com/v3/contacts?limit=1000&offset=0" \
  -H "api-key: <BREVO_API_KEY>" \
  -o brevo-contacts.json
```

Brevo's API returns 1000-row pages; paginate via `offset`.

**Import into AcelleMail via REST API:**

```bash
ACELLE_TOKEN="..."
ACELLE_LIST_UID="..."

jq -c '.contacts[] | {email: .email, first_name: .attributes.FIRSTNAME, last_name: .attributes.LASTNAME}' brevo-contacts.json \
  | while read subscriber; do
      curl -X POST "https://acellemail.com/api/v1/subscribers" \
        -H "Authorization: Bearer $ACELLE_TOKEN" \
        -d "{\"list_uid\":\"$ACELLE_LIST_UID\",\"subscriber\":$subscriber}"
    done
```

The CSV-through-UI path is faster for one-time migration; API path is for scheduled sync.

</details>

## Related articles

- [Importing contacts CSV — best practices and field mapping](https://acellesend.com/kb/articles/importing-contacts-csv-best-practices-and-field-mapping)
- [Migration from Mailchimp to AcelleMail](https://acellesend.com/kb/articles/migrating-from-mailchimp-to-acellemail)
- [Building a welcome email series in AcelleMail](https://acellesend.com/kb/articles/building-a-welcome-email-series-in-acellemail)
- [Email list hygiene](https://acellesend.com/kb/articles/email-list-hygiene-clean-your-list-for-better-deliverability)

---

## Related articles

- [MailerLite → AcelleMail Migration — Visual Walkthrough](https://acellesend.com/kb/articles/migrating-from-mailerlite-to-acellemail): Export subscribers from MailerLite, import into AcelleMail in 6 clicks. Visual walkthrough on both sides with API-driven option for large lists.
- [Mailchimp → AcelleMail Migration — A Visual Walkthrough](https://acellesend.com/kb/articles/migrating-from-mailchimp-to-acellemail): Export contacts from Mailchimp's Audience screen, import into AcelleMail in 6 clicks. This guide covers the UI on both sides; advanced API-driven migration in the collapsible section for power users.
- [Klaviyo → AcelleMail Migration — Visual Walkthrough](https://acellesend.com/kb/articles/migrating-from-klaviyo-to-acellemail): Export your Klaviyo profiles as CSV, import into AcelleMail via the 6-click wizard. Visual walkthrough plus power-user API path for large Klaviyo accounts.
- [ConvertKit (Kit) → AcelleMail Migration — Visual Walkthrough](https://acellesend.com/kb/articles/migrating-from-convertkit-kit-to-acellemail): Export subscribers from ConvertKit (now Kit), import into AcelleMail in 6 clicks. Visual walkthrough on both sides with API-driven option.
- [ActiveCampaign → AcelleMail Migration — Visual Walkthrough](https://acellesend.com/kb/articles/migrating-from-activecampaign-to-acellemail): Export contacts from ActiveCampaign, import into AcelleMail in 6 clicks. UI walkthrough plus optional API migration for large accounts.
