HubSpot's Data Model Health Check: What It Flags, and What It Misses

HubSpot's Data Model Health Check: What It Flags, and What It Misses

HubSpot's free Data Model Health Check scans 16 issue types across objects, properties, associations, pipelines and lifecycle stages. Here is what it covers, what it changes, and what it never looks at.

Peter Sterkenburg2 November 20269 min read
Peter Sterkenburg

Peter Sterkenburg

HubSpot Solutions Architect & Revenue Operations expert. 20+ years B2B SaaS experience. Founder of NordScope.

When HubSpot shipped a Health tab in its July 2026 product updates, the first question I got from RevOps people was a fair one: does this replace a portal audit? The tab has a reassuring name and it costs nothing, so the temptation is to run it, archive what it suggests, and call the portal healthy.

I went through HubSpot's own documentation for the check, line by line, and compared it with what a full portal audit has to cover. The short answer is that the health check is a good first pass over the shape of your CRM. It tells you which properties, objects and pipeline stages nobody uses. It says nothing about whether the records inside them are right, who can change them, or what automation depends on them.

Then I ran it on our own test account, which we filled on purpose with the clutter real portals collect. It returned 70 issues in about a minute. Some of them were exactly the problems we had planted. Others were noise about features the account has never used. And one label meant something different from what it says. Those results are in the section on our test portal below.

This article sets out exactly what the check scans, what its buttons change, which related HubSpot tools need a paid Data Hub plan, and what you still have to check another way.

What the Data Model Health Check scans

HubSpot describes it as a scan of "your HubSpot account's data model for potential quality issues across objects, properties, associations, pipelines, and lifecycle stages" (HubSpot: use the data model health check). The help article is marked as available on "All products and plans", and the July 2026 product updates say the same thing: "Live for all hubs and tiers."

To run it, go to Data Management > Data Model and select the Health tab. The scan starts by itself when you open the tab. HubSpot says it "may take up to 20 minutes to complete", and you can leave the page while it runs.

The check detects "16 issue types across 5 categories":

Category Issue types HubSpot lists
Objects (3) Custom object low record count, toggleable object low record count, custom object with no associations
Associations (2) Custom association low record count, toggleable association low record count
Properties (6) Low fill rate, critical property low fill rate, low fill rate with high usage, inactive property, similar (duplicate) property, high fill rate with no usage
Pipelines (4) Non-standard pipeline usage, too many pipeline stages, missing closed stage, pipeline stage low record count
Lifecycle stages (1) Lifecycle stage low record count

Results come as a summary table with one row per object, and a detail page per object with a tab for each category. You can search issues, filter by issue type and select several rows for a bulk action.

Five limits from the same article change how you use it:

  • No dismissing. The FAQ says: "Issue dismissal is not available in the current version." A property you keep on purpose will show up on every run.
  • No notification. "There is no push notification when the scan completes." You have to go back and look.
  • No history. "The previous results are replaced with the new scan." You cannot compare this month with last month inside the tool.
  • A 30-day nudge. If the last run is more than 30 days old, a banner asks you to run it again. That is the only reminder.
  • No score. You get counts of issues per category, with no overall number to track. If you want one, this explainer on CRM health scores covers how they are built.

What happens when you click a fix

Some actions in the health check change your portal. HubSpot calls them mutating actions: archive a property, archive the target of a duplicate pair, delete or deactivate an object, delete or deactivate an association, create an association, and bulk archive. A confirmation window opens first, and "after a successful action, the issue is automatically marked as fixed and removed from the list".

The other actions only take you somewhere else: property settings, record customisation, pipeline settings, lifecycle settings, the property's usage page, or a property history export.

Two cautions before you archive anything in bulk.

First, "similar (duplicate) property" means two property definitions that look alike, such as two lead source fields. It does not find duplicate contact or company records. HubSpot's advice for this issue is to review "and consider syncing the data, then archiving the extra property". If you archive the extra field without moving its values across, you lose the values that only lived there.

Second, "low fill rate" and "inactive property" tell you a field is rarely filled or rarely updated. They do not tell you whether a workflow, form or integration still reads it. The "Review usage" action helps, and exporting the history first gives you a copy. My guide to removing unused properties has the full pre-deletion checklist, and exporting property history explains what the export contains.

HubSpot's article does not say which user permission the health check needs. The Manage tab in the same Data Model area states: "To make edits in the Manage tab, you must have Super Admin permissions" (HubSpot: manage your data model). Plan your clean-up session with a Super Admin present so the archive buttons work when you need them.

The free check versus Data Hub: which tool needs which plan

The health check is one of several data quality tools, and the others are gated by plan. This is what HubSpot's own help pages state today:

Tool What it does Plan HubSpot lists
Data Model Health Check Unused objects, properties, associations, pipeline and lifecycle issues All products and plans
Data quality overview page Summary, recommended actions, property insights Starter, Professional or Enterprise (Marketing, Sales, Service, Data or Content Hub); Smart CRM Professional or Enterprise
Property insights: anomaly alerts and property details The deeper layer of the property insights page Data Hub Professional or Enterprise
Formatting issues (contacts) Capitalisation, spacing and wrong values in name, email, country and state fields Professional or Enterprise; Starter only through a public beta
Bulk or automatic formatting fixes Fix formatting issues in bulk or by rule Data Hub Professional or Enterprise
Duplicate records manager Contact and company duplicate pairs, compared daily, up to 10,000 pairs shown Professional or Enterprise
Bulk duplicate merging and custom rules 30,000 pairs on Professional, 100,000 on Enterprise, custom duplicate rules, audit log Data Hub Professional or Enterprise

So a portal on the free CRM gets the structural health check and nothing else on this list. Duplicate contacts and companies need a Professional subscription before HubSpot's duplicates manager will show them to you. If you are weighing an upgrade for these tools alone, HubSpot portal health without the Enterprise price tag and what a HubSpot audit costs put the numbers side by side.

What the check never looks at

The check's own scope sets its blind spots. Everything below falls outside the five categories HubSpot documents. The right-hand column says whether PortalPilot covers it, based on our own help pages. Most of those checks sit in Diagnostics and Issues, which need a paid plan (from €25 a month).

Gap Why it matters HubSpot alternative PortalPilot
Workflows that read or write a property Archiving a field a workflow uses breaks the workflow Property "Review usage" page, one property at a time Yes: Diagnostics > Workflows shows which workflows read or update a property. Needs a HubSpot Professional or Enterprise plan with workflow access
Users, roles and seats Too many Super Admins and unused paid seats are a cost and a risk Users & Teams settings, reviewed by hand Yes: Users & Teams flags Super Admin overuse, dormant premium seats and unassigned users
Duplicate records Two contacts for one person split the history Duplicates manager, Professional or above Partly: a spot check on a sample of company accounts finds duplicates, missing associations and incomplete fields
Records with no associations Deals with no contact or company break attribution and reporting Not in the health check, which counts empty associations, not unlinked records Yes: Association Coverage score and orphaned records in Issues > Relationships
Key field gaps such as deal amount Missing amounts make forecasts unreliable Property fill rate in the health check, with no target Yes: fill rates compared with targets, for example 80% of deals with an amount
Property naming and descriptions Undocumented fields are where duplicates start Not covered Yes: missing descriptions and naming problems lower the health score
Sensitive data in the wrong fields Personal data in free-text fields is a GDPR problem Not covered Yes: a Sensitive Data section, and up to 15 points off the health score
Connected apps and sync errors A broken integration writes bad data every day Connected apps settings No. PortalPilot does not check integration sync health
Change over time You need to know whether clean-up is working The Data Model Analysis tab charts records created, edited, deleted and merged Yes: Trends charts after two analyses, and an optional monthly scheduled analysis

Two of those rows matter more than the others. The workflow row, because the health check's main fix is archiving, and archiving is the step where a hidden dependency hurts. The association row, because broken associations distort every report that joins deals to contacts and companies, and the health check only counts association types with nothing in them.

What it found on our test portal

I ran the check on 2 November 2026 on our own QA account, which is not a customer portal. We built it on purpose with the clutter real portals collect: legacy properties, copies of standard fields, an old migration flag. The results were ready about a minute after I opened the Health tab.

The summary read 36 high, 17 medium and 17 low, 70 issues in all. They fell into eight issue types:

Severity Issue type Count Examples from our account
High Duplicate property label 17 "Ph Num" next to "Phone Number"; "Opp Type" next to "Deal Type"; "Loss Reason" next to "Closed Lost Reason"
High High fill rate with low usage 14 "Sales Region" on companies, filled on every record and used nowhere
High Low fill rate with critical usage 5 Contact owner and Company owner at 0%, although both appear on record cards
Medium Low fill rate 17 "Flag1", "Cust ID Old", "tmp migration flag", all at 0%
Low Pipeline stage with no records 9 Every stage of the Order and Marketing event pipelines
Low HubSpot-defined association with low records 5 Project and Contract associations nobody uses
Low HubSpot-defined object with low records 2 Contract and Project objects
Low Lifecycle stage with no records 1 The "Other" stage

Three things stood out.

The high-severity findings were the right ones. Every legacy duplicate and every empty field we planted showed up, and the empty owner fields deserved their place at the top.

The low findings were noise for us. All 17 described features the account has never used: orders, marketing events, projects, contracts. On a real portal, read the Low tab last, or skip it if you know those features are switched off.

"High fill rate" does not mean high. Some properties under that label were filled on only 30% of records. The label means "filled more often than it is used", so check the percentage before you archive anything.

None of the 70 findings looked at the records themselves. There were no deals without an amount, no contacts without a company and no duplicate contacts. That matches HubSpot's own description: the check reads your data model, not your data.

How to use the health check in a real audit

The check is worth running on every portal, on every plan. Use it as the first step of a data quality audit, followed by the checks it leaves out:

  1. Run it and export nothing yet. Read the summary table and note which objects have the most issues.
  2. Sort the property issues into keep, merge and archive. Since you cannot dismiss issues, keep a short list of the fields you are keeping on purpose, so the next run does not send you back to them.
  3. Check dependencies before every archive. Use "Review usage", and check workflows, forms and connected apps by hand or with a tool that maps them. Treat a clean result with care: any tool that maps workflows can miss actions or conditions it cannot read, so no listed connection does not prove a field is safe to delete.
  4. Merge before you archive duplicates. Move values from the extra property into the one you keep, then archive.
  5. Fix pipelines last. A missing closed stage or a stage with almost no deals usually reflects how your team sells. Agree the change with sales before you edit the pipeline settings.
  6. Write down the counts. The tool keeps no history, so record the issue counts per category before you re-run. Then you can show leadership that the work moved something.
  7. Cover the gaps. Use the table above to decide which blind spots matter for your portal. The data hygiene cheat sheet lists a quarterly rhythm that includes them.

If you are comparing paid tools for the gaps, the audit tools comparison goes through each one.

Start your free portal health check at portalpilot.io. The free plan gives you health scores for your core objects, adoption metrics and quick wins, with 12 analyses a year. View pricing plans for workflow, user and trend checks.

Peter Sterkenburg is the founder of PortalPilot, a HubSpot portal health and optimisation platform. He's spent years in scale-up RevOps, building the systems, fighting the fires, and eventually building the tool he wished he'd had.