HubSpot Onboarding Checklist for Spreadsheet Migrations
Moving off spreadsheets? This HubSpot onboarding checklist walks you through data cleanup, imports, and setup so nothing breaks on day one.
By Krishnanshu Jaiswal ·
A HubSpot onboarding checklist for spreadsheet migrations should cover four phases: cleaning your data before import, mapping spreadsheet columns to HubSpot properties, importing in small test batches, and configuring pipelines, lifecycle stages, and permissions before your team logs in. Skipping the cleanup step is the single biggest reason imports go wrong.
If your team has been running deals, leads, and customer notes out of a shared spreadsheet, you already know its limits. Version conflicts, no automation, and that one column someone renamed without telling anyone. Moving to HubSpot fixes all of that, but only if the migration itself is done right.
Here’s the thing: importing a messy spreadsheet into a shiny new CRM doesn’t clean the mess up. It just moves it. This checklist is built specifically for teams jumping from Excel or Google Sheets into HubSpot, not for teams switching between two CRMs that already share a data structure.
Why does spreadsheet-to-HubSpot migration need its own checklist?
Spreadsheets don’t enforce structure. Anyone can type “Follow up” in a status column, and ten other people can spell it ten different ways. HubSpot, on the other hand, relies on structured properties (the fields that hold information about a contact, company, or deal) with defined value options.
That mismatch is exactly where migrations fall apart. One vendor’s field guidance points out that if your spreadsheet lists a country as “UK” but the matching HubSpot property only accepts “United Kingdom,” the import simply won’t map that field correctly. Multiply that by every inconsistent column in your sheet, and you can see why prep work matters more than the actual import click.
One industry guide on CRM data quality found that 57% of CRM data issues trace back to flawed imports, and that investing in proper preparation saves weeks of cleanup later. In other words, the hour you spend cleaning columns now saves you a much worse afternoon three months from now when nobody trusts the pipeline numbers.
It’s worth naming why this specific transition, spreadsheet to CRM, breaks more often than a CRM-to-CRM migration. Two established CRMs already share a rough vocabulary: both have contacts, both have deal stages, both enforce some structure. A spreadsheet has none of that by design, it’s flexible precisely because nothing forces consistency, which is exactly what made it usable for a small team and exactly what makes it a mess to import anywhere else.
What should you do before you touch the import tool?
Don’t open the import wizard yet. Do this first.
- Audit what you actually have. Pull every spreadsheet, shared doc, and “final_v3” file your team has been using. Note how many contacts, companies, and deals exist across all of them. This step alone often surprises teams, it’s common to discover three or four parallel versions of what everyone assumed was “the” lead list, each slightly out of date in a different way.
- Deduplicate ruthlessly. If three reps each kept their own copy of the same lead list, you’ve got triplicate records waiting to confuse your reporting. Don’t just merge files and hope for the best, sort by email address or company name and manually resolve conflicts where the same contact has different job titles or phone numbers across copies.
- Standardize your values. Pick one spelling for job titles, deal stages, and lifecycle stages (the stage a contact is in on their journey from stranger to customer) before you import anything. If you’re not sure what a lifecycle stage even is, it’s worth reading a plain explanation of what a HubSpot lifecycle stage is before you map your columns to it. This is also the moment to agree, as a team, on what each stage actually means, not just what it’s called.
- Fix formatting issues. Phone numbers, dates, and long number strings often get mangled by spreadsheet software. A common fix is formatting phone number columns as text rather than numbers so leading zeros or country codes don’t get stripped out. Dates deserve the same scrutiny, a column that looks consistent at a glance can quietly mix MM/DD/YYYY and DD/MM/YYYY formats depending on who entered which row.
- Decide on required fields. HubSpot needs certain properties to create a record at all, like an email address for a contact or a deal name for a deal. Missing those means the row simply won’t import. Scan your source file for blank cells in these columns before you import, rather than discovering the gap in the error file afterward.
Pro tip: before you import your full list, run a test batch of 10 to 20 rows first. It’s a lot easier to fix a mapping mistake on 15 rows than to untangle it from 15,000.
This test-batch step is worth taking seriously even when the full dataset feels urgent to get in. A mapping error that looks trivial on 15 rows, a date field mapping to the wrong property, a picklist value not matching exactly, becomes a genuinely painful cleanup job once it’s propagated across 15,000 records and half your team has already started working inside HubSpot on top of the bad data.
How does the actual HubSpot import work?
HubSpot’s import tool works by auto-mapping your spreadsheet columns to existing HubSpot properties and flagging errors before you finish the import, rather than after. That’s a meaningful safety net, but it only works well if your column headers are clear and your values are consistent, which is why the prep step above isn’t optional.
A few technical details worth knowing going in:
- A single import file can hold over a million rows, but for easier error handling, it’s generally recommended to import in batches of 5,000 to 10,000 records at a time.
- If you’re importing contacts and companies together, include both the contact’s email and the company’s domain in the same file so HubSpot can automatically associate them.
- After the import finishes, download the error file if one’s generated. It shows exactly which rows failed and why, so you’re not guessing.
Honestly, most “HubSpot doesn’t work for us” complaints we hear aren’t a HubSpot problem at all. They’re a garbage-in-garbage-out problem that started with the import.
It’s also worth understanding what auto-mapping actually does versus what it looks like it’s doing. HubSpot will confidently map a column called “Company” to the Company Name property, but it has no way of knowing whether the values underneath that header are actually clean, “Acme Inc,” “Acme, Inc.,” and “ACME” will all import as three separate values unless you standardized them beforehand. The tool catches structural mismatches, a required field left blank, a picklist value it doesn’t recognize, but it can’t catch a data quality problem that’s technically valid, just inconsistent.
What comes after the data is in?
Getting your records into HubSpot is maybe a third of the job. The rest is making sure your team’s actual sales process is reflected in the tool, not a generic template.
- Run HubSpot’s duplicate checker. Even careful prep work misses some duplicates. Let the native tool catch what you didn’t, since it can compare across fields, like phone number and company domain, that are harder to spot manually across thousands of rows.
- Build pipelines that match how your team really sells, not an idealized version of it. If your reps have been skipping steps in a spreadsheet, they’ll skip them in HubSpot too unless the stages reflect reality. A pipeline with eight aspirational stages nobody actually follows produces worse data than a simpler five-stage pipeline your team will genuinely keep updated.
- Set up your lifecycle stages and deal stages so marketing and sales are working from the same definitions of a lead, an opportunity, and a customer. This is where a lot of the “sales says one thing, marketing says another” friction gets baked in permanently if it isn’t addressed before go-live.
- Create a few starter automations. Even something simple, like a workflow (an automated sequence of actions HubSpot runs when certain conditions are met) that notifies a rep when a new deal is created, shows your team the payoff of leaving spreadsheets behind. If workflows are new to you, this beginner explanation of what a HubSpot workflow is is a good place to start.
- Assign one owner. Someone on your team needs to be the long-term admin who owns properties, permissions, and data quality going forward. Onboarding isn’t a one-and-done event; it shifts into ongoing maintenance once you’re live.
Sound familiar? A lot of teams treat the import as the finish line and then wonder six months later why nobody trusts the dashboards. Building this out properly the first time, ideally with a structured [TODO LINK: HubSpot CRM Setup Guide] as your reference, saves you from redoing the same cleanup work twice.
The ownership question deserves more weight than it usually gets during a rushed migration. Without one clearly named admin, small decisions, whether to add a new deal stage, how to handle a property nobody’s using, get made inconsistently by whoever happens to be in the system that day, and the structure you carefully built during onboarding starts drifting within a few months.
Summary
Migrating from spreadsheets to HubSpot goes wrong most often at the cleanup stage, not the import itself, since spreadsheets have no enforced structure and HubSpot’s properties do. Before touching the import tool, audit every spreadsheet version your team has been using, deduplicate ruthlessly, standardize values like job titles and lifecycle stages, fix formatting issues in phone numbers and dates, and confirm required fields like email addresses aren’t blank. A test batch of 10 to 20 rows catches mapping errors while they’re still easy to fix.
HubSpot’s import tool auto-maps columns and flags structural errors, but it can’t catch inconsistent-but-valid data, like three different spellings of the same company name, which is exactly why the prep work matters more than the import click itself. Once records are in, the real work continues: running the native duplicate checker, building pipelines that match how your team actually sells rather than an idealized version, aligning lifecycle stage definitions between sales and marketing, setting up a few starter automations, and naming one long-term admin to own data quality going forward. Onboarding isn’t finished when the import completes, it shifts into ongoing maintenance from that point on.
Frequently asked
How long does a HubSpot onboarding from spreadsheets usually take?
It depends heavily on how many records you have and how messy they are. Simple contact lists with a few hundred clean rows can move over in days; large multi-team datasets with heavy deduplication needs often take several weeks.
Can I import contacts and deals at the same time?
Yes. HubSpot supports importing multiple objects in one file, and it will create separate records for each unless you’re specifically updating existing ones. Just make sure your file includes a common identifier, like an email address or domain, so records associate correctly.
What if HubSpot rejects rows during import?
It’ll generate an error file showing exactly which rows failed and why, usually because of missing required fields or a value that doesn’t match an existing property option. Fix those in your source spreadsheet and re-import just the corrected rows.
Do I need a HubSpot partner to migrate from spreadsheets?
Not necessarily, for a small, clean dataset. But if you’re merging multiple spreadsheets, migrating thousands of records, or dealing with messy historical data, bringing in outside help (like a RevOps consultancy) tends to save more time than it costs.
What’s the biggest mistake teams make when leaving spreadsheets for HubSpot?
Skipping the cleanup step. Teams get excited to start clicking around in the new tool and import their spreadsheet as-is, then spend months untangling duplicates and mismatched fields they could’ve caught in an afternoon of prep.
Want a second pair of eyes on your CRM?
Tell us what feels messy today. A first conversation is for understanding your situation, not pushing a package.
