HubSpot / Practical guide
HubSpot CRM audit checklist: from findings to a prioritised backlog
Audit HubSpot data, properties, lifecycle stages, workflows, and reporting. Use evidence to turn CRM findings into an owned, prioritised backlog.
The short version
Work through these nine steps to audit a HubSpot account: establish access, save a baseline, inspect data and properties, trace stages and automation, check integrations, reconcile reports, and build a tested change plan. Record evidence as you go. The audit diagnoses the account; repairs follow a reviewed plan.
- Use saved views and record IDs to make findings reproducible.
- Follow a record from its creation source through automation to its report.
- Check dependencies and exceptions before changing a property, workflow or sync.
Blank template. Open in your spreadsheet tool and record the evidence as you work through the steps.
Before you start: know what this audit covers
Picture opening HubSpot to answer a simple question: how much qualified pipeline do we have? Two dashboards give you different answers. Someone suggests a third dashboard. Before the collection grows, it is worth looking at the records and rules underneath them.
This guide is for the person responsible for diagnosing the CRM: a RevOps lead, administrator or consultant working with the teams that use it. It covers records, properties, lifecycle and deal stages, workflows, integrations and reports. It does not attempt to audit every marketing asset or redesign the entire account.
The navigation and product behaviour below were checked against HubSpot’s official documentation on 7 October 2026. Accounts can have different menus, object names, permissions, subscriptions and beta access. Some tools appear beneath More. Where a feature is unavailable, record the limitation and use an authorised record view or export; do not count an unavailable feature as a failed business control.
Open the worksheet and choose one active pipeline or handoff for the first pass. The examples are fictional. The instructions are documentation-based, not a claim that we tested them inside your account.
1. Agree the scope, access and review owners
Start with the business symptom and the objects it touches. If new leads lose their owner after an import, begin with the relevant contacts, companies, assignments and import path. Reviewing every deal workflow will add work without necessarily answering that question.
Ask the business owner to state the intended rule before inspecting the implementation. “Assign according to territory” still leaves open what happens to unknown territories, existing customers and absent owners. Those exceptions should be part of the audit.
- Record the account, pipeline, object types, teams, period and timezone in scope. Name the business owner and the administrator who can explain configuration.
- List the views and tools your permissions expose. Check subscription requirements in the linked documentation before planning around a paid feature.
- Agree that diagnosis will not enrol records, merge duplicates, change properties or rerun syncs. Keep proposed repairs in the worksheet until their effects and owners are clear.
- Collect the stage definitions, routing rules, key reports and a list of connected systems. Ask who maintains each one and where failures are reviewed.
What you should have
A scope and access record, plus a list of unknowns. A missing permission is visible as a limitation rather than hidden inside the findings.
2. Save a baseline you can reproduce
Build a stable definition of the records you are examining. “Open deals” is incomplete if several pipelines exist or if records are visible only to their owner. Include the relevant pipeline, stages, business motion and exclusions.
HubSpot’s current saved-view documentation describes opening the object’s CRM index page, adding a view, setting filters and columns, and publishing the view configuration. That saves a view; it does not publish records to the web. Keep its sharing limited to the audit team.
- Open the relevant CRM object index, such as Deals. Add a table view and give it a specific name, for example “Audit — open new-business deals — October”.
- Apply the agreed filters. Include Record ID, owner, stage, amount, currency, close date and the association or next-action fields relevant to the question.
- Record the visible count, exact filters, inspection time and access limitations. Save a permitted export or dated result because a saved view continues to reflect changing records.
- Select examples from different sources, owners and outcomes. Keep the complete baseline count separate from the smaller set you will inspect manually.
What you should have
A baseline count, a saved view or equivalent selection, and identifiable sample records. A colleague with equivalent access can repeat the selection.
3. Inspect data issues before accepting fixes
Where available, open Data Management → Data Quality. HubSpot documents views for duplicates, formatting and property insights, with access and feature limits depending on the account. The overview is a starting point; it does not decide which issue matters to your workflow.
Review the records behind a detected issue. A missing phone number may be harmless for a process that never calls contacts. Two similar company names may belong to separate entities. Keep the detected condition and the proposed correction in different columns.
- Review the issue categories available in the account and note their date range. Record missing capabilities rather than guessing what their results would be.
- Compare flagged records with your audit population. Recalculate the affected count for that population instead of copying an account-wide number into a pipeline-specific finding.
- Open examples and record IDs, conflicting values, creation sources and the workflow affected. Mark duplicate candidates as unconfirmed until identity is checked.
- Capture the suggested action without applying it. Prioritise issues that break routing, relationships or reporting before cosmetic formatting.
What you should have
A list of investigated data issues with counts, affected work and proposed next checks. No bulk cleanup is needed to finish this step.
4. Trace the properties that drive the process
Choose the properties used by the handoff, routing rule or report you are auditing. Start with owner, lifecycle or stage, close date, amount, segment and the fields that determine a branch. There is little value in documenting every unused field before you understand the active ones.
In the property editor, inspect Details and the available Monitor sections. HubSpot documents usage and fill rate, tools that update a property, and quality monitoring. Record the internal name as well as the display label: integrations refer to the internal name, which cannot be edited after creation.
- For each critical property, write its definition, object, internal name, permitted values and business owner in a small field dictionary.
- Inspect where the property is used and which tools update it. Include workflows, forms, imports, integrations and reports that the audit depends on.
- Compare the definition with actual values in your baseline. Separate blank, unknown, invalid and genuinely not-applicable values.
- For a mismatch, inspect change history on example records and identify the writer responsible. Preserve the dependency list before proposing deletion, renaming or a field-type change.
| Property purpose | Question | Evidence |
|---|---|---|
| Deal owner | Must this deal have an active owner or an explicit queue? | Baseline exceptions and assignment history |
| Close date | Which event should this date represent? | Definition, recent changes and report filters |
| Customer segment | Do all writers use the same allowed values? | Value distribution and update sources |
| Next action | Does the field record a future action, a date, or both? | Field definition and owner walkthrough |
What you should have
A dictionary of critical properties and their dependencies. Each recommended change explains what else may be affected.
5. Check lifecycle rules and deal-stage evidence
Inspect contacts and companies separately from deals. A company’s relationship with you can remain “Customer” while it has a new expansion deal in progress. Treating lifecycle and deal stage as interchangeable makes handoff and conversion reports difficult to interpret.
HubSpot documents automatic lifecycle updates that move forward; using its tools to set an earlier lifecycle stage requires clearing the current value first. During the audit, inspect the history and intended behaviour rather than changing values to make the screen look consistent.
For deal pipelines, the documented route is Settings → Data Management → Objects, select Deals, then Pipelines. Review the stages and probabilities. HubSpot uses stage probability to calculate weighted amount, so a configuration choice can change reporting without any change in buyer behaviour.
- Write the expected lifecycle transition for the handoff. Inspect who or what changed that value on recent records, including reassigned or returning customers.
- For each deal stage, agree the evidence required to enter and leave it. Compare that evidence with a few actual stage transitions.
- Check that won and lost outcomes are represented correctly. Identify active deals with repeatedly moved close dates, missing next actions or stage ages that need an owner’s explanation.
- List places where a field is required in the UI, then verify whether other creation paths supply it. Do not assume a manual-entry control covers imports and integrations.
What you should have
A lifecycle and stage exception list with record history, expected behaviour and the responsible process owner.
6. Follow a record through its workflows
Choose an automation that updates a critical value or passes work to another person. Read its enrolment rules, re-enrolment settings, branches, delays and actions before deciding whether the outcome is wrong. The workflow’s name is rarely a complete specification.
To inspect execution, HubSpot documents Automation → Workflows, then the workflow’s More menu → View details → Action logs. Inspect Enrollment history for the record’s journey. Configuration changes are separate: open the workflow and use View → Revision History.
The documentation currently gives action logs a 90-day retention window and historical enrolment data a six-month window. It also describes a daily cap on stored successful executions. An absent success log is therefore not sufficient evidence that an action never ran.
- Write the expected result for one eligible record and one exception. Note what should happen if the event occurs twice or an owner is missing.
- Find those records in the available action and enrolment history. Compare the observed branch and outcome with the rule you wrote down.
- Check revision history around the incident. Record the relevant version, date and rule change rather than assuming today’s configuration was active then.
- Identify competing writers: another workflow or integration may overwrite the value after this workflow succeeds. Save the timeline and affected IDs.
What you should have
A trace from input to enrolment, branch, action and resulting record value, with the relevant history limits recorded.
7. Inspect sync failures and intentional exclusions
List the systems that read or write the fields in scope. For each one, record its operational owner, matching key, direction and which system wins when values conflict. An integration can be connected and still have a problem with one particular group of records.
For apps using HubSpot data sync, the documented route is Settings → Integrations → Connected Apps → the app → CRM syncs. Object view separates records that are in sync, failing or excluded. Exclusions can arise from filters or matching-key conditions; they are not the same as sync errors. Other integrations may expose different logs and controls.
- Check the status of the relevant object sync and open the affected record group. Save the actual failure reason or exclusion condition.
- Compare a failing or excluded record with one that syncs successfully. Check identifiers, required values, mapping and filter eligibility.
- Trace an important value in both systems, using timestamps and history where available. Record whether a later writer reverses an earlier update.
- Give the integration owner the evidence and a proposed test. Keep reruns or setting changes out of the diagnostic pass because they can create downstream updates.
What you should have
An integration issue list that separates errors, intended exclusions and unresolved behaviour, with a named owner for each connection.
8. Reconcile a report with its source records
Take the dashboard that triggered the audit and choose one metric. Record exactly what it claims to measure before inspecting its total. “Pipeline this quarter” could mean deals created this quarter, deals expected to close this quarter, or a snapshot taken at the start of the quarter.
In HubSpot’s custom report builder, the primary data source and associated sources influence which records can appear. The documented View data join info panel explains those connections. Inspect it when a multi-object report does not match a single-object view.
- Write down sources, filters, date field, timezone, amount field, currency and aggregation. Distinguish total amount from weighted amount.
- Choose a few known deal IDs: one expected to appear, one excluded by design and one with multiple associated contacts. Check whether each behaves as expected.
- Compare distinct deal IDs and totals with the baseline. Investigate missing associations, join behaviour and repeated rows before blaming the source data.
- For example, two fictional deals worth €10,000 and €20,000 total €30,000. If an exported joined table repeats the first deal for two contacts, summing its three rows produces €40,000. Check the report’s aggregation rather than assuming it makes that same error.
What you should have
A reconciliation note identifying the exact definition, association or aggregation behind the difference, or a documented unresolved discrepancy.
9. Build the repair plan and its acceptance checks
Suppose the fictional baseline contains 120 open deals and 18 lack an owner: 15%. After reviewing all 18, imagine that 12 came from the same import and six have an agreed queue exception. Report both facts. Do not quietly redefine the original “missing owner” check as “incorrectly assigned” and present the new count as a like-for-like improvement.
Create separate tasks for the import cause, the current records and the ongoing control. A field definition or assignment rule may need a decision from sales before an administrator can implement anything useful.
- Record the finding, evidence, business effect, confidence, dependency, owner and proposed change. Prioritise blocked work and unreliable decisions first.
- Define the test cases before editing: expected owner, missing routing input, existing owner that must be preserved, and a repeated import or event.
- Test in a suitable environment available to the team. Check dependent workflows and reports as well as the immediate record, and document the recovery approach.
- After an approved repair, rerun the baseline check and inspect a new batch of records separately. Assign someone to review recurring failures and confirm the result with the business owner.
| Task | Owner | Acceptance evidence |
|---|---|---|
| Agree import assignment and queue exceptions | Sales process owner | Written rule covering normal and exception cases |
| Correct the import path | CRM administrator | Test records receive the intended owner without overwrites |
| Review the 12 affected imported deals | Sales manager | Each record has a valid owner or documented exception |
| Monitor subsequent imports | Integration or import owner | New cohort checked with the same rule and logged result |
What you should have
A prioritised, testable backlog plus the baseline and evidence. The audit is ready for review when every recommendation has an owner and a way to tell whether it worked.
Sources & further reading
- HubSpot: create and manage saved views ↗
- HubSpot: data quality tools and access requirements ↗
- HubSpot: property definitions, usage and update sources ↗
- HubSpot: contact and company lifecycle stages ↗
- HubSpot: object pipelines and stage probabilities ↗
- HubSpot: workflow action logs and enrolment history ↗
- HubSpot: workflow revision history ↗
- HubSpot: data sync health, failures and exclusions ↗
- HubSpot: report data sources and joins ↗
- HubSpot: record merge behaviour and limitations ↗