TL;DR
- HubSpot doesn't verify new addresses. It only blocks contacts that have bounced before.
- Marketing email can be suspended above a 5% hard bounce rate in a month.
- Non-marketing contacts aren't billed. Verifying your database tells you which contacts are dead, so you can stop paying for them.
- Export, verify in MailExchange from $0.0058 per email, and re-import the result as a contact property.
Why verify HubSpot contacts?
Bounces. HubSpot's knowledge base lists a hard bounce rate of 5% in a month as one of the limits that can get your marketing email suspended. A form full of typos, an old trade-show list or a bought list can push one send over that line.
Sequences. HubSpot won't enroll a contact who has already bounced, including "global bounces" seen in other HubSpot accounts. It doesn't check new addresses, so the first bounce still lands on your sending domain. Its sequences sender score calls under 3% good, and nothing pauses automatically.
Cost. Marketing Hub bills on marketing contacts. HubSpot says non-marketing contacts "don't count toward your marketing contact tier, and you aren't billed for them." Every dead address still set as a marketing contact is one you're paying for and can never reach.
How to verify your HubSpot contacts
- Export contacts from HubSpot as a CSV. Include the Record ID and Email columns, and limit the export to marketing contacts if that's where the cost is.
- Upload the CSV to MailExchange. Duplicates are free, unknowns are refunded, and your columns are kept.
- Create a contact property in HubSpot, for example Email verification state, with options deliverable, risky, undeliverable and unknown.
- Import the results back into HubSpot, mapping the state column to that property so existing contacts are updated.
- Build an active list of contacts where the property is undeliverable.
- Set that list as non-marketing, or delete the contacts if you don't need the history.
What to do with each result
| MailExchange result | In HubSpot |
|---|---|
| deliverable | Keep as a marketing contact. |
| risky: catch-all | Keep, but leave out of cold sequences on new domains. Fine for opted-in newsletters. See catch-all emails. |
| risky: role or disposable | Role addresses (info@, sales@) are often fine for customers. Disposable signups can usually go non-marketing. |
| undeliverable | Set as non-marketing or delete. They will hard bounce. |
| unknown | Leave as is and re-check later. The credit is refunded. |
HubSpot facts from Set contacts as non-marketing, Why is my email suspended? and sequence enrollment errors, checked 2026-10-17.
What it costs
MailExchange is pay as you go: 10,000 contacts for $49, 50,000 for $179, 100,000 for $299. Credits never expire, so a quarterly clean-up doesn't waste a monthly allowance. See pricing, or compare with the big HubSpot marketplace verifiers in email verification pricing compared.
Keep new contacts clean
Most bad addresses enter through forms and imports. Two ways to stop them:
- Verify every list before you import it into HubSpot, not after the first send.
- Check new contacts automatically with the MailExchange API (early access), for example from a Zapier webhook step that writes the result back to the contact.
A native HubSpot app is on our roadmap. Until then, the CSV route above works on any HubSpot plan.