Skip to main content

Migrating from Mailchimp & Mandrill

For years, teams using Mailchimp have had to manage two distinct systems: Mailchimp for marketing newsletters and Mandrill (Mailchimp Transactional) for product receipts and authentication emails. Worse, Mailchimp charges for unsubscribed and inactive contacts, driving up monthly bills unnecessarily. Mailofly unifies transactional sending, broadcast campaigns, and contact audience management into a single developer-friendly platform.

Why Teams Switch from Mailchimp

  • Unified Platform: Send both high-velocity transactional emails and visual marketing broadcasts from the same dashboard, API, and domain reputation.
  • Fair Contact Pricing: Stop paying for contacts who unsubscribed months ago. Mailofly only bills for active sending and engaged audiences.
  • Modern Merge Syntax: Replace quirky *|MERGE_TAGS|* with standard {{variable}} handlebars syntax or React Email components.
  • Instant Developer API: Direct REST API and typed SDKs replace Mandrill’s legacy API endpoints.

1. Syntax Comparison: Merge Tags vs Variables

Mailchimp uses legacy asterisk-pipe tags, while Mailofly uses clean, industry-standard handlebars:

2. Replacing Mandrill Transactional API

If your application sends transactional emails using the Mandrill client library:

3. Migrating Audiences, Tags & Suppressions

Step 1: Export Contacts from Mailchimp

  1. In the Mailchimp dashboard, navigate to Audience → All contacts.
  2. Click Export Audience → Export as CSV.
  3. Mailchimp will generate a ZIP archive containing separate CSV files:
    • subscribed_members_export.csv
    • unsubscribed_members_export.csv
    • cleaned_members_export.csv (Hard bounces and bad emails)

Step 2: Import Suppressed & Unsubscribed Members

Always import your unsubscribed and cleaned (bounced) members first to ensure they are immediately marked as suppressed in Mailofly.
  1. In the Mailofly dashboard, go to Audiences > Contacts.
  2. Click Import CSV.
  3. Upload unsubscribed_members_export.csv and select Mark as Unsubscribed.
  4. Repeat for cleaned_members_export.csv, marking them as Suppressed / Bounced.

Step 3: Import Active Subscribers

  1. Click Import CSV and select subscribed_members_export.csv.
  2. Map your columns:
    • Email Addressemail
    • First Namefirst_name
    • Last Namelast_name
    • Custom tags and groups → Mailofly Custom Properties or Topics.

4. Migrating Marketing Broadcasts

In Mailofly, newsletters and marketing blasts are created using Broadcasts:
  1. Create Broadcast: Choose between our visual rich-text/block editor, raw HTML, or React Email templates.
  2. Audience Segmentation: Target specific groups using Topics (e.g. Weekly Changelog, Special Offers) or dynamic Segments based on subscriber properties.
  3. One-Click Unsubscribe Compliance: Mailofly automatically injects RFC-8058 compliant List-Unsubscribe and List-Unsubscribe-Post headers into every broadcast, ensuring 100% compliance with Gmail and Yahoo 2024+ sender requirements.

5. Webhook Events Comparison

If you listen to Mailchimp Webhooks or Mandrill Inbound/Outbound Webhooks:

Migration Checklist

  • Add sending domain in Mailofly and verify DKIM (mailofly._domainkey) and SPF.
  • Export Mailchimp Audience CSVs (Subscribed, Unsubscribed, Cleaned).
  • Import Unsubscribed and Cleaned contacts into Mailofly Suppressions.
  • Import Subscribed contacts into Mailofly Contacts with Topics and Properties.
  • Update merge tags in your email templates from *|TAG|* to {{variable}}.
  • Replace @mailchimp/mailchimp_transactional code with @mailofly/node.
  • Test transactional sends and broadcast previews.
  • Downgrade or cancel your Mailchimp subscription to eliminate contact storage costs.