Missing email address
These contacts can never receive marketing communications. They're invisible to every campaign you run.
Tool Story
Find out what’s actually wrong with your HubSpot data.
The problem
Most HubSpot portals are quietly broken and nobody knows it.
Not broken like the tool doesn’t work. Broken like contacts with no email address enrolled in email campaigns. Personalization tokens pulling blank because first name was never captured. Leads created 90 days ago that nobody ever touched because they fell through a gap in the lifecycle stage setup. Revenue attributed to “Unknown” because lead source was never set.
HubSpot’s native data quality tools exist — but they’re locked behind Operations Hub Professional, which starts at $720 a month. Most small and mid-size teams don’t have it. So the data sits there, quietly wrong, breaking automations and reports and attribution that nobody can explain.
I’ve spent 15+ years cleaning up messes that could have been caught in 10 minutes if someone had just looked.
So I built the tool I always wanted.
What it does
Nine checks. One score. A downloadable list of every problem record so you can actually fix it.
Paste your HubSpot private API key. Hit run. In minutes you’ll know exactly where your data is broken and why it matters.
The nine checks
These contacts can never receive marketing communications. They're invisible to every campaign you run.
Your personalization tokens will break or show as blank. “Hi there” is not the impression you want to make.
Breaks company-level reporting and account-based workflows. These contacts exist in a vacuum.
Your funnel reporting is missing these people entirely. You can't fix what you can't see.
You can't attribute revenue to campaigns without this. Every exec asking “what's working?” deserves a real answer.
These contacts are competing in your automations and inflating your counts. One person. Two records. Twice the chaos.
Dead weight inflating your contact tier and your bill. HubSpot charges by marketing contacts. These aren't earning their keep.
Leads that fell through the cracks before you even knew they existed. These are the ones that haunt you.
Breaks SMS workflows and call integrations. “+1 (555) 867-5309” and “5558675309” are the same number. Your automations don't know that.
Why it’s helpful
You get a health score out of 100, a dashboard showing exactly what’s wrong, and a downloadable CSV for every problem category so you can take action immediately.
No subscription. No sales call. No 14-day trial with a credit card. Just answers.
This tool asks for your HubSpot API key. That’s a big ask and I don’t take it lightly.
Your key is used once, per request, through a stateless proxy that logs nothing. Your contact data is assembled in your browser and never stored in a database. When you close the tab it’s gone.
I built this the way I’d want a tool built if I were handing over access to my own CRM.
See it
Try HubSpot Health Check — FreeUnder the hood
Next.js 14, HubSpot Contacts API v3, stateless server proxy, deployed on Railway. Client-driven pagination. Property validation before each run so it works gracefully on any portal configuration.
Frequently asked questions
Nine things: contacts missing an email address, missing first or last name, no associated company, unset lifecycle stage, unset lead source, duplicate emails, no activity in 90+ days, created 90+ days ago but never contacted, and inconsistent phone formatting.
Yes, but read the results with that in mind. If HubSpot isn't your system of record, some flags like unset lead source may be expected rather than problems. The tool shows you what exists; what matters is your call.
No. It's read-only. It identifies issues and gives you a downloadable CSV, but you make the fixes in HubSpot yourself.