HubSpot

Merging, Importing, and Listing Contacts in HubSpot (and Where It Still Takes a Person)

HubSpot merges duplicate contacts from a record's Actions menu, imports and exports them as CSV or Excel through Settings, and builds lists (active, which auto-update, or static, which don't) off any property or filter you've got. All three are native, no plugin needed. Where it gets harder is keeping your marketing contact count, and your list criteria, accurate once the data a list depends on lives outside HubSpot.

What the native toolkit actually handles

Merging two contact records is a manual action in the UI: open either record, choose Merge, pick the surviving record, and HubSpot combines activity history, associations, and property values, favoring the primary record on conflicts. HubSpot also runs its own duplicate-detection pass in the background and surfaces likely matches for review under Data Quality tools, but it still asks a person to confirm each merge rather than doing it silently on its own.

Import and export are both built in. Import maps a CSV's columns to HubSpot properties, lets you choose whether new rows create records or just update existing ones, and can drop the whole batch into a new static list automatically. Export works the same way in reverse: select contacts (or an entire list), choose a format, and HubSpot generates the file.

Lists come in two flavors. A static list is a fixed snapshot, the people in it at save time, useful for a one-time send or an import batch you want to track. An active list re-evaluates its filter criteria continuously, so a 'customers in Texas with an open deal' list stays current without anyone touching it.

Where marketing contact status and list logic get expensive

HubSpot bills separately for marketing contacts, the subset you actually send email or run ads to, versus the rest of your CRM contacts, which you can keep for free as non-marketing. Flip a contact to non-marketing (manually, or on a list) and they stop counting toward that tier, but nothing does this for you automatically out of the box. A lot of businesses pay for thousands of marketing-tier contacts who haven't opened an email in two years, simply because nobody built a rule to reclassify them.

The other real limit is that a list filter can only see properties already sitting on the HubSpot record. If your actual segmentation logic depends on something that lives in your ERP, your support desk, or a spreadsheet nobody synced over, like last order value or ticket volume, the list builder has no way to reach it, no matter how the filter is written. It can only act on what's already there.

What that looks like built out

Marketing contact status that updates itself

A contact who hasn't engaged in six months, or who was only ever a vendor and not a prospect, gets reclassified to non-marketing automatically on a schedule, instead of a person reviewing the list by hand once a quarter.

List criteria that reach past HubSpot

Order history from your accounting system or ticket counts from your helpdesk land on the contact record as a synced property, so your lists can finally filter on the thing you actually care about, not a proxy for it.

What does your contact list actually need to know?

If the real answer to a segment is sitting in another tool, that's a sync, not a new HubSpot field someone updates by hand.

Let's talk

Paying for marketing contacts who never open anything?

Tell us how your marketing contact count and your lists got built, by hand, by a one-time import, or by a filter that's gone stale. We'll look at what's quietly costing you and what a sync from outside HubSpot would actually fix. Contacts are one example; n-frames automates whatever's manual anywhere in your business, HubSpot or otherwise.

Let's talk

Frequently Asked Questions

What is a marketing contact in HubSpot?+
A contact HubSpot counts toward your paid marketing tier because you're actively sending them email, including them in ads, or otherwise marketing to them. Non-marketing contacts stay in your CRM (deals, tickets, notes, everything) but don't count toward that limit, which matters if you're holding a lot of contacts you track but don't actually email.
How do I change a contact to non-marketing in HubSpot?+
Open the contact record and change the Marketing contact status property directly, or select contacts from a list view and use the bulk action to update it for all of them at once. There's no automatic reclassification built in; someone (or something) has to make the call.
What's the difference between an active and a static list in HubSpot?+
An active list re-runs its filter continuously, so membership changes on its own as contacts' properties change. A static list is frozen at creation, it doesn't add or drop members unless you edit it by hand. Use active for anything ongoing, static for a one-time batch like an import or a specific campaign send.
Is there a limit on how many contacts HubSpot can hold?+
The CRM itself doesn't cap total contacts the way it caps marketing contacts; you can store a large number of non-marketing contacts without it affecting your plan cost. The marketing contact tier is what actually has a ceiling tied to your subscription.
Can I merge more than two contacts in HubSpot at once?+
Not natively. HubSpot's merge tool combines two records at a time, so three or more duplicates of the same person takes several manual merges in sequence. For a one-time cleanup of a large, messy import, that adds up fast.

Let's talk

Tell us the one thing your team does manually that eats up time. We read every message and reply within a day.