Migrating to GoHighLevel From Another CRM
Contacts move easily. Automations, consent and history need care. Here is the order to migrate to GoHighLevel without losing data or annoying customers.

Short answer
To migrate to GoHighLevel, clean and export your data, recreate custom fields and pipelines first, import contacts and opportunities by CSV or HighLevel's HubSpot importer, then rebuild automations as GoHighLevel workflows. Workflows never transfer between CRMs. Run both systems briefly, with old automations switched off, so customers are not messaged twice.
Migrating to GoHighLevel from another CRM has two halves. Moving data, mainly contacts, deals and notes, is mostly straightforward. Moving logic, meaning automations, sequences, templates and the habits built around the old system, is a rebuild. Plan for the second half and the first takes care of itself.
What imports into GoHighLevel and what does not
| Item | Imports? | How |
|---|---|---|
| Contacts and custom fields | Yes | CSV import, or the HubSpot importer |
| Deals or opportunities | Yes | CSV with pipeline and stage columns, or HubSpot importer |
| Pipelines and stages | From HubSpot, yes; otherwise recreate | HubSpot importer, or by hand |
| Notes, tasks, files | From HubSpot, mostly | HubSpot importer |
| Email and SMS history | Partly from HubSpot (read-only); rarely otherwise | Export for records |
| Automations and sequences | No | Rebuild as workflows |
| Templates and forms | No | Rebuild |
| Consent records | Only if you map them | Custom fields in the CSV |
HighLevel's HubSpot importer documentation lists what transfers, and its CSV import guide covers everything else.
The migration order
- Audit the old system. List every automation, form, template and integration that currently runs. Mark which you still need. Many accounts carry automations nobody can explain.
- Clean the data. Remove duplicates, test records and contacts you no longer have a reason to keep. Migration is the cheapest moment to apply your retention policy.
- Build the structure in GoHighLevel first. Custom fields, tags, pipeline and stages, before any import. The GoHighLevel setup checklist covers the order.
- Map fields. One column per GoHighLevel field, phone numbers in international format (+44), consent status and date in their own columns.
- Import a small test batch of twenty or so records, then check them field by field.
- Run the full import with any workflows that trigger on contact creation switched off. Otherwise every imported contact gets a welcome message.
- Check the import log for errors and fix the failed rows.
- Rebuild automations as workflows, simplifying as you go. GoHighLevel workflow examples covers the ones most businesses need.
- Switch off the old system's automations, then switch on the new workflows.
- Run both systems in read-only parallel for a couple of weeks before cancelling the old one.
The mistake that annoys customers
Double messaging. It happens when the old CRM is still sending reminders and follow-ups while new GoHighLevel workflows start doing the same. Customers get two confirmations, two reminders and two review requests, from what looks like two different senders.
The fix is the switch-over moment in steps 9 and 10. Decide a cut-over date. On that date, turn off every automation in the old system, then publish the GoHighLevel workflows. Not the other way round.
Checking the import worked
Do not rely on the import finishing without errors. Spot-check by hand:
- Pick ten contacts you know well and compare every field with the old system.
- Check phone numbers are in +44 format, so SMS actually sends.
- Count opportunities by stage in both systems and make sure the totals match.
- Confirm consent fields came across for contacts who opted in, and are empty for those who did not.
- Search for duplicates created where the same person existed twice under different emails.
Phone numbers and email during migration
If the old system sent texts from a number you want to keep, check whether it can be ported into GoHighLevel before cancelling anything. UK numbers in GoHighLevel also need an approved regulatory bundle before they can send or call, so start that early.
For email, set up GoHighLevel's sending domain before cut-over and keep the old one authenticated until the old system is fully off, so nothing in flight bounces.
Coming from HubSpot specifically
The GoHighLevel vs HubSpot comparison covers whether switching makes sense. If it does, the HubSpot importer saves most of the data work. Note its limits: workflows do not come across, calculated fields become plain text, recurring tasks import as one-off tasks, and deals without an associated contact are skipped. HighLevel also recommends importing into a clean account.
Coming from a spreadsheet or several tools
Many businesses moving to GoHighLevel are not leaving a CRM at all. Contacts live in a spreadsheet, bookings in Calendly, newsletter subscribers in Mailchimp and the rest in someone's phone. The process is the same, with one extra step: merging.
- Export from every source into separate CSV files.
- Combine them into one sheet and de-duplicate on email and phone number. The same customer often appears in three places with slightly different details.
- Keep the best data for each field, and note where marketing consent came from. A Mailchimp subscriber's consent is not the same as a booking customer's.
- Add a source column, so you can tell later which list each contact came from.
- Import into GoHighLevel in one go, with consent mapped to its own fields.
Export checklist before you cancel anything
- Full contact export with every custom field
- Deals or jobs with their status and value
- Notes and activity history, where the system allows it
- Email templates and SMS wording you want to reuse
- A written list of every automation and what it did
- Form field lists from your website forms
- Unsubscribe and suppression lists, so people who opted out stay opted out
The suppression list is the one most often forgotten, and importing a contact who unsubscribed elsewhere as if they had not is an easy way to cause a complaint.
How long it takes
For a small business with a few thousand contacts and a handful of automations, allow a week or two including testing. The time goes on the audit and the rebuild, not the import. CRM automation for small businesses is worth reading before the rebuild, so you design the new automations rather than copying the old ones.
The GoHighLevel guide covers the platform as a whole. If you want the migration planned, imported and rebuilt for you, with a clean cut-over, that is part of my GoHighLevel service.
Related services
Related reading
GoHighLevel
GoHighLevel: The Complete Guide for UK Businesses and Agencies
What GoHighLevel actually is, who it suits, what it really costs from the UK, and the setup decisions that decide whether it saves time or creates a mess.
GoHighLevel
GoHighLevel Setup Checklist
Every setting a new GoHighLevel account needs, in the order that avoids rework and delays, including the UK steps most tutorials leave out.
GoHighLevel
GoHighLevel Workflow Examples That Save Real Time
Eight GoHighLevel workflows worth building, step by step, and the design rules that stop them sending three texts in an hour.
GoHighLevel
GoHighLevel vs HubSpot: Which CRM Is Right for Your Agency or Business?
One is built for agencies running many clients, the other for one company's marketing team. Pricing follows from that, and so does the right choice.