hubspotcrmdata qualityrevops

How to Audit Your HubSpot CRM in 90 Minutes (And What You'll Find)

James McKay||10 min read

TL;DR: Most HubSpot instances are quietly rotting. Duplicate properties, zombie workflows, and deal stages built for a sales motion you abandoned 18 months ago — all of it compounds until your pipeline data is fiction and your reps stop trusting the CRM. This audit takes 90 minutes. Run it quarterly.


60% of CRM implementations fail to deliver expected value. Most founders and RevOps operators assume that number applies to the initial implementation. It doesn't. The drift happens after go-live, quietly, while everyone is focused on hitting number.

Here's how it plays out: You implement HubSpot at Series A. The setup is solid — clean deal stages, sensible properties, a few workflows. Twelve months later, someone added 40 custom contact properties nobody uses, your lead routing workflow is triggering on contacts it was never meant to touch, and three of your seven deal stages haven't moved a single deal in four months. Your VP of Sales pulls a pipeline report in the Monday meeting and says the words that should make every RevOps person's stomach drop: "I don't trust this data."

We've seen this exact pattern across dozens of HubSpot audits. The good news? The deterioration follows predictable patterns, which means the audit does too.

This is a 90-minute walkthrough you can run yourself. No consultant required. I'll tell you what to look at, in what order, what the red flags are, and what to fix first when you're done.


Before You Start: Pull These Three Reports First

Don't open a single settings page until you have context. Three reports will tell you how bad the problem is before you go looking for the cause.

1. CRM Adoption Report — Go to Reports > Dashboards and check your sales activity data. Filter for the last 90 days. Look at call logs, email logs, and notes by rep. If you have reps with fewer than 20 logged activities in 90 days, either they aren't selling or they aren't logging. Both are CRM problems.

2. Deal Stage Distribution — Pull a Deals report grouped by Deal Stage. Look at the volume in each stage and the average time-in-stage. Any stage with zero deals in the last 60 days is a candidate for deletion. Any stage with average time-in-stage that's 3x your median sales cycle is a place where deals go to die — or where reps are parking deals to avoid pipeline review conversations.

3. Contact and Company Creation Sources — Go to Contacts > All Contacts, filter by "Create date is last 90 days," and group by "Original Source." This tells you if your data is coming in cleanly or if someone is manually bulk-importing contacts without enrichment. Manual imports with no source tracking are the fastest way to corrupt your database.

These three reports take 15 minutes. They frame everything that follows.


Step 1: Deal Pipeline Audit (20 minutes)

Go to CRM > Deals > Pipelines in your Settings. If you have more than two pipelines and you're pre-Series B, that's your first problem. Most early-stage SaaS companies don't have divergent enough sales motions to justify multiple pipelines — they just added a second one when something felt complicated and never cleaned it up.

For each pipeline, check:

  • Stage names vs. reality. Open your deal stages and ask: does each stage name describe what the buyer has done, or what the rep hopes will happen next? "Proposal Sent" is a rep action. "Pricing Reviewed by Champion" is a buyer signal. One of these predicts close probability. The other tracks rep behavior.
  • Stage probabilities. HubSpot assigns default close probabilities to each deal stage. Most companies never update them. If your "Contract Sent" stage is sitting at 90% close probability but your actual win rate from that stage is 55%, your weighted pipeline is lying to leadership every week.
  • Closed Lost reasons. Go to your Closed Lost stage and check if a required property is enforced for lost reason. If reps can close-lose a deal without selecting a reason, you have no loss analysis data. None. This is a five-minute fix and most HubSpot instances don't have it.

Red flags:

  • More than 7 deal stages in a single pipeline
  • Stage probabilities that haven't been updated since implementation
  • No required field on Closed Lost
  • Deal stages with zero movement in 60+ days

Step 2: Property Audit (20 minutes)

This is where most HubSpot instances are truly embarrassing. Go to Settings > Properties and filter by Contact properties. Sort by "Number of contacts with data."

You are looking for two things: orphaned properties and duplicate properties.

Orphaned properties are custom fields someone created, probably for a one-time import or a campaign, and never used again. Any property with data on fewer than 5% of your contact database and a creation date more than six months ago is a candidate for deletion. Before you delete, check if any workflows or lists reference that property — HubSpot will warn you, but verify manually.

Duplicate properties are subtler. Look for fields like "Lead Source," "Original Lead Source," and "First Conversion Source" all existing simultaneously. This happens when multiple people build forms, workflows, and integrations without coordinating. Now you have three fields trying to track the same thing, populated inconsistently, and your attribution reports are garbage.

Run the same exercise for Deal properties and Company properties. In most audits, we find:

ObjectTypical custom property countProperties with <5% coverage
Contact60-12030-50%
Deal40-8025-40%
Company30-6035-55%

That's a lot of noise. Every unused property is a field that confuses a new rep, clutters a record view, and degrades the quality of every AI-assisted feature HubSpot rolls out — because those features train on what's populated.

Red flags:

  • More than 80 custom Contact properties at pre-Series B
  • Multiple properties tracking the same conceptual data point
  • Properties with no description or owner listed

Step 3: Workflow Audit (20 minutes)

Go to Automation > Workflows. Sort by "Last updated." Scroll to the bottom.

What you're looking for: workflows that haven't been touched in 12+ months and are still set to "On." These are your zombie workflows. They are running. They are affecting records. Nobody is watching them.

For each active workflow, verify:

  • Enrollment criteria still make sense. Open the workflow. Read the enrollment trigger. Does it reflect your current lead definition? Your current lifecycle stages? If your lifecycle stage definitions changed six months ago and this workflow still references the old ones, it's enrolling the wrong contacts.
  • Actions are still connected. Check every "Send Email" action — does the email still exist and is it the right message? Check every "Set Property Value" action — is that property still in use? Check every "Notify Owner" action — is the owner routing still valid or are notifications going to someone who left the company?
  • Contact volume is expected. Click into workflow history. If a workflow that was designed for 50 contacts/month is processing 500, something changed upstream and this workflow didn't catch up.

The test I run on every audit: Filter for workflows that are "On," haven't been updated in 180+ days, and have enrolled more than 100 contacts in the last 30 days. That combination — old, untouched, high volume — is the highest-risk quadrant. Start there.

Red flags:

  • Any workflow last updated by someone no longer at the company
  • Workflows with no description or clear owner
  • Lead routing workflows referencing territory rules or rep assignments that are outdated
  • Workflows that set lifecycle stages conflicting with other workflows (circular logic)

Step 4: Data Quality Spot Check (15 minutes)

You're not doing a full data audit here — that's a separate project. You're getting a signal.

Go to Contacts > All Contacts and run these five filters one at a time:

  1. Email address is unknown — Any significant volume here means you have contacts with no email. Useless for outreach, destructive to deliverability scores.
  2. Company name is unknown — Contacts with no associated company. If you're selling B2B, these records are half-built at best.
  3. Lifecycle stage is unknown — No lifecycle stage assigned means these contacts exist outside your funnel logic. They won't be included in correct reports.
  4. Last activity date is more than 365 days ago — Contacts that haven't been touched in a year. Are these suppressed? Unsubscribed? Just forgotten? You need to know.
  5. Duplicate contacts — Go to Contacts > Actions > Manage Duplicates. HubSpot surfaces likely duplicates automatically. Any count above 1% of your database is worth addressing before your next campaign.

Fifteen minutes. Five filters. Now you know whether you have a data quality problem or a data quality crisis.


Step 5: Integration and Sync Health (10 minutes)

Go to Settings > Integrations > Connected Apps. For every integration listed, ask one question: is this still being used and is it working?

The two highest-risk integration points in most HubSpot setups:

Salesforce sync (if applicable). If you're running a HubSpot-Salesforce sync, go to the sync error log. Any sync errors older than 48 hours that haven't been resolved mean data is out of alignment between systems. This is especially dangerous if Sales works in Salesforce and Marketing works in HubSpot — the two systems are quietly diverging.

Your MAP or enrichment tools. If you use Clearbit, ZoomInfo, Apollo, or similar enrichment tools connected to HubSpot, check the field mapping. Enrichment tools update HubSpot properties on their own schedule. If someone changed a property name in HubSpot without updating the enrichment mapping, you're now overwriting fields with blank values or getting duplicate data written to the wrong place.


What to Fix First: Prioritized Checklist

Not everything you find deserves equal attention. Here's how to triage:

Fix in the next 48 hours (revenue impact):

  • Add required Closed Lost reason field to all deal pipelines
  • Fix any active lead routing workflows referencing departed reps
  • Resolve HubSpot-Salesforce sync errors (if applicable)
  • Turn off any zombie workflow you cannot explain or verify

Fix in the next two weeks (data integrity):

  • Update deal stage close probabilities to reflect actual win rates by stage
  • Archive or delete orphaned contact, deal, and company properties
  • Consolidate duplicate properties tracking the same data point
  • Assign lifecycle stages to contacts with unknown lifecycle stage (or suppress them)

Fix in the next 30 days (long-term hygiene):

  • Run the HubSpot duplicate contact merge tool
  • Audit and clean up deal stages with no recent activity
  • Add descriptions and owners to all active workflows
  • Document your current lifecycle stage definitions and enforce them via workflow

Review quarterly:

  • Repeat the three baseline reports from the top of this guide
  • Re-run the workflow enrollment trigger review
  • Spot-check integration sync health

One More Thing

The audit tells you where you are. It doesn't tell you how you got there or how to prevent the next drift.

Drift happens because HubSpot is easy enough that everyone touches it. Reps add properties for their own tracking. Marketing builds workflows for a campaign and forgets to turn them off. Someone integrates a new tool without reading the field mapping documentation. Without a RevOps owner running a scheduled audit, the instance compounds errors faster than you can clean them up.

At VEN Studio, the first thing we do with a new client is run a version of this audit — more detailed, with full workflow logic tracing and deal stage conversion analysis — before we touch a single configuration. You can't fix what you haven't diagnosed.

Run this quarterly. Block 90 minutes on the calendar. Don't skip it when pipeline is hot, because that's exactly when bad CRM data does the most damage.


Frequently Asked Questions

How do I know if my HubSpot drift is bad enough to need outside help versus fixing it myself?

If you run this audit and find more than three of the "fix in 48 hours" items triggered, plus your deal stage probabilities are significantly wrong, plus you have active workflows you genuinely cannot explain — that's a structural problem, not a hygiene problem. A structural problem means the original implementation had fundamental gaps. That's fixable, but it usually takes longer than an afternoon and benefits from someone who's seen the pattern before.

Should I archive or delete old workflows and properties?

Archive first, always. HubSpot lets you archive workflows without deleting them, which means you can restore them if something breaks downstream that you didn't anticipate. For properties, check dependencies before archiving — any workflow, list, or report referencing that property will break or throw an error if the property disappears.

How many active workflows is too many?

There's no universal number, but as a benchmark: if you're pre-Series B and you have more than 40 active workflows, you almost certainly have redundancy and conflict in your automation logic. I've audited instances with 200+ active workflows where 60% were doing nothing useful or actively contradicting each other. More is not better. Each workflow is a maintenance obligation.

My deal stages haven't changed since implementation but the sales process has evolved significantly. How big a problem is this?

Bigger than most people realize. Your deal stages are the spine of your pipeline reporting. If reps are interpreting stages differently than they were intended — which they will, if the stages no longer match the real sales motion — your stage conversion data is meaningless and your forecasts are fiction. Realigning deal stages is disruptive in the short term (historical data comparability suffers) but necessary. Do it with a clear cutover date and document what changed and why.

How often should a RevOps operator run this audit?

Quarterly at minimum. Monthly if you're scaling headcount fast, changing your ICP, or in the middle of a significant product or pricing change. Any of those three events will stress-test your HubSpot configuration in ways that produce drift faster than normal.

Related Articles

About VEN Studio

VEN helps Series A-C B2B SaaS companies fix broken CRMs, implement HubSpot, and build revenue operations that scale. Senior operators, no juniors.

Book a call