MailchimpMailchimpHubSpot ContactsHubSpot Contacts10 fields

How to import Mailchimp data into HubSpot

Export your Mailchimp audience and bring those subscribers into HubSpot. This template maps email, name, phone, and the full address to HubSpot contact properties. The MEMBER_RATING and OPTIN_TIME values are combined into the Notes field as 'Mailchimp rating: <1-5> | Opted in: <date>' so reps see engagement context anchored to its label. Mailchimp exports also include TAGS and NOTES columns that don't have a default HubSpot home. The section below explains what to do with each one if you need it.

Try it freeNo credit card needed

Field-by-field mapping

This is the complete column mapping from Mailchimp to HubSpot. The left column is the header in your CSV export. The right column is the HubSpot field it should map to.

MailchimpMailchimp columnHubSpot ContactsHubSpot field
Email AddressEmailemail

TransformLowercased and trimmed

First NameFirst Namefirstname
Last NameLast Namelastname
Phone NumberPhone Numberphone

TransformStandardized to international format (+1, +44, etc.)

AddressStreet Addressaddress
CityCitycity
StateState/Regionstate
ZipPostal Codezip
CountryCountry/Regioncountry
MEMBER_RATING, OPTIN_TIMENotesnotes

Each value is prefixed with its label ('Mailchimp rating: <1-5>', 'Opted in: <date>') and joined with ' | ', so reps see the source context in the Notes field.

TransformCombined with ' | ' separator and label prefixes

Columns we don't use

Your Mailchimp export includes 2 columns this template doesn't map. Each one below explains why, plus the workaround if you want the data in HubSpot.

TAGS

Mailchimp tags export as a comma-separated string in the TAGS column. HubSpot uses static lists rather than free-form tags.

If you need it. After import, create HubSpot static lists matching your Mailchimp tags and add contacts in bulk using a saved view.

NOTES

Mailchimp's NOTES column holds free-text annotations you've added to each subscriber. A push attaches this as a note on each contact it creates, which is a better home for this kind of context than a field. A contact already in your CRM keeps the notes it has.

If you need it. None needed if you push: the column is kept in your file and the push screen offers to attach it as a note on each contact the push creates. A contact already in your CRM keeps the notes it has, so pushing the same file twice does not add a second copy. If you are importing the CSV by hand instead, create a custom multi-line text property in HubSpot and map this column to it.

Formatting and cleanup

Mailchimp exports rarely match the format HubSpot expects. Fix these first.

  1. 1.Lowercases and trims email addresses
  2. 2.Standardizes phone numbers to international format (+1, +44, etc.)
  3. 3.Combines MEMBER_RATING and OPTIN_TIME into the Notes field as 'Mailchimp rating: <1-5> | Opted in: <date>'
  4. 4.Maps Mailchimp's single Address column to HubSpot's address property

Or skip the manual work

Operelio runs this cleanup and mapping for you. Upload your Mailchimp export and download a clean file for HubSpot, or connect HubSpot and push the records straight in. You see what will be created and updated before anything is written.

Try it free

Mailchimp to HubSpot FAQ

How do I export my audience from Mailchimp?

In your Mailchimp audience, go to All Contacts > Export Audience and download the CSV file. The export includes all subscriber fields and metadata.

What happens to unsubscribed contacts?

Mailchimp includes unsubscribed contacts in the export with a status column. This template maps the contact fields but does not set email opt-out status in HubSpot. Check the subscription status column and update HubSpot opt-in settings separately.

Does the Mailchimp star rating (MEMBER_RATING) transfer?

Yes. The MEMBER_RATING value (1 to 5 stars) lands in the Notes field as 'Mailchimp rating: <score>', combined with the opt-in date using a ' | ' separator. If you want it as a numeric property for segmentation, create a custom HubSpot property called Member Rating and re-run this template.

What happens to Mailchimp tags and segments?

The TAGS column doesn't map to a default HubSpot property. See 'Columns we don't use' below for how to recreate them as HubSpot static lists.

Will this create duplicates if contacts already exist in HubSpot?

Operelio decides this, not the importer. A push matches on email, including the additional addresses a merge left behind on a contact, so a row lands on the existing contact rather than beside it. Updates fill blank fields only unless you choose otherwise, and the report shows the split before anything is written. Importing the file by hand follows HubSpot's own rule instead. HubSpot uses email as the unique identifier. Contacts with matching emails update the existing record. New emails create new contacts.