OpSkills

See what GoHighLevel replaces in your stack — use the Stack Calculator.

CRM & Lead Management · Updated October 25, 2026 · 9 min read

Migrate HubSpot to GoHighLevel Without Importing the Junk Drawer

HighLevel's native HubSpot Importer can now filter contacts, deals, companies and tasks by created or last-modified date before you import. That one step decides whether your new CRM starts clean or starts with every dead lead you ever collected.

Disclosure: I earn a commission if you sign up for GoHighLevel through links on this page. How that works is in the editorial policy.

The most expensive part of leaving HubSpot was never the export. It was importing six years of dead contacts into a fresh CRM, building smart lists around them, and then paying to text people who stopped caring in 2021. If you’re planning to migrate HubSpot to GoHighLevel, HighLevel’s importer now lets you leave the junk behind before it ever lands.

That’s the whole post, really. But the details decide whether it works, so let’s go through them — straight from HighLevel’s changelog and help article, with how you’d set it up.

The migration nobody budgets for is the cleanup

Here’s how most migrations actually go. Someone decides to switch. They export everything — every contact, every deal, every company record from every trade show list anyone ever uploaded. They import it all into the new CRM. Day one, the database looks impressively big.

Day thirty, nobody trusts it. Half the “leads” are bounced emails. The pipeline has deals from a sales rep who left two years ago. Somebody sends a reactivation blast to the whole list and the unsubscribes roll in.

You’ve probably watched a version of this. Most operators have. I’ve seen the same pattern on WordPress-to-GHL migrations — the move is the easy bit, the cleanup is what eats the month. The cost isn’t the import. It’s everything you have to do afterwards because of what you imported — which is the bit of the migration cost reality in GoHighLevel vs HubSpot that people underestimate most.

HighLevel now pulls straight from HubSpot. No CSV.

First, the part that was already there. HighLevel’s HubSpot Importer connects to your HubSpot account and brings data over directly. Per the changelog and the help article (modified Oct 22, 2026), it covers:

The help article’s path: from Contacts, Companies or Opportunities, open the Import menu in the top-right, select Import data, then Connect HubSpot and sign in.

You choose which objects to bring over, review the record counts, pick specific properties if you need to, and confirm. The changelog notes the import runs in the background, so you can leave the page, and existing matching records are not overwritten.

One availability note. Neither source says which plans or account types get the importer. If you see the HubSpot option in your Import menu, you have it. If you don’t, ask HighLevel support before you plan a client migration around it.

Before you click anything, take ten minutes on the data architecture side. HubSpot properties land as custom fields. Decide now which ones deserve to exist in the new account — not after the import has created all of them.

Two dates decide what’s worth moving

Now the new part. HighLevel’s latest changelog entry added filters at the Preview step. Click the pencil icon on any records row — Contacts, Deals, Companies, Tasks — and you can filter that object by one of two fields:

You can use relative ranges like “In the last 6 months” or “This quarter,” or exact dates. Conditions combine with AND or OR via “Add nested filter,” there’s a single action to apply the same conditions to every selected object, and the record counts update immediately — so you see how many records were found and how many will actually be imported before you commit. Leave the filters empty and it imports everything.

Two small details. “In the last” excludes today, per both sources. And the two sources describe the conditions differently — the changelog lists On, Before, After and Between, while the help article lists “Is” and “Is not” with Relative, Exact date and Rolling range value types. Same idea, different labels. Trust whatever your screen shows.

So which date should you use? Here’s my opinion, not a tested benchmark: Last Modified is usually the more useful filter. A contact created five years ago who booked a call last month is very much alive. A contact created last spring who’s never been touched since probably isn’t. Created Date tells you how old a record is. Last Modified tells you whether anyone — or anything — has cared about it recently.

For most service businesses, “Last Modified in the last 12 months” is a sensible first cut. Look at the count, then decide. If it’s still huge, tighten it. If it looks too small, loosen it. The live count is the whole point.

One caveat: HubSpot’s “last modified” can change for automated reasons, not just human ones, so it isn’t a perfect engagement signal. It’s a filter, not a lead score. And owner and lifecycle-stage filters are listed as not available yet in the help article — so you can’t filter to “only Jane’s customers” here.

Flip one setting before you click Import

This is the step people skip and then email support about. HighLevel’s help article lists prerequisites before you start:

  1. Turn on Allow duplicates for both Contacts and Opportunities.
  2. Use a clean account where possible, with English recommended as the account language.
  3. Test imports in a new or non-production location before importing into one you actively use.

Yes, the third one is annoying when you’re keen to get moving. Do it anyway. Run your filtered import into a test location, check the results, check a handful of contacts by hand, then run it for real. The help article also says to re-enable de-duplication afterwards, so put that on your post-import checklist.

What won’t come across (read this before you promise a client)

You’d think a native importer moves everything. It doesn’t. Per the help article:

And the big one: the importer’s list doesn’t include workflows, sequences or automations. Neither source says they migrate, so plan to rebuild them. Honestly, that’s the healthier outcome anyway — a HubSpot workflow ported line by line is rarely the workflow you’d build today. Rebuilding pipelines is a good moment to design stages that mean something, which is exactly what pipelines that predict revenue walks through.

If you’re doing this for a client, put those lines in the proposal. “The importer moves your data, not your automations” is a much easier conversation before the migration than after it.

Read the Import History like an auditor

When the import finishes, don’t just glance at the green tick. The help article describes an Import details view with four cards — Total records, Success, Errors and Imported with warnings — and a live processing percentage while it runs. To get the full error list, filter the record view by Error status and download it as a CSV. The original changelog also mentions filtering results by object and status.

Open the error CSV. Read it. Errors cluster — the same missing field or the same deal-without-a-contact problem, over and over. Fix the pattern in HubSpot or adjust your filter, and rerun only what failed.

Is it worth switching at all?

That’s a bigger question than this post, and it’s mostly a money one. The real cost of GoHighLevel in 2026 and the CRM pillar are the places to start. Published list prices are $97, $297 and $497 a month for Starter, Unlimited and Agency Pro, per GoHighLevel’s pricing page (checked Oct 2026) — but the bill that matters includes messaging, which is exactly why importing fewer dead contacts matters.

FAQ

Can you import directly from HubSpot into GoHighLevel?

Yes. HighLevel’s help article says to open the Import menu on Contacts, Companies or Opportunities, choose Import data, then Connect HubSpot and sign in to your HubSpot account. You pick the objects to bring over, review record counts, and confirm. The import runs in the background.

What does the GoHighLevel HubSpot Importer bring over?

Contacts, deals as opportunities, companies, contact/company/deal properties as custom fields, pipelines and stages, notes, emails, tasks and supported associations, according to HighLevel’s changelog and help article. It does not list workflows or automations, so plan to rebuild those.

Can I filter which HubSpot records get imported into GoHighLevel?

Yes. At the Preview step, click the pencil icon on a records row to filter Contacts, Deals, Companies or Tasks by HubSpot Created Date or HubSpot Last Modified Date. You can use relative ranges such as “In the last 6 months”, combine conditions with AND/OR, apply the same filter to all objects, and watch the record count update before you confirm.

Why does the HubSpot importer say to turn on Allow duplicates?

HighLevel’s help article lists turning on Allow duplicates for both Contacts and Opportunities as a prerequisite before you start. It also recommends a clean account, English as the account language, and testing in a new or non-production location before importing into one you actively use.

What doesn’t the HubSpot importer support?

Per HighLevel’s help article: recurring tasks aren’t supported, opportunities with no associated contact can’t be imported, opportunities link to up to 10 additional contacts, imported emails are read-only, and calculated fields arrive as single-line text. Filtering by owner or lifecycle stage isn’t available yet.

Should I import every HubSpot contact into GoHighLevel?

My opinion: usually not. Every contact you import is one you’ll segment, deduplicate and possibly pay to message. A last-modified filter covering roughly the last year is a sensible starting point for most service businesses, with older records kept in a HubSpot export as an archive rather than in your live CRM.

What to do this week

Make a test location. Connect HubSpot. At the Preview step, set “Last Modified in the last 12 months” on Contacts, apply it to all objects, and write down the before-and-after counts. Run the import, read the Import History, open the error CSV.

And the contacts you did bring over that have gone quiet? Don’t blast them. Put them through a proper 90-day win-back workflow instead.

The export was never the expensive part. The junk drawer was. This time, leave it in HubSpot.

Free PDF · No signup tricks

Free: The GHL Workflow Playbook

7 battle-tested GoHighLevel workflows you can steal today. No fluff, no upsell.

Delivered to your inbox in 60 seconds. Unsubscribe anytime.

Keep reading

Related posts