Skip to content
Start with 100 free verification credits
Qualisend
All articles
Guides / March 31, 2026

How to clean your HubSpot list and cut marketing contacts

6 minutes read

Qualisend team
A HubSpot contact list cleaned via export, verify, and setting dead addresses to non-marketing

Cleaning your HubSpot list comes down to one number: the marketing contact count — the addresses you're allowed to send marketing email to — and one lever moves it: setting a contact to non-marketing. A non-marketing contact keeps its full CRM record but can't receive marketing email and doesn't count toward your billable total, so every dead address you flip comes straight off the invoice without erasing the history that stops a future import from re-adding it.

The hard part is knowing which contacts to flip, and HubSpot won't tell you. Its automatic suppression quietly stops sending to addresses that already hard-bounced or drew complaints, but suppression is not the non-marketing switch, and it never touches the imports, old signups, and typos that have never been mailed. This guide covers the marketing-vs-non-marketing lever and the export → verify → act loop that surfaces the addresses to pull before your next send.

What HubSpot already does for you#

HubSpot's native hygiene is built around automatic suppression:

  • Hard bounces are dropped automatically. Once a contact hard-bounces, HubSpot systematically suppresses them from future marketing email so you don't keep hitting a known-invalid address. Spam complaints are suppressed the same way.
  • Bounces can go global. If an address bounces for certain reasons across multiple HubSpot accounts, it is globally bounced — suppressed for everyone, not just you.
  • Suppression is not deletion. HubSpot stops sending to a suppressed contact, but it does not remove them. The contact stays in your account — and, crucially, still counts as a marketing contact for billing until you change its status or delete it.

HubSpot behavior above last verified against the HubSpot knowledge base, July 2026.

Credit where due: for addresses HubSpot has mailed, this is dependable automatic hygiene. The gap is everything it hasn't mailed yet — and, because HubSpot bills on marketing contacts, that gap costs you money as well as deliverability. And hygiene is only half of deliverability: even a spotless list lands in spam if you haven't authenticated your HubSpot sending domain with SPF, DKIM, and DMARC.

What HubSpot can't catch#

Every mechanism above is reactive: it needs a send and a bounce to fire. That leaves the blind spot every ESP shares:

  • Never-mailed invalid addresses. Contacts imported from another platform, old form fills, and typos captured at signup have never bounced because they have never been sent to. HubSpot has no signal on them until your first campaign — which is exactly when a mailbox provider forms its first impression of you.
  • Disposable addresses accepted at signup that will quietly stop existing.
  • Role addresses (info@, support@) that skew engagement-based scoring and automations.
  • Decayed addresses that look healthy today and will bounce next month.

An imported list is the sharpest case: it arrives with its bounce history stripped, so addresses that were already failing elsewhere look brand new in HubSpot — and each one counts toward your marketing contact tier. Verify before the import, not after the first send.

Step-by-step: export, verify, act#

Direct ESP connections are paused while we rebuild our integrations platform (see integrations), so the dependable path today is the CSV loop — the same flow as the Klaviyo and Mailchimp guides, in HubSpot's terms:

  1. Export from HubSpot. In Contacts, filter to the list or view you want to clean, then export it to CSV (include the email property).
  2. Verify the file. Upload it to Qualisend bulk cleaning — up to 1,000,000 addresses, duplicates charged once — or paste addresses directly. The free plan's 100 credits cover a first sample.
  3. Read the results. Every address returns deliverable, risky, undeliverable, or unknown with a reason code and sub-flags (catch-all, disposable, role, full mailbox), plus the MX provider and probe detail as evidence. Download the cleaned CSV.
  4. Retire the undeliverables in HubSpot. Filter your results to undeliverable, then in HubSpot set those contacts to non-marketing — the cleanest move, because it stops all marketing sends and removes them from your billable marketing contact count without deleting the record. Deleting works too, but loses the history that keeps them from being re-imported later.
  5. Handle everything else per verdict — the table below.

What to do with each verdict#

VerdictHubSpot action
deliverableKeep as an active marketing contact.
deliverable + role flagKeep for transactional and account contact; exclude from engagement-scored automations — see role, disposable & free.
risky + catch-all flagMove to a dedicated list and throttle — see the catch-all guide.
risky + disposable flagSet to non-marketing. The inbox was built to expire.
unknownKeep active and re-verify next clean — greylisting or rate-limiting, not a verdict on the mailbox.
undeliverableSet to non-marketing (or delete). Don't wait for the bounce to prove it.

Marketing vs non-marketing contacts#

This is the HubSpot-specific lever, and it is worth understanding because it is where cleaning actually saves money. HubSpot bills on marketing contacts — the ones you can send marketing email to. A non-marketing contact stays in your CRM with full history but cannot receive marketing email and does not count toward your billable total. Setting a dead address to non-marketing is therefore the HubSpot equivalent of archiving: it stops the sends and takes the contact off the bill, without erasing the record that stops a future import from adding it straight back. Deleting is more final and loses that safety record — reserve it for genuine junk you never want to see again.

Note that HubSpot's automatic bounce suppression does not, by itself, lower your bill: a suppressed hard bounce still counts as a marketing contact until you set it non-marketing or delete it. That is exactly why an export-and-verify pass pays for itself.

How often to re-clean#

There is no universal number, and we won't invent a decay statistic. The real drivers are how fast your database grows and how it is sourced: a double-opt-in list decays slowly, while one fed by imports and lead magnets accumulates junk continuously. Three habits cover most senders:

  • Before any high-stakes send — a launch or seasonal campaign.
  • After any import, before the first send touches it — and before those contacts start counting toward your marketing tier.
  • On a regular cycle sized to your volume, with your per-send bounce rate as the tripwire. If bounces climb toward the warning thresholds, clean now (see why bounce rate matters).

Frequently asked questions#

Does cleaning my list lower my HubSpot bill?#

It can, but only if you act on the results. HubSpot bills on marketing contacts, and its automatic bounce suppression stops sends without changing that count — a suppressed hard bounce still counts until you set it to non-marketing or delete it. Verifying and then retiring the undeliverable and disposable addresses is what actually moves you down a tier.

What's the difference between deleting a contact and setting it non-marketing?#

Setting a contact to non-marketing keeps the CRM record and its history but stops marketing email and removes it from your billable marketing count — the safer choice, because the record prevents a future import from silently re-adding a known-bad address. Deleting erases the contact entirely, which loses that safety net.

Can I verify addresses before they enter HubSpot?#

Yes, and it is the highest-leverage option: verifying at signup through the API keeps typos and disposable addresses out of HubSpot entirely, so they never become billable marketing contacts in the first place. A native HubSpot integration is part of the platform we're rebuilding; until it ships, the CSV loop above is the supported path.

Your reputation, protected.

Clean your first list in minutes. 100 free credits, no card required.

Get started