Mailchimp to HubSpot migration takes 1-3 weeks and is straightforward with proper planning
You can migrate email lists, subscriber data, and contact information directly
Use HubSpot's import tool or Zapier for automatic syncing
Verify email opt-in status and compliance before migration
Re-establish your email automation and segmentation in HubSpot after importing contacts
If you're using Mailchimp for email marketing and HubSpot for CRM, you probably feel like something's missing. These two tools don't talk to each other well, which means you're manually syncing data and missing opportunities to connect your emails with your sales efforts. The solution? Migrate everything to HubSpot, where email and CRM live in the same place.
This guide walks you through the entire process of moving your Mailchimp lists, subscribers, and email history to HubSpot.
Let's be honest: Mailchimp is great at what it does—email marketing on a budget. But it exists in a silo. Your email data doesn't connect with your sales data, which means you can't see the full picture of your customer.
HubSpot solves this by bringing everything together:
Unified contact information — One place to see everything: emails, calls, deals, meetings
Sales and marketing alignment — Your sales team can see every email your marketing team sent
Smarter automation — Send emails triggered by sales activity or vice versa
Better attribution — Track which emails actually led to revenue
Companies switch because they realize that email marketing divorced from sales is leaving money on the table.
Before you do anything, you need to know what you're moving.
Take inventory of:
Total subscribers — How many email addresses do you have?
List structure — How many separate lists do you have? (Mailchimp lets you organize by segment)
Custom fields — What extra information do you collect about each subscriber? (Name, company, job title, etc.)
Subscriber status — Which subscribers are active, unsubscribed, bounced, or complained?
Campaign history — Do you need to keep records of past campaigns?
Automations — Which Mailchimp automations are you currently running?
Integrations — What other tools are connected to your Mailchimp account?
This assessment tells you the scope of your migration and what you'll need to recreate in HubSpot.
Not all of your Mailchimp data needs to move to HubSpot. Some lists might be outdated or irrelevant.
Decide what to migrate:
Active, engaged subscribers — Definitely migrate these. They're your audience.
Unsubscribed contacts — Yes, migrate these too. You need to respect their opt-out status.
Bounced or complained addresses — Consider not migrating these. They're low quality.
Old lists you don't use — Ask yourself: do we really need this list? If not, leave it behind.
For each list you're keeping, note:
The list name
Number of subscribers
Any custom field mappings
The subscriber status for each person
This becomes your migration checklist.
This is the step that makes the biggest difference. Mailchimp lists often have duplicates, fake test emails, and incomplete records.
Clean your data by:
Remove test accounts — Delete any fake emails you used for testing
Merge duplicates — Look for emails with slightly different formats (john@example.com vs. john.smith@example.com)
Identify invalid emails — Use a validation tool to check that emails are properly formatted
Remove inactive subscribers — If someone hasn't opened an email in 12 months, consider leaving them behind
Fix capitalization and spacing — Make sure names are formatted consistently
Complete missing fields — Fill in any critical information you're missing
This cleaning step is crucial because Mailchimp doesn't require much data, but HubSpot works better with clean, complete records.
Now it's time to actually get your data out of Mailchimp.
To export from Mailchimp:
Log into your Mailchimp account
Go to Audience → All Contacts
Click the Export button
Choose Export contacts as CSV
Select which fields to include (email, first name, last name, any custom fields)
Download the file to your computer
Do this for each list you want to migrate. You'll end up with one CSV file per list.
Note: If you have multiple lists, you can combine them into one master list in HubSpot, or keep them separate as "lists" (which HubSpot calls "segments").
HubSpot has specific requirements for how data is formatted. You'll need to adjust your Mailchimp export to match.
Format your CSV file:
Column headers — The first row should be HubSpot property names
- Mailchimp uses "Email" → HubSpot uses "Email"
- Mailchimp uses "First Name" → HubSpot uses "Firstname"
- Mailchimp uses "Last Name" → HubSpot uses "Lastname"
Email addresses — Must be unique and valid
Names — Use separate columns for first name and last name
Phone numbers — Format as (XXX) XXX-XXXX or +1-XXX-XXX-XXXX
Dates — Use YYYY-MM-DD format
Custom fields — Map to custom properties you've already created in HubSpot
HubSpot has documentation on proper formatting, or you can use a CSV preparation tool to clean your data automatically.
If Mailchimp had custom fields that don't exist as standard HubSpot properties, you'll need to create them first.
To create a custom property in HubSpot:
Go to Settings → Properties → Contacts
Click Create property
Name it the same way you have it in your CSV file
Choose the property type (text, number, date, dropdown, etc.)
Set it as optional (unless it's required for your process)
Click Create
Do this for each custom field you want to bring over. You can create multiple properties at once to save time.
This is the moment where your Mailchimp data becomes HubSpot contacts.
To import contacts into HubSpot:
Go to Contacts → Contacts
Click the Import button in the top right
Select Upload file
Choose your prepared CSV file
Click Continue
Map your CSV columns to HubSpot properties
- The system will try to match automatically, but verify the matches
- Make sure Email is mapped correctly (this is critical)
Choose your import settings:
- Create new contacts — Check this
- Update existing contacts — Check this if you might have duplicates already in HubSpot
- Update property only — Choose whether to update properties that are already filled
Review your import preview
Click Import
The import usually completes in a few minutes to an hour, depending on how many contacts you have.
After the import finishes, don't just assume it worked. Check it.
Verify by:
Check record counts — Did you get roughly the same number of contacts as you had in Mailchimp?
Spot check random contacts — Open 20-30 random contacts. Are their names, emails, and custom fields populated correctly?
Check custom properties — Do your custom field values appear in HubSpot?
Look for duplicates — Did the import create duplicates of existing contacts?
Test searches — Search for a specific contact. Does it come up correctly?
If something looks wrong, you can undo the import and try again. It's much better to catch problems now than to live with them.
Now that your contacts are in HubSpot, you need to rebuild your email automations.
Recreate your most important automations:
Welcome series — New subscribers get a series of emails introducing your company
Abandoned cart emails — If you sell products, remind people who left items
Re-engagement campaigns — Target inactive subscribers with a win-back campaign
Regular newsletters — Set up your standard email broadcasts or automated sends
Trigger-based emails — Send emails when someone takes a specific action (signs up, buys, etc.)
HubSpot uses "workflows" to automate these. They work similarly to Mailchimp automation, but with more flexibility because they can trigger on sales activity, not just email behavior.
Pro tip: You don't need to recreate every Mailchimp automation right away. Start with the most important ones and build others over time.
In Mailchimp, you organized contacts into lists. In HubSpot, this concept is slightly different (HubSpot calls them "lists" but they're more like saved views and automations).
Create segments for:
Active subscribers — People who have opened an email recently
High-value customers — Your best customers based on purchase history
Leads — People who haven't bought yet but are engaged
VIP contacts — Your most important accounts
Inactive contacts — People who haven't engaged in 6+ months
You can use HubSpot's smart lists (which update automatically based on criteria) or static lists (which you manually manage).
If you were using Mailchimp just for email but will continue with a different email tool (like ConvertKit, ActiveCampaign, or Klaviyo), you might want to integrate it with HubSpot so data syncs automatically.
HubSpot has native integrations with many email platforms. Check your integration marketplace to see if yours is supported.
This is critical: when you migrate email subscribers, you need to respect their consent.
Important compliance rules:
Don't email people who've unsubscribed — If someone unsubscribed from Mailchimp, mark them as unsubscribed in HubSpot
Respect regional laws — GDPR (Europe), CASL (Canada), CAN-SPAM (US)—each has rules
Keep unsubscribe lists — Maintain a do-not-email list of people who've opted out
Document consent — Know whether each contact opted in or was imported from a list
When you import from Mailchimp, HubSpot automatically carries over the subscription status, so if someone was unsubscribed in Mailchimp, they'll be unsubscribed in HubSpot. This is good—it keeps you compliant.
Preparation phase: 3-5 days (inventory, cleaning)
Export and format: 1-2 days
Custom property setup: 1 day
Import: A few hours to a day
Verification: 2-3 days
Workflow recreation: 1-2 weeks
Total timeline: 1-3 weeks