Blog

Are duplicates inflating your HubSpot Marketing Contacts bill?

Written by Jonas | April 17, 2026

HubSpot charges based on the number of Marketing Contacts in your portal. Not unique people. Contacts. And if your CRM has grown through form submissions, Apollo or ZoomInfo imports, or a Salesforce sync, there's a good chance a meaningful percentage of those contacts are duplicates.

You're paying for every version of that contact HubSpot has on file.

 

How HubSpot Marketing Contacts pricing works

HubSpot's Marketing Hub is priced in tiers: 2,000, 7,000, 10,000, 25,000, 50,000 and upward. Cross a threshold and your bill jumps to the next tier.

A Marketing Contact is any contact marked as eligible for marketing emails and campaigns. The billing logic is simple.
The data quality problem underneath it isn't.

 

Why duplicates inflate the count

Every time someone submits a form with a different email address, gets imported from a new tool, or is created by a Salesforce sync, HubSpot may create a new contact record instead of updating the one that already exists.

The result: the same real person appears in your portal two or three times, with each instance potentially counted as a separate Marketing Contact.

The most common causes:

  • Form submissions - a contact uses their personal email once and work email another time. Two records.
  • Apollo or Clay imports - outbound tools create new records when they can't find an exact email match. Three campaigns, potentially three records.
  • Salesforce sync - the integration creates contacts based on Salesforce records that may already exist in HubSpot under a slightly different format.
  • CRM migrations - importing from a previous CRM brings over whatever duplication already existed there.
  • Manual data entry - someone creates a contact that's already in the system with no deduplication check at the point of entry.

Any HubSpot portal that's been running for more than 12 months with active inbound and outbound programmes will have some level of contact duplication. The question is how much, and what it's costing you.

 

How to estimate your duplicate exposure

Go to Contacts > Actions > Manage Duplicates. This shows HubSpot's native duplicate suggestions based on email and name similarity.

It won't catch everything. HubSpot's tool only surfaces exact or near-exact matches and requires manual one-by-one review. It misses fuzzy matches (Ben vs Benjamin), records with different email domains, and duplicates created through integrations that don't share a common identifier.

If HubSpot is already showing you hundreds of suggestions, the real number is likely higher.

A more complete picture comes from running a full deduplication scan. Koalify scans your entire portal and shows you how many duplicates are flagged across all your matching rules, not just obvious email matches, before you merge anything.

 

The cost calculation

Here's a simple way to think about the financial exposure.

If you're on a 25,000 Marketing Contact plan and 15% of those contacts are duplicates, you're paying for approximately 3,750 contacts that represent people already counted.

The threshold effect is what matters most. If your portal sits at 26,000 contacts and you're on a 25,000-contact plan, you're paying for the next tier. If even a portion of the contacts pushing you over the threshold are duplicates, merging them could drop you back under the limit.

The actual savings vary depending on your portal size, number of integrations, and how long duplication has been building up. What we can say is this: every customer who has run a bulk cleanup with Koalify has reduced their total contact count, and for those near a pricing threshold, that reduction has directly affected their tier.

 

What to do about it

Step 1: Run a duplicate scan. Get a real count of how many duplicates exist in your portal. HubSpot's native tool is a starting point; a dedicated deduplication tool will give you a more complete picture.

Step 2: Check your proximity to a pricing threshold. If you're within 10-15% of your current tier's ceiling, the potential savings from a cleanup are highest.

Step 3: Bulk merge the high-confidence duplicates first. Exact email matches and records created by the same integration on the same date are safe to merge without manual review. Clear the obvious ones first and reassess.

Step 4: Set up ongoing prevention. A one-time cleanup helps today, but without deduplication running in the background, the count will climb again. Every new import, every form submission, every Salesforce sync is a potential new duplicate. Automation that catches and merges duplicates as they arrive is the only way to keep the number stable long-term.

Duplicates won't appear as a line item on your HubSpot invoice. But if your contact count is higher than it should be and you're near a pricing threshold, they're likely a contributing factor.

 

FAQ about HubSpot duplicates and Marketing Contacts

Do duplicate contacts always count as separate Marketing Contacts?

Not automatically. It depends on whether both records have been designated as Marketing Contacts. In most active HubSpot portals, both records will be marketing-eligible unless someone has manually changed the status.

Will merging contacts reduce my Marketing Contact count immediately?

Yes. When two contacts are merged, the secondary record is removed and its data consolidates onto the primary. Your total contact count decreases by one for each merge. HubSpot recalculates your Marketing Contact count on a rolling basis.

How many duplicates does the average HubSpot portal have?

It varies significantly by portal age, number of integrations, and whether deduplication has ever been run. Portals that have never been deduplicated and have been running for two or more years with active integrations commonly have duplicate rates of 10-25% of total contacts.

Can I just delete duplicates instead of merging them?

Deleting removes the record and all its associated activity, including emails sent, meetings logged, and form submissions. Merging preserves everything on the primary record. Unless a record has no meaningful data attached, merging is almost always preferable. Check our guide on deleting inactive contacts.

Does Koalify work on Marketing Contacts specifically, or all contacts?

Koalify deduplicates all HubSpot contact records. Once duplicates are merged, the consolidated records remain whatever status they were set to before the merge.