6
min Read Time
-
Miltos Stavridis

HubSpot Data Import Guide (2025): Clean Links, Zero Guesswork

Getting companies and contacts into HubSpot isn’t hard—keeping associations intact and duplicates out is the real game. This guide gives you a practical flow you can repeat any time, plus a light cleanup routine so Sales, Marketing, and CS can trust the data.

Why this approach works

HubSpot’s object model relies on record IDs to associate objects reliably. When you import Companies first, then pull their Company Record IDs back into your lead file, you give HubSpot an unambiguous key to connect every person to the correct account—no guesswork, no accidental dupes.

Prerequisites (quick checklist)

  • Your lead spreadsheet contains contacts and their company reference (e.g., Company Name and/or Domain).
  • You can export/import CSVs and use VLOOKUP/XLOOKUP.
  • You know the HubSpot properties you’ll map (standard + any custom you need).

Step-by-Step: From raw leads to cleanly associated records

1) Prepare a clean Company dataset from your lead file

  • Deduplicate company rows and keep a unique identifier—prefer Company Domain (normalize it: drop http/https, slashes, subpages).
  • Split addresses into standard fields (Street, City, Postal Code, Region/State, Country).
  • Add any enriched attributes you want on the Company.

2) Import Companies first into HubSpot

  • Import only Companies to let HubSpot create Company Record IDs for each.
  • Wait for processing to complete (large files can take minutes).

3) Export the Company Record IDs

  • In HubSpot, filter companies by Create date or Import name to target your new set.
  • Export at least: Company name, Domain, Company record ID (hs_object_id).

4) Enrich your lead file with those IDs

  • Open both sheets side by side:
    • Sheet 1: “Company Dataset with Record IDs” (your export)
    • Sheet 2: “Lead Dataset with Associated Companies” (contacts)
  • Use VLOOKUP/XLOOKUP on the Domain (or your chosen key) to bring the Company record ID into each contact row.

5) Validate your lookup

  • Spot-check 5–10 random rows and/or 2–5% of the file to confirm correct ID matches.
  • Ensure every contact now has a Company Record ID populated.

6) Export the updated Contacts file (CSV)

  • This is now your master import file for people—with the correct Company IDs included.

7) Import Contacts + Companies together (multi-object)

  • In HubSpot: Import → Start an import → From local → One file → Multiple objects (Contacts and Companies).
  • This mode lets HubSpot associate each Contact to the target Company via its ID.

8) Map your columns precisely

  • Map every contact field (First name, Last name, Email, Phone, etc.) to the right Contact property.
  • Map the Company Record ID column to “Associated company ID.”
  • Choose Create and update records to update existing contacts instead of duplicating them; always include Email as a unique identifier.

9) Post-import verification

  • In Contacts, filter for Associated company ID is known to confirm associations worked.
  • Open a few records and check the Company panel; validate a 2–5% sample.

Data hygiene: fix duplicates before they snowball

Clean data isn’t a “nice to have”—it’s what keeps routing, reporting, and forecasts trustworthy. Build a lightweight routine around HubSpot’s built-in tools, then escalate only when you need bulk power.

How to de-dupe (fast and safe)

  • In HubSpot go to CRM → Contacts → Actions → Manage duplicates (repeat for Companies).
  • Work through the suggested pairs: keep the record with the authoritative identifier (email for Contacts, primary domain for Companies).
  • Don’t auto-merge different legal entities (e.g., adidas.de vs. adidas.ch). Keep them separate and document why.
  • Need bulk edits and formatting fixes? Operations Hub Professional unlocks advanced cleanup—agree the rules with stakeholders first before you batch anything.

Common pitfalls (and quick fixes)

  • Using Company Name as the key
    Different spellings and suffixes create mismatches. Fix: key on Domain; use Name only as a helper.
  • Importing Contacts first
    You won’t have Company IDs and associations will break. Fix: import Companies first, then associate via ID.
  • Skipping the company re-export
    Without fresh Company Record IDs you can’t link at scale. Fix: export, then VLOOKUP/XLOOKUP IDs into the contact file.
  • Mapping the wrong field
    If your “Company Record ID” column isn’t mapped to Associated company ID, links will fail. Fix: double-check the mapping screen before you hit import.

Pro tips from the trenches

  • Normalize domains in your sheet (strip http://, https://, paths, and trailing slashes) before any lookups.
  • Batch by segment/region: import Companies in smaller sets so the re-export stays tidy and your VLOOKUP range is easy to manage.
  • Add a temporary import_batch column on both Companies and Contacts—makes validation, rollbacks, and audits painless.
  • Maintain a one-page runbook with filters used, export fields, the exact formulas, and mapping screenshots so anyone on the team can repeat the process safely.

TL;DR Recipe

  1. Companies out of your lead file → Import to HubSpot
  2. Companies exported with Record IDsVLOOKUP back into the lead file
  3. Contacts + Companies multi-object import → map Associated company ID
  4. Verify associations and dedupe where needed

Follow this flow and you’ll land clean, associated data in HubSpot the first time—no duplicate chaos, no manual re-linking, no lost context.

Frequently Asked Questions

Do I have to import companies first?

Yes. You need Record IDs to associate contacts cleanly.

Can I link by domain only?

You can, but Record ID is safer and future-proof.

What if many contacts don’t have emails?

Expect duplicates or enrich first—Email is the strongest de-dupe key.

We have multiple regions/brands—merge or separate?

Create a rulebook and reject duplicate suggestions that shouldn’t merge.

Do I need Ops Hub Pro?

Not for importing, but it accelerates bulk duplicate/formatting fixes.

Other Articles

7
min Read Time
-
Matteo Treichl

Signals Don't Tell You Who Wants to Buy. Here's What They Actually Tell You

Open any sales newsletter today and you'll find the same promise: monitor "buying signals" and "intent data", then pipeline will follow. The vendors selling these tools have trained an entire generation of GTM teams to believe that a website visit, a LinkedIn profile view, or a competitor keyword search means someone is ready to buy.

It doesn't.

8
min Read Time
-
Eric Mattner

Marketo vs HubSpot Marketing Hub: Why Execution Speed Beats Feature Depth

Marketing automation decisions used to be about “which platform has more features.” In 2026, the real question is simpler: can your marketing team ship revenue work every week without waiting on specialists?

This matters right now because most B2B teams are running leaner, running more channels, and being held accountable to pipeline. If your system forces every meaningful change through a queue of tickets, you don’t just move slower, you run fewer experiments, learn less, and miss timing windows.

This article is for B2B marketing leaders and RevOps teams comparing Marketo vs HubSpot who care about one thing: operational speed with control.

12
min Read Time
-
Eric Mattner

Salesforce to HubSpot Migration in 2026: How to Use HubSpot Smart Transfer (Step-by-Step)

If you’re sunsetting Salesforce, you don’t just need “data moved.” You need usable history in HubSpot: accounts linked to the right people, opportunities preserved as deals, and enough activity context (notes, meetings, tasks, emails) so teams can keep selling without starting from zero.

HubSpot Smart Transfer is built for exactly that: a guided migration that audits what you have in Salesforce, prepares your HubSpot portal (properties, pipelines, users, currencies), then syncs the records in a controlled way.

This is the exact playbook we use for Salesforce → HubSpot migrations—generalized and production-safe.

Scale sales quickly, starting now?

Avoid 6-figure mistakes and scale sales within months instead of years (if ever).