Excel to HubSpot migration
Five spreadsheets into one clean HubSpot instance
The client had over 1,000 records spread across five Excel sheets, with duplicates between them, inconsistent formatting throughout, and none of the fields HubSpot needs to run campaign automation.

The problem
Five separate Excel sheets, each maintained by a different person over several years, each with its own column order and naming convention. Between them sat more than 1,000 records with substantial overlap — the same contacts appearing in two or three files with different spellings and conflicting details. None of the sheets carried the fields HubSpot requires for lifecycle tracking or campaign automation.
Why it mattered
Until the data was consolidated the client could not start any campaign automation at all. Importing the sheets as-is would have created over three hundred duplicate contacts inside HubSpot — a far more expensive problem to unpick once the records have activity history attached to them. The whole marketing programme was blocked behind this one task.
Our approach
- Consolidate and audit — all five sheets merged into a single working file with a source column, so every record could be traced back to where it came from.
- Deduplicate — fuzzy matching across name, company and email surfaced 320 duplicate contacts. Each was merged rather than deleted, keeping the most complete version of every field.
- Map to HubSpot fields — name, email, phone and lifecycle status mapped to their HubSpot equivalents, with formats normalised so the import would not reject rows.
- Verify and import — all addresses run through ZeroBounce, then uploaded via the HubSpot import tool with the field mapping applied.
Before and after
| Source | Records | Format | Issue |
|---|---|---|---|
| Sheet 1 — Sales | ~310 | Excel | Own column order |
| Sheet 2 — Events | ~240 | Excel | Overlaps sheet 1 |
| Sheet 3 — Web | ~190 | Excel | No phone field |
| Sheet 4 — Legacy | ~180 | Excel | Mixed date formats |
| Sheet 5 — Partners | ~120 | Excel | No status field |
| Output | Records | Fields mapped | Status |
|---|---|---|---|
| Consolidated HubSpot import | 1,000+ | Name, Email, Phone, Status | Live ✓ |
| Duplicates merged | 320 | Most complete retained | Merged ✓ |
| Email verification | All | ZeroBounce | Verified ✓ |
The stack
Microsoft Excel
Consolidation, fuzzy-match deduplication and field normalisation.
HubSpot
Destination CRM. Import performed with an explicit field map.
ZeroBounce
Email verification before import, so no dead addresses entered the new system.
Results
“The client began campaign automation on day three with a clean CRM list.”
What we handed over
- Single consolidated master file with source attribution
- Deduplication log listing all 320 merges
- HubSpot field-mapping document
- ZeroBounce verification report
- Completed import into the live HubSpot instance
Related work
Similar projects

CRM & Cleaning · Automotive B2B services
We found 51.4% of their database was unusable

CRM & Cleaning · SaaS startup
3,000 records cleaned — response rates up 35%
Have a problem like this one?
Send us your file or describe the situation. We’ll come back within one business hour with an honest assessment.
Last reviewed · We review every page quarterly for accuracy.