Skip to content

Guide

How to Audit Your CRM: A Practical Walkthrough

A step-by-step method for reviewing your CRM's data, lifecycle stages, automation, integrations and reporting, and turning what you find into a plan you can act on.

  1. Define
  2. Inventory
  3. Inspect
  4. Trace
  5. Prioritize
The order this walkthrough follows

What does a CRM audit include?

A CRM audit is a structured review of how your data, lifecycle stages, automation, integrations and reporting work together, and whether they still match the way your business operates. It ends with a list of problems, the evidence for each, and an order in which to fix them.

That last part matters. Plenty of teams “audit” their CRM by scrolling through the workflow list and deleting the obviously dead ones. That’s housekeeping. An audit asks a harder question: if a new lead arrived right now, would the system recognize who they are, put them in the right state, trigger the right next step and report it correctly? If not, where exactly does it break?

This walkthrough is platform-neutral. The examples lean on HubSpot and Klaviyo because they’re common, but the method works just as well for Zoho, ActiveCampaign or a spreadsheet held together with Zapier.

Before you start

Three things will save you hours.

Write down why you’re auditing. “Our reports don’t match finance” leads to a different audit than “we’re about to migrate” or “sales has stopped logging calls”. You’ll still look at everything, but the reason tells you where to dig deepest.

Get the right access. You need to see settings, workflow history and property definitions, so a basic user seat often isn’t enough. You don’t need permission to change anything, though. If you can audit from a view-only or reporting role, do that, and keep your normal account for normal work.

Take a snapshot. Export your key objects (contacts, companies, deals, orders or whatever your system centers on) and save the date. You’ll want to compare against this later, and if anything changes during the audit you’ll know what it looked like before.

Step 1: Define what the CRM is supposed to know

Start away from the software. On one page, write the customer states your business cares about and how someone moves between them. For a B2B company that might be subscriber, lead, qualified lead, opportunity, customer, churned. For an ecommerce brand it might be subscriber, first-time buyer, repeat buyer, lapsed.

For each state, write the entry rule in plain English. “A lead becomes qualified when sales has spoken to them and confirmed budget and timing.” “A customer is lapsed when they haven’t ordered in 180 days.”

Then list the events the system would need to detect for those rules to work: form submitted, meeting held, deal created, order placed, subscription canceled.

This page becomes your reference for everything that follows. Most CRM problems are a gap between this page and what the system actually does. Often nobody has ever written it down, and you’ll find the sales and marketing versions disagree before you’ve opened a single workflow.

Step 2: Build an inventory

You can’t judge a system you haven’t listed. Create a spreadsheet with a tab for each of these:

  • Properties or fields. Name, type, which object, who created it, and roughly how many records have a value. Most platforms show usage or fill rate somewhere in the property settings.
  • Workflows and flows. Name, status, trigger, enrollment criteria, what it changes or sends, last edited date and owner.
  • Forms and entry points. Every place a record can be created: forms, imports, integrations, API, manual entry, chat.
  • Integrations. Each connected app, what it syncs, in which direction, and who set it up.
  • Users and permissions. Who can create fields, edit workflows, import data and delete records.

This is tedious. It’s also where a lot of findings come from. You’ll notice three properties called some version of “Lead Source”, a workflow last edited by someone who left two years ago, and an integration no one can explain.

Don’t fix anything yet. Write it down and keep going.

Step 3: Inspect the data

Data problems usually show up in four ways.

Duplicates. Search for the same email domain with several company records, or the same person with work and personal email. Check how duplicates get created in the first place. A form that creates new records instead of updating existing ones will keep producing them however often you merge.

Inconsistent values. Look at free-text fields that should be dropdowns. A country field containing “UK”, “U.K.”, “United Kingdom” and “England” can’t drive segmentation or routing reliably.

Missing values in fields that matter. Take the fields your routing, segmentation and reporting depend on and check their fill rate. If routing uses company size and 40% of new leads have no company size, a lot of leads are going to the default owner.

Ownerless and orphaned records. Contacts with no owner, deals with no associated contact, customers with no company. Each one is something that probably isn’t being followed up.

A quick test that works on any platform: pull 20 random records created in the last month and read them properly. Check whether you could act on each one if you were the salesperson or marketer. That sample usually tells you more than any dashboard.

Step 4: Trace the lifecycle

Compare your lifecycle stage counts against reality. If the CRM says you have 4,000 customers and billing says 2,600, something is setting the customer stage too generously or never removing it. Look at a handful of records in each stage and check whether they match the definitions you wrote in step 1.

Then look at movement:

  • How do records enter each stage? Find every workflow, form default, import and integration that writes to the lifecycle field.
  • Can records move backward? In many platforms stages only move forward by default. A lost deal can leave contacts sitting at “opportunity” indefinitely. Our guide to HubSpot lifecycle stages explains how this works in HubSpot specifically.
  • Are records stuck? Filter for records that entered a stage more than 90 days ago and haven’t moved. Some will be fine. Others will reveal a missing step.

Lifecycle is usually where business definitions and system behavior drift furthest apart, so expect this step to take longer than the others.

Step 5: Map the automation

Automation audits fail when they review workflows one at a time. Each workflow looks reasonable on its own. The problems sit between them.

Work from the fields instead. For each important field (lifecycle stage, owner, lead status, lead score, segment flags), list every workflow, integration and form that can change it. If more than one thing writes to the same field, check what happens when both fire for the same record. A common pattern: a routing workflow assigns an owner at 9:00, a round-robin integration reassigns at 9:01, and a third workflow sets the owner back because it re-enrolls on any property change.

Then follow one record through the whole system. Here’s how that usually goes:

Submit your own contact form as a test lead, using a company that already exists in the CRM. Trace what happens: which properties the form sets, which workflows enroll, which emails go out, who gets notified, what the lifecycle stage becomes and how long until someone acts. In many audits this single trace finds the worst problem, such as a notification still going to the inbox of someone who left last year.

Also check for:

  • workflows that are switched on but haven’t enrolled anyone in months, or have enrollment criteria that can never be met
  • re-enrollment settings that send the same message repeatedly
  • missing exclusions, such as current customers receiving acquisition emails or unsubscribed contacts being added to sales sequences
  • delays and timing that don’t match the business, like a “next day” follow-up that lands on Saturday

Step 6: Test the integrations

Integrations fail quietly. The sync stops for one field or one event, and the CRM keeps working with slightly older data until somebody notices a report looks odd.

For each integration in your inventory, confirm what it is supposed to sync, then test it with a real change. Update a record in the source system and check that it arrives, with the right values, in the right field. Check what happens when both systems change the same field. Look at the integration’s error or sync log if it has one. Many teams discover hundreds of failed records that nobody was alerted to.

Pay extra attention to anything built in Zapier, Make or n8n. They’re flexible, which also means they’re often built quickly, without error handling, by someone who may have since moved on. Check who owns the account they run under.

Step 7: Reconcile the reporting

Pick the three numbers leadership looks at most, perhaps new qualified leads per month, pipeline value and customer count. For each one, find the report, look at the filter logic, and reconcile it against another source: finance, the ecommerce platform, the billing system.

Differences are expected. What matters is whether you can explain them. “The CRM counts trial users as customers” is an explainable difference. “We don’t know why” means the report can’t be trusted for decisions until you find out.

Also check whether reports depend on fields with poor fill rates from step 3. A report grouped by lead source is only as good as the lead source field.

Step 8: Review governance

Governance sounds bureaucratic, but it’s what stops all of the above coming back six months after you fix it. Check:

  • how many people can create fields and workflows, and whether that number makes sense
  • whether naming conventions exist and are followed
  • whether anyone documents why a workflow exists, not just what it does
  • whether there’s a process for retiring things

A system with 25 admins and no naming convention will drift no matter how cleanly you rebuild it.

Turning findings into a plan

By now you’ll have a long list. Put it into a gap register, a table with these columns:

  • the finding, in one sentence
  • the evidence (record IDs, workflow names, report screenshots)
  • the business impact, in plain language
  • rough effort to fix
  • who owns the fix

Then sort. The order we’d suggest: fix anything that’s actively causing harm first (wrong emails to customers, leads not followed up, compliance issues with consent). Next come problems that corrupt data going forward, because every day they run makes the cleanup bigger. Only then tackle reporting and structural improvements.

Resist the urge to rebuild everything. Some findings are better fixed by changing a definition than by changing the software. If the lifecycle stage definitions were never agreed between sales and marketing, a new workflow won’t help.

How long does a CRM audit take?

A focused internal audit of a small system can take a few days. A mid-sized setup with several integrations and a hundred or more workflows usually takes several weeks of part-time effort, mostly spent on the inventory and the record traces. The variable that matters most isn’t database size. It’s how many things can write to the same fields.

Mistakes to avoid

Fixing while auditing. It’s tempting to delete a broken workflow the moment you find it. Don’t. You may not yet know what else depends on it, and you lose the evidence you need to explain the problem.

Auditing the tool instead of the process. A perfectly configured CRM that reflects the wrong definitions is still wrong. Step 1 exists for a reason.

Skipping the record trace. Reviewing settings tells you what should happen. Following real records tells you what does.

Working alone. Talk to the people who use the system daily. A sales rep who says “I never trust the owner field, I always check the notes” has just told you something important.

Where to go from here

If you want a quick read before committing to the full process, the free CRM Health Check asks about the same six areas and shows where your answers suggest problems. If you’d rather have an outside team run the review, our CRM Audit follows this structure and ends with a prioritized roadmap.

Want a second pair of eyes?

If you'd rather have someone run this review with you, a CRM Audit covers the same ground and ends with a prioritized roadmap.