All recipes

HubSpot / File preparation

Prepare a clean contact CSV for HubSpot

A reproducible contact-file cleanup: normalize emails and domains, review duplicates, then map your HubSpot import.

Tested scope

The CSV parsing, normalization, duplicate removal and download round trip are covered by automated tests against the files below. The expected result is two retained rows from four input rows. Importing into a live HubSpot account was not performed for this example.

This worked example uses fictional people and reserved .example domains so you can reproduce the cleanup with the supplied files.

Download input CSV · Download expected output · Open CSV cleaner

1. Work from a copy with stable identifiers

Export the contact fields you intend to import. Preserve any existing HubSpot Record ID column when updating known records. Use Email as the contact identifier when appropriate; Company domain name identifies company records, not individual contacts. Keep your original export unchanged.

2. Clean the sample, then your own file

Open the free CSV cleaner. Load the sample, select Email and Website for normalization, and use Identical cleaned rows. The four-row fixture becomes two rows: one duplicate and one empty row are removed. Download the cleaned file and the review report.

3. Review conflicts and missing information

An email-shaped string is not a verified mailbox. Invalid-looking values are flagged but retained. If you choose Same email matching, the first record wins; use the review report to resolve different names, roles or company fields before import. Do not populate missing information with guesses.

4. Map a small contact import in HubSpot

Use HubSpot’s contact import workflow with a copy of your reviewed file. Map email, firstname, lastname, company, jobtitle and website to the appropriate contact properties. The company column is a contact property here; it does not by itself create a verified company association. Check mappings and update behavior before confirming the import.

5. Verify the imported records before expanding

For your own small test batch, compare the imported identifiers, field values and error report with the CSV. Check existing-record updates as well as new records. Only expand the import after that check. The reserved .example sample is for practice and should not be added to a live sales database.

What this proves

The sample demonstrates repeatable file cleanup: one duplicate and one empty row are removed while the two retained records keep their fields. It does not demonstrate email deliverability, company existence, enrichment accuracy or business outcomes.

Continue with sourced enrichment

When formatting is clean but facts are missing, use AstroFabric enrichment and keep the source evidence with the output. Review results before they reach a live CRM or an outreach system.

Destination reference: HubSpot import-file requirements. Reviewed September 5, 2026.