Build a CRM health dashboard

Create a default dashboard that shows unenriched contacts, missing properties, duplicate records, and data quality over time. Keeps the foundation visible.

Introduction

Most teams build HubSpot dashboards for pipeline reporting and marketing performance. Those are important. But there's a dashboard that almost nobody builds and everyone needs: a CRM health dashboard.

A CRM health dashboard answers a different question. Not "how is the business performing?" but "how healthy is the data we're using to make decisions?" If your contact records are missing email addresses, your company records have no owner, and your deals haven't been updated in weeks, then every report you pull is unreliable.

I started building these for clients after I noticed a pattern: teams would invest months setting up beautiful dashboards and workflows, only to discover that the underlying data was incomplete, duplicated, or outdated. Garbage in, garbage out. The health dashboard catches these problems before they compound.

Top picks

No items found.

What to track on a health dashboard

A CRM health dashboard monitors data quality across four dimensions:

Completeness. What percentage of your contact records have an email address? A phone number? A lifecycle stage? A contact owner? Empty fields mean your segmentation, automation, and reporting all have blind spots. Track fill rates for your most critical properties.

Freshness. How many deal records haven't been updated in 30+ days? How many contacts have no activity in the last 90 days? Stale records suggest your team isn't using the CRM consistently, or that old data is cluttering the system.

Accuracy. How many duplicate contacts exist? How many email addresses have bounced? How many records have formatting issues (lowercase names, invalid phone formats)? Inaccurate data erodes trust in the CRM and makes outreach embarrassing.

Ownership. How many records have no assigned owner? Unowned records are nobody's responsibility, which means nobody follows up on them.

HubSpot's built-in data quality tools

If you have Operations Hub Professional or Enterprise, HubSpot has a Data Quality Command Centre. Access it at Reports > Data Management > Data Quality.

The Command Centre shows four cards: Properties (unused, empty, duplicated properties), Records (formatting issues, duplicate records), Data Sync (connected app sync failures), and Workflows (unused or broken workflows).

It also sends a weekly data quality digest to super admins, summarising changes in issue volume. This is useful for tracking whether your data quality is improving or declining over time.

Even without Operations Hub, you can build custom reports that track the same metrics. Create single-object reports filtered by "Email is unknown", "Contact owner is unknown", or "Last activity date is more than 90 days ago". Add these to a dedicated dashboard.

Start with pre-loaded templates

Before building from scratch, check what HubSpot already provides. Go to Reports > Dashboards > Create dashboard, and browse the template library. HubSpot ships with pre-loaded templates for marketing attribution, email performance, sales team activity, and more. These are useful starting points: clone one, strip out what you don't need, and add your data quality reports on top.

The pre-loaded dashboards solve the "blank canvas" problem. Rather than staring at an empty dashboard wondering what to add, you start with a structure and adapt it. For the CRM health dashboard specifically, there's no exact template, but the "Sales Overview" and "Marketing Overview" templates give you a sense of how HubSpot structures its default reports. Use those as context, then build the health-specific reports below.

Building the dashboard

Create a new dashboard in HubSpot and name it "CRM health" or "Data quality". Add the following reports:

Contacts without email (single object report, contacts, filter: email is unknown). This is your most critical metric. Contacts without email can't be de-duplicated, emailed, or matched to companies.

Records without owner (single object report, contacts/companies, filter: contact/company owner is unknown). These records are nobody's responsibility.

Stale deals (single object report, deals, filter: last activity date is more than 30 days ago AND deal stage is not Closed Won or Closed Lost). These deals are stuck and probably need attention or closing.

Duplicate contacts (if you have Operations Hub, use the Manage Duplicates view. Otherwise, create a report of contacts sharing the same email domain and review manually).

Contacts by lifecycle stage (single object report, contacts, grouped by lifecycle stage). This shows the health of your funnel data. If most contacts are stuck in "Subscriber" or "Lead" with no progression, your lifecycle automation needs work.

Review cadence

A dashboard only helps if someone looks at it. Set a recurring calendar event:

Weekly (5 minutes): glance at the dashboard. Spot any sudden spikes in missing data or duplicates. Monthly (30 minutes): review fill rates, clean up stale records, merge duplicates. Quarterly (2-4 hours): full audit including property review, integration health, and workflow checks.

Assign a single owner for data quality. In most teams, this is the RevOps lead or the HubSpot champion. Without clear ownership, nobody takes responsibility.

Conclusion

A CRM health dashboard is the dashboard your team doesn't know it needs. It protects the integrity of every other dashboard, every workflow, and every report in your HubSpot account. Build it early, check it regularly, and assign someone to own it.

Related tools

No items found.

Related wiki articles

No items found.

Further reading

CRM foundations

CRM foundations

Create a default dashboard that shows unenriched contacts, missing properties, duplicate records, and data quality over time. Keeps the foundation visible.

No items found.