Skip to main content
Meticulosity Global

Platform Migration

How to Perform a Mailchimp to HubSpot Migration: A Gulf CRM Migration Guide


A step-by-step Mailchimp to HubSpot migration for Gulf teams: what happens to subscription status, Arabic name fields and the consent record when the list moves.

By Dr. Ahmed MouradyUpdated August 12, 202612 min read
A long, polished conference table stretches across the room, with chairs arranged in a semicircle around it.

Key Takeaways

  • Use one multiple-object import rather than sequencing two: HubSpot's Create and associate companies with contacts setting invents company records from email domains, and a multiple-object import is documented as exempt from it, so it carries its own associations instead.
  • Subsidiaries on one parent domain do not collapse, because every unique domain including a subdomain gets its own company record. The real damage is that where several companies hold the same domain, HubSpot associates the contacts with one of them and you cannot choose which.
  • Upload the native .xlsx rather than a round-tripped CSV: HubSpot requires UTF-8 whenever a file carries foreign language characters and documents no error for a file that misses it, so the encoding question is one to design out rather than test.
  • Marketing status is set by whatever creates each contact, and the defaults differ: a multi-object import always creates non-marketing contacts, but the non-HubSpot forms switch ships turned on, so a Mailchimp form still live during cutover keeps creating marketing contacts.
  • Split Arabic and English subscription types before the first send, not after: on an EU-hosted portal, which is how signups from this region are provisioned, a newly created type starts every existing contact at Not specified, a state you cannot email until they consent again.

A Mailchimp to HubSpot migration is an export, a clean-up, and a mapped import. The export is the easy part. What decides whether the move was worth making is what happens to subscription status, contact identity and the consent record on the way across, because those are the three you cannot rebuild afterwards.

Migrating your marketing platform from Mailchimp to HubSpot can seem daunting, but the process is well worth it for businesses looking to unlock more advanced automation and more insight into their marketing data.

Why Migrate from Mailchimp to HubSpot?

Because the contact record becomes the system of record instead of the campaign:

  • Unified CRM and Marketing Tools: Unlike Mailchimp, HubSpot integrates marketing, sales, and service operations under one platform, giving you a 360-degree view of your marketing and sales efforts.
  • Advanced Automation: more sophisticated workflows, letting you personalize communications at every stage of the buyer's journey.
  • Comprehensive Analytics: while Mailchimp offers basic reporting, HubSpot reports on revenue attribution and customer behaviour.
  • Scalability: lead scoring, segmentation, and custom dashboards for businesses scaling up.

For most regional teams the driver is consolidation, not email features. Gartner's 2025 B2B buyer survey found technology buying groups now range from 5 to 16 people across as many as four functions, and on an enterprise deal here the room is five to twelve stakeholders in six roles, from the economic buyer to the compliance influencer who never appears in a demo. A tool holding campaign engagement and nothing else cannot say which of those seats is engaged.

What the Migration Decides Before You Export Anything

Three answers have to exist before the first file moves: where the data will be hosted, which field decides that two rows are the same company, and who is on record as agreeing to be emailed.

Hosting is not an implementation choice. HubSpot assigns a portal's data hosting region by IP geolocation at signup, and there is no in-region hosting for the UAE or Saudi Arabia: the five regions are US East, US West, Canada, Australia and the EU in Germany. Signups from the Middle East and Africa have defaulted to the EU region since 19 July 2021, and that is where they stay: HubSpot offers a move to another regional data center only out of its US East data center, and only where the data is already hosted in the United States, so migration back to US East or between two non-US regions is not on offer. There is no later move to fall back on. The region a portal was given at signup is the region the compliance reviewer will be told about, which makes residency a question to answer in the proposal rather than a line in the field mapping.

Which answer is correct depends on where your entity is registered, and that is a trade-licence question rather than a marketing one. A Dubai company inside the DIFC answers to DIFC Data Protection Law No. 5 of 2020, one inside ADGM to the ADGM Data Protection Regulations 2021, and both are separate regimes from the federal UAE personal data protection law.

The consent archive belongs in the audit rather than the demo, because it is an artefact a compliance review asks to see and that review takes an option off the table rather than sending it back for another pass. Saudi readers already keep one archive to a regulator's schedule: the Zakat, Tax and Customs Authority's e-invoicing mandate has required taxpayers to generate and store e-invoices through compliant electronic solutions since 4 December 2021, with an integration phase enforceable from 1 January 2023, rolled out in waves by taxpayer group. A subscription record is not an e-invoice and no tax mandate covers it. Our own reading, not something the mandate says: that is why the consent archive is usually the artefact nobody has been assigned to own when the source system is switched off.

Sequencing that mapping, testing it against real records and agreeing a rollback path before cutover is the substance of HubSpot migration and system consolidation work.

How to Migrate From Mailchimp to HubSpot

Here is the process, in the order that holds up on a regional database.

Step 1: Audit the List You Are Actually Moving

A migration inherits every problem it does not stop at the door, so evaluate what you are carrying over:

  • Audit Your Current Mailchimp Data: look at your email lists, tags, groups, and segmentation rules. Are there inactive contacts you don't need to migrate, or data that needs housekeeping first?
  • Analyze Email Campaigns: review your templates and campaign performance to identify the content worth rebuilding.
  • Align with Business Goals: identify the metrics you want to track, and decide which of them needs a property on the contact record rather than a report.

Add one regional question: which half of this list reads in Arabic. Mailchimp will not answer it, because the export has no column for it, and the answer is bigger than a segment: our own research on MENA CRM buyers finds 72% expect Arabic-language content. A list that crosses without a language value has to be re-profiled contact by contact before it can be sent to properly, so decide that column while the source system is still open to enrich from.

Step 2: Export Your Data From Mailchimp

  1. Export Contacts: in "Audience", click "View Contacts" and select "Export Audience." Mailchimp generates a ZIP file containing your contact list in CSV format.
  2. Export Campaigns: in "Campaigns", select "All Campaigns", then use the drop-down beside any campaign you want to keep and choose "Export as HTML."
  3. Export Reports: download the performance reports from the "Reports" tab. They will not import, but they are your only baseline for judging the first HubSpot sends.

Export the opt-out and unsubscribe records in the same session. Step 5 explains what depends on them.

Step 3: Prepare the File for HubSpot

The file is where a regional list is usually damaged, and the damage is silent.

  1. Get the encoding right first: HubSpot accepts .csv, .xlsx and .xls directly, and UTF-8 is a stated requirement only "if the file includes foreign language characters", which Arabic content always does. Note what HubSpot does not say: it publishes the requirement and no failure mode to go with it, so there is no documented error, warning or behaviour for a file that misses it. Arabic coming back as question marks after a round trip through a spreadsheet CSV export is a practitioner report rather than a HubSpot-documented outcome, and the only corroboration we can point to is that Excel treats CSV and UTF8 CSV as separate save formats. Since HubSpot takes the .xlsx as it stands, uploading that removes the question instead of testing it on a client list.
  2. Map fields deliberately: align the columns with HubSpot's contact properties, and treat the name column as the risky one. Arabic personal names do not split reliably on the first space: multi-part given names and the bin and bint elements mean a legacy full-name column mapped into First name and Last name mislabels a large share of a Gulf list, and the error is invisible to a reviewer working in English.

Step 4: Import Contacts and Companies in One Pass

Before either file moves, open Settings > Data Management > Objects > Companies and read the "Create and associate companies with contacts" checkbox. HubSpot does not publish a default for it, so it has to be checked rather than assumed. While it is on, a contact import creates a company record from each contact's email domain, whether or not you wanted one.

The fix is not an ordering. A multiple-object import that carries its own contact-to-company associations sits outside that setting: HubSpot states the setting will not override the imported associations, and will not create a company for a contact the file left unassociated. So one multiple-object import, or clearing the checkbox first, is what keeps stray companies out of the portal. Sequencing two separate imports does not, and a later company import does not merge against anything: it matches on Company domain name and updates the record already there.

The deduplication keys still decide what matches what. Contact imports deduplicate on Record ID first, then email address; company imports on Record ID, then domain name. What that does to a Gulf group running every subsidiary on one parent domain is not the collapse it is usually described as. Every unique domain gets its own company record, subdomains included, so two divisions on two subdomains stay two records. The failure is quieter: where several company records carry the same domain value, contacts on that domain are associated with only one of them, and HubSpot gives you no way to choose which, so the associations have to be repaired by hand once the contacts exist. Only where records are genuinely merged does the damage become permanent, because a merge cannot be unmerged at all. That structure is common enough here to plan for: Gulf News reported 184 companies relocated their regional headquarters to Saudi Arabia in the first half of 2024, per the Saudi Minister of Economy and Planning.

On an update import a blank cell does not clear an existing value, but a populated one overwrites without a prompt, so a legacy export padding empty fields with N/A or a hyphen rewrites good data in a single pass. Two controls exist and both are worth setting up before the run rather than after it. At mapping time, a single-object import offers a "Don't overwrite" checkbox per mapped property, which is how you protect the fields your team has already cleaned. And Restore CRM changes will roll a portal back to a point up to 14 days ago and let you select an import by name as the change to undo. Read the limits as part of the plan: restoring an import is all or nothing, because the per-property option appears only for manual changes; the window is 14 days and not a day more; and restore needs Marketing, Sales, Service, Data or Content Hub at Starter and above, or Smart CRM Professional or Enterprise, so a portal running the free CRM has no undo at all.

Marketing status is set by whatever creates the contact, and the defaults are not uniform across those sources. A multi-object or multi-file import always creates contacts as non-marketing with no override, while a single-object contacts import carries a "Set these contacts as marketing contacts" checkbox chosen fresh in that import's Details step. A one-off Arabic newsletter file imported that way with the box ticked converts the whole file into marketing contacts in one action, and undoing it is slower than doing it: a contact set back to non-marketing stays marketing, and counted, until the portal's next update date. Know that before deciding how to make someone a marketing contact at scale.

One source is not an import decision at all, and it is the one a migration leaves running. Both form sources create contacts as marketing by default, and the non-HubSpot one is a standing portal setting: at Settings > Marketing > Forms > Non-HubSpot Forms, the switch setting new contacts created through non-HubSpot forms as marketing contacts is turned on out of the box. So every Mailchimp or WordPress-hosted form still embedded on the site during the cutover keeps converting whoever fills it in, against a tier you are still sizing, while your attention is on the import screen. Open that setting before step 8 rather than after it, and decide deliberately whether it stays on.

Opt-outs are narrower than the folklore suggests, and the line HubSpot draws is about who opted out rather than which tool you reach for. A subscription a contact opted out of themselves cannot be added back using bulk actions, and the Manage communication subscription workflow action carries the same restriction while explicitly allowing resubscribe for contacts "previously unsubscribed through user actions in your account, such as manual unsubscribes". An opt-out an admin applied is therefore reversible in bulk and a self opt-out is not, though even a self opt-out can be reversed one record at a time with Resubscribe on the contact. That manual step asks you to select a legal basis where data privacy settings are turned on, and a portal hosted in the EU region, which is how signups from this region are provisioned, has them on by default, so read it as required rather than conditional here. HubSpot documents no required order between importing a subscribed list and an opt-out list, and the two routes are not gated alike: the opt-out list import is available on all products and plans, while the workflow route needs Marketing Hub Professional or Enterprise. What a bulk action cannot undo, a person still can, one record at a time.

Settle the subscription types in the same pass, because this is the decision that is genuinely hard to take later. One type shared by Arabic and English sends means an unsubscribe from either stops both, and splitting by language is directly supported, since a subscription type carries its own Language field. Two things decide whether you can act on that. Custom types need Marketing Hub Starter, Professional or Enterprise, or Content Hub Professional or Enterprise: a portal on HubSpot's free tools can only add basic types to contacts by hand. And on an EU-hosted portal, which is how signups from this region are provisioned, creating a new subscription type starts every existing contact on it at Not specified, a state you cannot email without first obtaining explicit consent, and the property stays unset until that contact opts in or out.

Read that in migration terms: splitting a bilingual type after launch does not divide an audience you already have permission to mail, it creates a second audience nobody may be sent to until consent is recollected. The moment to make the split is while the source list is still open and the consent record is being moved anyway. The choice is also close to permanent afterwards, because subscription types can be archived but never merged or deleted, and renaming one renames its opt-out property with it.

Step 6: Rebuild Your Automations

Automations do not travel; they get rebuilt. Use HubSpot's workflow tool to recreate your Mailchimp sequences, triggering on behaviour such as website visits or form submissions rather than list membership alone; our guide to HubSpot workflows and how to build them covers the build. HubSpot does not import Mailchimp templates either, so use the exported HTML as a reference and rebuild them in the drag-and-drop editor.

Step 7: Test Everything

Send test emails and confirm links, images and formatting render as expected, in both languages if you send in both, and enrol a few contacts to confirm triggers fire. Then open a sample of Arabic contact records and read the name, phone and language fields: the import screen will not tell you they are wrong.

Step 8: Train the Team, Repoint Your Assets, Then Compare

Host a training session so your teams are comfortable with the interface and the new workflows from day one. Replace any Mailchimp sign-up forms embedded on your website with HubSpot forms, and treat that as a marketing-contact task rather than a tidying one, because of the switch in step 5. Update the links and integrations still pointing at the old platform. Then compare your first HubSpot campaigns against the Mailchimp reports exported in step 2.

Where to Start

If your list is bilingual, or your account structure is a group rather than a single company, start with the field inventory and the consent export. Everything above is recoverable at that stage and expensive afterwards.

Whether you're looking for better automation, deeper insights, or a unified CRM system, HubSpot provides the tools you need to elevate your marketing efforts and boost your ROI. If you would rather not run the mapping alone, the Meticulosity Global team is a HubSpot Diamond Solutions Partner, a status held by fewer than 3% of HubSpot partners worldwide, with 12+ years as a HubSpot partner behind the regional bench.

Sources

  1. Gartner: Sales Survey Finds 74% of B2B Buyer Teams Demonstrate Unhealthy Conflict During the Decision Process (opens in new tab)
  2. ZATCA: E-Invoicing Roll-out Phases (opens in new tab)
  3. Gulf News: For First Time, Saudi Arabia's Non-Oil Sector Accounts for 53% of GDP (opens in new tab)

Frequently Asked Questions

Why does HubSpot's UTF-8 requirement matter for migrating an Arabic contact list from Mailchimp?

HubSpot states UTF-8 as required only when a file includes foreign-language characters, which Arabic content always does, and it publishes nothing about what happens to a file that misses the requirement: no error, no warning, no documented behaviour. That silence is the reason to design the risk out. Arabic returning as question marks after a round trip through a spreadsheet CSV export is a common practitioner report rather than documented HubSpot behaviour, and HubSpot accepts .xlsx directly, so uploading the native file removes the question.

Should companies or contacts be imported first when moving from Mailchimp to HubSpot?

Neither, if you can avoid it. Check the Create and associate companies with contacts setting first, because when it is on HubSpot creates a company record from a contact's email domain. A multiple-object import that carries its own contact-to-company associations sits outside that setting entirely, so one import beats two sequenced ones. Contact imports still deduplicate on Record ID then email address, and company imports on Record ID then domain name.

What happens to a Gulf conglomerate whose subsidiaries share one parent domain during a HubSpot company import?

The subsidiaries do not collapse. HubSpot creates a company record for each unique domain, subdomains included, so two divisions on separate subdomains stay two records. What goes wrong is quieter: where several company records hold the same domain value, contacts on that domain are automatically associated with only one of them, and it is not possible to select which, so the associations have to be repaired by hand afterwards. Where records genuinely are merged, that is not reversible at all.

Does importing a subscribed list into HubSpot automatically make those contacts marketing contacts?

It depends on the import type. A multi-object or multi-file import always creates contacts as non-marketing with no override, while a single-object contacts import carries a checkbox to set them as marketing contacts. Ticking it converts the whole file at once, and a contact that was already set as marketing earlier in the same month stays counted as marketing until the portal's next update date.

Can an opt-out be reversed after a Mailchimp to HubSpot migration?

It depends who applied it. A subscription a contact opted out of themselves cannot be added back by bulk actions, and the Manage communication subscription workflow action carries the same limit while explicitly allowing resubscribe for contacts previously unsubscribed through actions inside your own account. So an admin's opt-out is reversible in bulk and a self opt-out is not, though even a self opt-out can be reversed one record at a time using Resubscribe on the contact. That manual step asks for a legal basis where data privacy settings are turned on, which is the default on an EU-hosted portal, so expect it to be required here.

Where does HubSpot host data for a UAE or Saudi Arabia account?

Nowhere in-region: HubSpot's five data-hosting regions are US East, US West, Canada, Australia and the EU in Germany, assigned by IP geolocation at signup, and Middle East and Africa signups have defaulted to the EU region since 19 July 2021. Treat that as settled, because HubSpot offers a move to another regional data center only out of its US East data center and only where the data is already hosted in the United States, so a portal bought here cannot be relocated. Residency is a compliance question to answer before the migration, not a field-mapping decision.

HubSpot Migrations

Ready to Move Off Your Current CRM?

We move your data, content and automations onto HubSpot without breaking reporting or losing history along the way. Migrations run on a mapped timeline with a validation pass before your team ever touches the new portal.