Moving to GoHighLevel from HubSpot, another CRM or a pile of spreadsheets is where many businesses lose leads, history and momentum. Not because the import is hard, but because nobody planned what should move, what should be rebuilt and what should be left behind. Here's the process I use for CRM migrations.
First: what moves, and what doesn't
Set expectations early. In most migrations:
- Moves well: contacts, companies, tags, custom field values, and open deals or opportunities, usually via CSV import.
- Moves with effort: notes, tasks and appointment history, which often need cleaning and mapping first.
- Has to be rebuilt: workflows, automations, email templates, forms and pipelines. No CRM imports another CRM's automation logic, and honestly, a migration is the best chance you'll get to rebuild them properly.
- Usually archived, not moved: old email and SMS conversation threads. Export them for your records rather than trying to force them in.
Step 1: Audit what you have
Before exporting anything, list:
- Every pipeline and its stages, and how deals really move through them
- Every automation, what triggers it, and whether it still matters
- Custom fields that are actually used (most accounts have dozens nobody fills in)
- Integrations: forms, booking tools, payment and accounting software
- Phone numbers and email sending domains currently in use
This is the most valuable hour of the whole migration. It decides what you rebuild, and what you finally get rid of.
Step 2: Clean the data before it moves
- Merge duplicates (same email or phone number)
- Standardise phone numbers to international format, e.g. +1, +44 or +61
- Remove bounced emails and contacts who opted out, and keep them on a suppression list
- Turn messy free-text values into consistent options for tags and dropdowns
Importing dirty data into a new system just moves the mess somewhere more expensive.
Step 3: Design GoHighLevel around how you work now
Don't copy your old setup field for field. Design the pipelines, custom fields, tags and user permissions around how your team sells today. Decide which tags will drive automations, so imported contacts land in the right workflows from day one.
Step 4: Map and import
- Export contacts and deals from the old system as CSV files.
- Map each column to a GoHighLevel field, creating custom fields first where needed.
- Add a tag like imported-from-hubspot to every record so you can find and fix them later.
- Import a small test batch, check it carefully, then import the rest.
- Import opportunities into the right pipeline stages.
Important: make sure imports don't trigger automations by accident. A badly timed import can text thousands of old contacts at once. Pause or exclude imported tags until you're ready.
Step 5: Rebuild the automations (better)
This is where a migration pays for itself. Rebuild the automations that matter, and add the ones you were missing, like a missed-call text-back, reminders and recall. My list of 10 automations every service business should have is a good checklist.
Step 6: Phone numbers, email and compliance
- Phone numbers: keep your existing numbers if you can by porting them, so customers don't notice the switch.
- Email: set up your sending domain with proper authentication before sending campaigns, and start with smaller sends.
- Texting rules: US numbers need A2P 10DLC registration; UK and EU businesses should follow GDPR and PECR; Australian businesses the Spam Act. Bring consent records across with your contacts.
Step 7: Switch over without losing leads
- Run both systems side by side for a short period.
- Move your website forms, booking links and integrations to GoHighLevel.
- Check that every new lead lands in GoHighLevel and triggers the right automations.
- Train the team, then switch the old system to read-only.
- Cancel the old subscription only after a clean week.
Common migration mistakes
- Importing everything, including years of dead leads and duplicates
- Recreating every old custom field instead of designing fresh
- Imports that accidentally trigger SMS or email blasts
- Forgetting forms and integrations that still point at the old CRM
- Leaving out consent and opt-out data
Want your migration handled?
I plan and run GoHighLevel migrations end to end: audit, clean-up, design, import, automation rebuild and switch-over. I'm a software engineer, so I can also script data transformations and integrations that a CSV import can't handle. It starts with a $97 audit, credited toward the work. See pricing or how I work as a GoHighLevel expert.