Marketing · Internal

List Import
Guide

Everything you need to confidently import a contact list into HubSpot — from data prep to campaign assignment.

"List imports touch data quality directly, so following each step matters. Use the checklist and/or feel free to submit a support or QA request whenever you want a second pair of eyes."
Before you start

Import Requirements at a Glance

Every import must cover these six areas. The checklist at the bottom walks you through each one in detail.

📧
Required Fields
Email, first name & last name are required fields to be synced with Salesforce.
⚠️
Error Management
It is important to review and resolve import errors when it occured
🔁
Duplicate Management
HubSpot or Salesforce might flag records from the import as duplicate and needs to be merged manually.
🏷️
Lead Source
Set carefully — do not overwrite
🏭
Field Mapping
Values from dropdown fields like "Industry" must match HubSpot options.
Campaign Assignment
Must be handled via workflow
🔀
Lead Assignment & Routing
If assigning a specific owner, prevent automatic lead assignment from overriding it
QA
Always QA the import before considering it complete
🎫
In Doubt? Submit a Ticket
RevOps will take care of it
Step 1

Before You Import

Data prep is the most important part. A clean, well-mapped file prevents errors and protects data quality in both HubSpot and Salesforce.

💡
HubSpot uses Properties (the equivalent of Fields in Salesforce) to store contact data. Every column in your file must map to an existing HubSpot property — the column label doesn't need to match exactly, you'll assign the mapping during the import wizard.
⚠️
Salesforce field restrictions apply too. Some fields have specific formats or validation rules in Salesforce that go beyond HubSpot's requirements. For example, Current Attribution must be left blank — Salesforce assigns this automatically. Importing a value into a restricted field will prevent the contact record from syncing between tools until the issue is resolved.
  1. 1 Column mapping — every column in your file must correspond to a HubSpot property. You'll assign them during the import wizard, so labels don't need to be identical.
  2. 2 List clean-up — values must be consistent with the target field type. See the field type reference below before importing.
  3. 3 Email address — HubSpot uses email as the unique contact identifier to avoid duplicates. Email is required on every row. For companies, the domain name is the unique identifier — without it, every row creates a brand new company record.

Field Type Reference

Match your data format to the target field type before importing — wrong format means import errors.

Single Checkbox
Only two values accepted: True or False
Multiple Checkboxes
Each value must exactly match one of the property's predefined options.
Date Picker
Stores a date value. Format can be adjusted during the import wizard.
Number
Numerals or decimal numbers. Phone numbers with regional symbols will be imported.
Radio / Dropdown Select
Each value must exactly match one of the property's predefined options.
Single-line Text
Any alphanumeric string. Most flexible — no format constraints.
Step 2

Campaign Assignment

Campaign assignment and member status must go through a HubSpot workflow to sync correctly with Salesforce.

⏱️
Always add a 10-minute delay after the trigger. This gives HubSpot enough time to synchronize contacts across tools before the Salesforce action fires.
  1. 1 Create a workflow in HubSpot.
  2. 2 Use your imported list as the trigger.
  3. 3 Add a 10-minute delay after the trigger to allow contact synchronization between tools.
  4. 4 Add the Salesforce action — set the correct Salesforce campaign and member status.
  5. 5 Set the Most Recent Campaign Response to the related campaign.
  6. 6 Review and turn on the workflow. Before activating, double-check your trigger, delay, and Salesforce action. Once ready, turn it on — contacts from your static list will need to be enrolled manually. 💡 QA tip: enroll your own email address first to validate the workflow before running it on the full list.
Step 3

Marketing Contact Status

Only update contacts to marketing status if you plan to send them emails. This directly affects billing — and tier upgrades are permanent until renewal.

⚠️
Tier upgrades are automatic and irreversible until renewal. If the marketing contact count exceeds our current tier, HubSpot upgrades us immediately and charges fee effective for the rest of our annual contract. Tiers only go up, never down. Each tier step is 10,000 contacts — once you cross that line, we pay for it.

When & how to update

  1. 1 Only update contacts if you are planning to send them emails. There is no reason to mark a contact as marketing otherwise unless for Ads audience purpose.
  2. 2 Do it after the import. I know that there's an option to update marketing status in the import directly, but it is best practice to do it later on by creating a filtered list or view of the contacts from the import, exclude the categories below, then update the remaining records.
  3. 3 Update from a list or contact view in HubSpot — it's the most controlled and straightforward way to bulk-update status.
  4. 4 This action requires Marketing Plus permission — you should already have it. If you run into a permission error, submit a ticket and RevOps will sort it out.

Who NOT to mark usually as marketing contact

Always try to filter these out before updating. Several are handled automatically by end-of-month workflows — but verify manually before any large update.

Unsubscribed Bounced Email Unknown Unengaged Internal Employees Competitors Partners Vendors Investors Bad Fit Industries Status Disqualified Tier 3
📅
End-of-month updates: Workflows automatically update marketing contact statuses at the end of each month based on the criteria above. A large number of contacts can be affected at once — keep this in mind when planning imports near month-end. Scheduled updates can be reviewed in HubSpot Settings and on the dashboard below.

Monitor usage

Tier example: If you have 29,000 marketing contacts and your current tier cap is 32,000, you'll automatically upgrade once you hit 32,001 — and pay for the 32,000 tier for the remainder of your contract, even if your count drops back below 32,000.

Step 3

Resolving Salesforce Sync Errors

After importing, some contact records may fail to sync with Salesforce. These errors are flagged directly on the contact record and are quick to resolve in most cases.

⚠️
Most sync errors come from a field value that doesn't meet Salesforce's requirements — usually a field that should be blank, or a value in the wrong format. The fix is almost always removing or correcting the offending value, then resyncing.
  1. 1 Open the contact record in HubSpot and scroll to the Integrations section in the right sidebar — sync errors are flagged there.
  2. 2 Click the error to see the reason. HubSpot will identify exactly which field is causing the issue.
  3. 3 Fix the value — in most cases this means removing or updating the problematic field directly on the contact record.
  4. 4 Click Resync on the contact record to trigger a new sync attempt.
  5. 5 Wait for confirmation. The sync usually completes in under a minute. If the queue is busy it may take a little longer — check back shortly after.
Checklist

Import Checklist

Work through each step in order. Your progress is saved automatically — come back anytime.

Full Import Walkthrough
Watch the 3-min video before going through the import
0 / 10 checked
Pre-Import
During Import
Post-Import
Need help?

Questions? Need a Hand?

💬

Send a message

Not sure about a field mapping or workflow step? Drop a message — happy to walk through it together.Done! If needed, request a RevOps QA review for this campaign.

💬 Submit a Ticket