TL;DR
- Clean legacy CRM data before HubSpot onboarding, not after. Imported problems become HubSpot problems, and they cost more to fix inside a live system.
- The process runs in four phases: assess what you have, cleanse and deduplicate, standardise to HubSpot's data model, and validate after import.
- B2B SaaS data cleaning has one extra layer most guides skip: product usage fields, trial states, and subscription data need their own mapping rules.
- Plan the work backwards from your go-live date. A realistic cleanup for a mid-size database takes four to eight weeks alongside normal operations.
- A pre-migration checklist and post-import validation list are included below.
Why does legacy CRM data need cleaning before HubSpot onboarding?
Legacy CRM data needs cleaning before HubSpot onboarding because migration copies problems as faithfully as it copies records. Duplicates, dead contacts, and inconsistent fields arrive intact, then spread into lists, workflows, and reports from day one.
The order of operations matters more than teams expect:
- Cleaning before migration happens in a system nobody depends on yet, so mistakes are cheap.
- Cleaning after migration happens inside live automation, where a bad merge can unenroll a contact mid-sequence or fire a workflow on stale data.
- First impressions stick. If reps meet HubSpot for the first time and find duplicate accounts and empty fields, adoption suffers for quarters.
For B2B SaaS teams, there is a second reason: legacy systems often hold product and subscription data in improvised custom fields. Deciding where that data belongs in HubSpot is a design decision, and design decisions made mid-import are usually bad ones. This is the same upstream principle we covered in Top CRM bottlenecks hurting marketing automation, where dirty data sits at number one.
How do you assess legacy CRM data before migration?
Start with a full audit that measures the damage before anyone touches a record. The audit produces the scope, the timeline, and the argument for the resources you will need.
Run these five checks on a full export:
- Volume and age. Count total records per object and bucket them by last activity date. Contacts untouched for two years or more are candidates for archiving, not migration.
- Duplicate rate. Match on email for contacts and domain for companies as a first pass. Note the percentage; anything above a few percent needs a dedicated dedupe phase.
- Field fill rates. For every field you plan to migrate, measure how often it is actually populated. Fields under 20 percent filled usually signal a field nobody used, not data worth carrying.
- Format consistency. Sample fields like phone, country, industry, and job title. Count the distinct formats in each. Ten spellings of "United States" is normal and fixable; the audit just needs to surface it.
- Ownership and orphans. Find records assigned to departed employees and records with no owner at all. Both break routing the moment automation goes live.
Write the results into a one-page findings document. This becomes the shared reference for every decision in the next three phases, and it is the honest baseline for measuring data quality improvement once the project ends.
How do you cleanse and deduplicate legacy records?
Cleanse in a copy of the data, in a defined order, with rules written down before the work starts. Improvised cleanup produces new inconsistencies at the same rate it removes old ones.
The sequence that holds up in practice:
- Archive first. Move records that fail your age and engagement thresholds out of scope. Every later step gets faster when the dataset shrinks.
- Kill dead contacts. Run email verification on what remains and remove hard bounces and clearly invalid addresses. Sender reputation in HubSpot starts fresh; protect it.
- Deduplicate contacts, then companies, then deals. Merge in that order because company mergers depend on clean contracts, and deal reassignment depends on both.
- Write merge rules, not judgment calls. Decide in advance which record survives (most recent activity is the common rule) and which fields win on conflict. Document exceptions as they appear.
- Log everything. Keep a record of every merge and deletion. Three months after go-live, someone will ask where a contact went, and the log is the answer.
Data cleansing strategies differ mostly in tooling, not in sequence. Spreadsheet-based cleanup works for databases in the low tens of thousands; above that, purpose-built dedupe tooling or a services partner saves more than it costs. Teams weighing that decision can use the engagement styles in our comparison of CRM service partners for mid-market SaaS as a starting point, since most partners on that list handle migration cleanup as part of CRM platform services.
How do you standardize legacy data for HubSpot's data model?
Map every legacy field to a HubSpot property before import, and convert free-text fields to controlled values wherever both teams will filter on them. Standardization is what turns imported data into usable segments.
Work through four layers:
- Field mapping. Build a spreadsheet with every legacy field, its HubSpot destination, and its fate: migrate as-is, transform, merge into another field, or drop. Unmapped fields do not travel.
- Picklist conversion. Fields like industry, lifecycle stage, and lead source should become dropdown properties with fixed values, not free text. Agree on the value list with sales before import, because this is a sales and marketing alignment decision wearing a technical costume.
- Format normalization. Standardize phone numbers, country names, and date formats in the export file. HubSpot imports what you give it; it does not repair formats on the way in.
- SaaS-specific fields. Decide where trial status, plan tier, seat count, and product usage summaries live. Custom properties on the contact or company record work for most mid-market teams; heavier product data integration can come later and should not block migration.
This layer of legacy data management is also where you set the rules that keep the database clean after go-live: required fields on forms, validation on manual entry, and property definitions written where every user can read them.
In Webdew's migration work, the mapping spreadsheet is the deliverable clients keep using the longest. It outlives the import itself, becoming the reference document for every new property request and every "why is this field here" question in the year that follows. Treat it as documentation, not scaffolding.
What should you validate after importing into HubSpot?
Validate against the audit numbers from phase one, then trace real records end-to-end. Import success messages confirm the file loaded, not that the data landed correctly, and the gap between those two statements is where migration projects quietly fail.
Post-import checklist:
- Record counts per object match the cleaned source file, minus intentional exclusions.
- Spot-check twenty contacts across different segments: owner, lifecycle stage, and key custom properties all populated correctly.
- Associations survived. Contacts link to the right companies, deals link to the right contacts.
- Historical dates were imported as dates, not text, and time zones did not shift close dates.
- List membership and any imported opt-out statuses carried over; compliance fields deserve their own pass.
- One full workflow test: create a test contact, run it through a routing rule, and confirm the automation reads the new properties correctly.
Schedule a second validation two weeks after go-live. Some problems, like a picklist value reps refuse to use, only show up under real usage.