ToolsTemplate Library · HubSpot · Audit

CRM Cleanup Audit template.

The eight messes we find in almost every portal, pre-listed with fix approaches and risk framing — add counts and go.

Download the CSV Free · 7 columns · 8 pre-filled rows · updated July 2026

What's inside — the exact file

This is the complete template, not a sample. The rows are worked examples — replace them with your data (and delete them before any platform import).

objectissueestimated_countfix_approachrisk_if_ignoredownerstatus
ContactsDuplicates (email variants, typos)Define merge rules, then dedupe toolReports double-count; reps call the wrong recordopen
ContactsNo owner assignedRotation workflow + backfillLeads rot unworkedopen
ContactsLifecycle stage blank or wrongBackfill from deal historyFunnel reports meaninglessopen
CompaniesContacts not associatedDomain-match associationAccount view is blindopen
DealsStale deals in open stagesRot report; close-lost sweep with reasonForecast inflatedopen
DealsMissing amounts or close datesRequired-field validation going forwardPipeline math wrongopen
PropertiesUnused or duplicate custom propertiesUsage audit; archive unusedNew mess accumulates on old messopen
WorkflowsActive workflows nobody understandsDocument, test, archive zombiesSurprise emails to customersopen

What this template is for

Every portal past its second birthday has the same eight messes — we know because we audit them for a living. This worksheet pre-lists them: duplicate contacts, unowned records, stage chaos, dead workflows referencing deleted assets, junk form submissions, stale deals, orphaned companies, and property sprawl. Add your counts, pick fix approaches, and the cleanup becomes a project instead of a vague guilt.

Run it before anything that depends on clean data: a reporting rebuild, a lead-scoring project, a marketing-contacts billing review, or a migration. The risk_if_ignored column exists because cleanup competes for time with feature work — it's the column that wins the prioritization argument.

How to use it, step by step

  1. Fill estimated counts with real queries. Each pre-listed issue row has a countable definition — unowned contacts, deals with no activity in 90+ days, contacts with no email. Build the saved filters, record the numbers. Estimates from memory undercount every time.
  2. Triage by the risk column, not by ease. Junk in reporting misleads decisions; unowned leads leak revenue; duplicate contacts double-email customers. Fix in order of damage, not comfort.
  3. Choose fix approaches deliberately. Merge, bulk-edit, archive, or delete — each issue row gets one. HubSpot's dedupe tooling handles the easy merges; the judgment calls need a named owner.
  4. Fix the source, then the symptom. Every mess has a producer: a form without validation, an integration writing junk, a missing required field. Cleaning without closing the source schedules the same cleanup next year.
  5. Work in batches with property history as your net. Bulk operations in HubSpot are mostly reversible via property history, but merges aren't — do merges last, carefully, after everything cheaper is done.
  6. Set the maintenance loop. Turn your saved filters into a monthly data-quality dashboard. The audit sheet's status column becomes a standing review, and next year's cleanup takes an afternoon instead of a quarter.

What each column means

objectWhich CRM object the issue lives on (contact, company, deal, workflow…).
issueThe mess, pre-filled with the eight we find everywhere.
estimated_countHow many records are affected — from a saved filter, not a guess.
fix_approachmerge / bulk edit / archive / delete / fix-at-source.
risk_if_ignoredWhat this costs while it sits — the prioritization column.
ownerWho runs this fix.
statusnot started / in progress / done.

Common mistakes to avoid

  • Deleting where archiving would do — deletion is forever (post recycling window), and 'we might need it' is usually true within a month.
  • Merging duplicates without checking which record integrations point at — the surviving record's ID matters to synced systems.
  • Cleaning records but leaving the misconfigured form or integration that produces them.
  • Running cleanup as a heroic one-off instead of installing the monthly filter-based review that keeps it clean.

Questions, answered

How do duplicates happen in HubSpot anyway?

Multiple entry paths with different keys: forms dedupe on email, imports can bypass, integrations create by their own IDs, and reps create manually. Each path is fixable, which is why the fix-at-source step matters more than the merge itself.

Does cleanup reduce our HubSpot bill?

It can — marketing contacts are billed by tier, so demoting non-marketable and junk contacts to non-marketing status ahead of your renewal genuinely moves the invoice. That review is one of the pre-listed rows in this sheet.

How long does a real cleanup take?

With the counts filled in honestly: a focused week for a small portal, a phased quarter for a big one. The audit sheet's real job is making that estimate defensible — and making sure the effort lands on the messes that cost money first.

This is a Market Disrupt worksheet, not a vendor file. Import-format templates follow each platform's documented layout as of July 2026 — platforms evolve, so validate against current documentation before a large import.

Rather have it done than downloaded?

Imports, cleanups, and portal architecture are the day job — and buying HubSpot through us waives the onboarding fee, because we deliver the onboarding ourselves.

Talk to a HubSpot partner