Mailchimp → FluentCRM: the founder's playbook
Self-host your email marketing on WordPress and stop paying Mailchimp per contact. FluentCRM gives you unlimited subscribers, automations, and segmentation for a one-time $129 — but the migration takes a full day and requires WordPress hosting.
On this page
Why switch in the first place
Mailchimp costs you money every month for software that's effectively the same as FluentCRM. FluentCRM gives you the same workflow with a one-time payment, so the savings compound over the years instead of going straight to the vendor.
Pricing, side by side
Mailchimp (current)
FluentCRM (LTD)
LTDBefore you start
- Block 1–2 days of focused time
- Have your Mailchimp login ready
- Sign up for FluentCRM first (one-time $77 via our link)
- Have your most-used apps' logins ready
- Plan 1 week for parallel testing before you turn off Mailchimp
The migration steps
Export all your Mailchimp data before you do anything else
In Mailchimp, go to Audience → All contacts → Export Audience. Select CSV format. This downloads your full subscriber list with all standard fields (email, first name, last name, subscription status) and any custom merge fields you have created. Also export: (1) your segments — note the filter logic for each one (you will rebuild these in FluentCRM); (2) your tags list; (3) your automation/customer journey summaries (screenshots are fine). If you have multiple Audiences in Mailchimp (Mailchimp charges per contact per Audience), export each one separately. Deduplicate after import.
Install FluentCRM on your WordPress site
FluentCRM is a WordPress plugin — it runs inside your existing WordPress installation. Go to WordPress Admin → Plugins → Add New, search for FluentCRM, install and activate the free version. Then activate your FluentCRM Pro licence key (from your purchase receipt) under FluentCRM → Settings → FluentCRM. FluentCRM stores all contact data in your own WordPress database — on your own hosting. This is the fundamental difference from Mailchimp: you own the data completely, Mailchimp cannot sell it, and your costs do not scale with contact count.
Connect an email sending service (SMTP) for deliverability
FluentCRM does not send emails itself — it integrates with an external SMTP/email sending service. You must connect one before importing contacts. Recommended options: Amazon SES ($0.10 per 1,000 emails — extremely cost-effective for high volume), SendGrid (free up to 100 emails/day, paid plans from $14.95/month for 50k emails), Postmark (excellent deliverability, $1.25/1,000 emails), or Mailgun ($0.80/1,000 emails). For most small lists (<10,000 subscribers, <2 sends/month), Amazon SES costs under $5/month total. Connect your chosen service under FluentCRM → Settings → Email Settings → SMTP/Email Sending Service.
Configure SPF, DKIM, and DMARC records — this is not optional
Deliverability depends entirely on your domain authentication setup. Without SPF and DKIM, your emails from FluentCRM will land in spam regardless of your content quality. In your DNS provider (Cloudflare, Route 53, Namecheap, etc.), add: (1) SPF record — a TXT record at your root domain that authorizes your SMTP provider to send on your behalf (your SMTP provider gives you the exact record); (2) DKIM record — a TXT record with a cryptographic key (also provided by your SMTP provider); (3) DMARC record — a TXT record at _dmarc.yourdomain.com that tells receiving servers what to do with unauthenticated mail. Use mail-tester.com to score your setup before sending to real subscribers.
Import your contacts into FluentCRM
In FluentCRM, go to Contacts → Import. Select CSV import. Upload your Mailchimp export CSV. On the field mapping screen, map each Mailchimp column to the corresponding FluentCRM field: Email → Email, FNAME → First Name, LNAME → Last Name, and any custom merge fields to custom FluentCRM fields you create. For subscriber status: map SUBSCRIBED contacts to FluentCRM status 'Subscribed'; map UNSUBSCRIBED contacts to status 'Unsubscribed' — do not skip this, it is legally required to honour unsubscribes. Map CLEANED (hard-bounced) to 'Bounced'. Create your list in FluentCRM first (Lists tab), and assign imported contacts to it during import.
Recreate segments, tags, and custom fields
FluentCRM uses Tags and Lists — similar to Mailchimp's Tags and Audiences. Create each Mailchimp tag in FluentCRM under Contacts → Tags → Add New Tag. For Mailchimp segments (filter-based groups): FluentCRM has dynamic Segments under the contact filter — recreate each segment's filter logic (e.g. 'Tag is X AND opened campaign Y' or 'Joined in last 30 days'). For Mailchimp Groups (interest-based opt-in groups), use FluentCRM Tags. Custom merge fields from Mailchimp become Custom Fields in FluentCRM: go to Settings → Custom Fields → Add New Field, match the field type (text, number, date, dropdown).
Rebuild your email automations and sequences
FluentCRM has an Automation builder and an Email Sequence feature. For Mailchimp welcome sequences (triggered by list join): use FluentCRM Sequence — create a new sequence, assign it to your list, and add each email as a step with the appropriate delay (1 day, 3 days, etc.). For more complex automations (Mailchimp Customer Journeys with conditionals): use FluentCRM Automation — create a new automation, set the trigger (e.g. 'Contact Added to List', 'Tag Added', 'Link Clicked'), and add actions (Send Email, Add Tag, Wait X Days, Conditional Split). Recreate each branch of your Mailchimp journey as a conditional split in FluentCRM. Test every automation path by subscribing a test email address.
Send a deliverability test campaign and then run parallel for 14 days
Before importing your full list, send a test campaign to 5–10 known-good email addresses across different providers (Gmail, Outlook, Yahoo, corporate). Check: (1) emails arrive in the inbox, not spam; (2) from name and email address are correct; (3) images load; (4) unsubscribe link works; (5) tracking pixels fire correctly (open rate records in FluentCRM). If any test lands in spam, revisit your SPF/DKIM/DMARC setup before sending to real subscribers. Once tests pass, keep your Mailchimp list active for 14 days while you send from FluentCRM — after 14 days of confirmed delivery, cancel Mailchimp.
Gotchas we hit (so you don't)
FluentCRM requires WordPress — this is a hard requirement
FluentCRM is a WordPress plugin. If you do not have a WordPress site, you cannot use FluentCRM without either migrating your site to WordPress or setting up a WordPress installation specifically to host FluentCRM. WordPress hosting (a simple shared host like SiteGround or Bluehost) starts at ~$3/month — still far cheaper than Mailchimp, but it is a prerequisite. If you do not want WordPress, consider SendFox or MailerLite as Mailchimp alternatives instead.
You are responsible for sending infrastructure — Mailchimp handled this invisibly
Mailchimp is an all-in-one platform: it stores your contacts AND sends your emails AND manages deliverability at scale. FluentCRM stores your contacts and builds your emails, but relies on a third-party SMTP service for actual sending. This is not complicated once set up, but it is an extra step. Budget 1–2 hours to set up Amazon SES or SendGrid and configure your DNS records. The upside: you control your sending infrastructure, and you can switch SMTP providers without migrating your entire email list again.
SPF, DKIM, and DMARC are mandatory, not optional
In 2024, Google and Yahoo made DKIM and DMARC mandatory for bulk senders. Without these DNS records, your emails from FluentCRM will be blocked or land in spam for Gmail and Yahoo recipients — which is most people's inbox. Every SMTP provider gives you the exact DNS records to add. The setup takes 15–30 minutes in your DNS panel and immediately improves deliverability. Use mail-tester.com and Google Postmaster Tools to verify your setup before your first real send.
Mailchimp's merge tag syntax is different from FluentCRM's
Mailchimp uses *|FNAME|* syntax for personalization merge tags. FluentCRM uses {{first_name}}, {{last_name}}, {{email}} and {{contact.custom_field_slug}} for custom fields. When you copy any Mailchimp email templates into FluentCRM, do a find-and-replace on all merge tags. A missed *|FNAME|* will appear as literal text in your email — embarrassing but easy to fix if you catch it before sending.
Unsubscribe compliance: honour every Mailchimp unsubscribe
Your Mailchimp export includes contacts with status UNSUBSCRIBED. Import these into FluentCRM with status Unsubscribed — do not skip this step. Sending to unsubscribed contacts is illegal under CAN-SPAM (US) and GDPR (EU), and will damage your sender reputation. FluentCRM automatically suppresses Unsubscribed contacts from campaigns. Also import CLEANED (hard bounce) contacts as Bounced so FluentCRM does not attempt to send to dead addresses.
FAQ
Do I need technical skills to set up FluentCRM?+
What email sending service should I use with FluentCRM?+
Will my Mailchimp automations work the same way in FluentCRM?+
What if my hosting goes down? Will I lose all my contacts?+
Can I migrate back to Mailchimp if I don't like FluentCRM?+
Ready to make the switch?
One-time payment. Forever.