Insights & News

CRM Data Hygiene: How to Clean Up Your HubSpot and Keep It That Way

Why Data Quality Is the Foundation of Every CRM Decision You Make

Your HubSpot CRM is only as useful as the data inside it. When your data is clean, your sales team knows exactly who to call, your marketing team sends the right message to the right person, and your leadership team makes decisions based on reality rather than guesswork. When your data is dirty, everything falls apart — slowly, invisibly, and expensively.

Most businesses don't wake up one morning to discover their CRM is a mess. It happens gradually. A duplicate here, a missing field there, an inconsistent entry that nobody notices. Over months and years, these small issues compound into a database that nobody trusts, and when nobody trusts the CRM, they stop using it properly — which makes the problem even worse.

Data quality affects every part of your business. Your sales team wastes time chasing contacts who've already been spoken to by a colleague. Your marketing team sends emails to addresses that bounce, damaging your sender reputation. Your reports show inflated numbers because duplicates are being counted twice. And your forecasts are built on foundations of sand.

The Real Cost of Bad Data

If you think data hygiene is a "nice to have," consider this: research consistently shows that bad data costs businesses between 15% and 25% of their revenue. For a company turning over £1 million, that's up to £250,000 lost every year to poor decisions, wasted effort, and missed opportunities — all because the information in the CRM can't be trusted.

These costs show up in ways you might not immediately connect to data quality. Sales reps spend roughly 30% of their time on non-selling activities, and a significant chunk of that is hunting for correct information, deduplicating records, or working around gaps in the CRM. Marketing campaigns underperform because segmentation is based on incomplete or inaccurate data. Customer service suffers because the full picture of a customer's history isn't available in one place.

Beyond the direct financial impact, there's a cultural cost. When your team loses confidence in the CRM, they start keeping their own spreadsheets, notebooks, and mental records. This creates silos, reduces collaboration, and makes it nearly impossible to get a single view of the customer. The CRM becomes a box-ticking exercise rather than the powerful business tool it's supposed to be.

The 5 Most Common Data Problems in HubSpot (and How to Fix Each One)

1. Duplicate Contacts and Companies

Duplicates are the most visible data quality problem, and they're almost inevitable without active prevention. They happen when the same person is entered into HubSpot through multiple channels — they fill out a form with one email, a sales rep manually creates them with another, they download a resource using a personal address. Companies get duplicated when different team members enter "Acme Ltd," "Acme Limited," and "ACME" as separate records.

The impact of duplicates goes beyond just having messy data. When a contact exists twice, their activity history is split across two records. A sales rep might not see that a lead already downloaded a case study and attended a webinar because that activity is logged against the duplicate. Marketing emails might be sent twice to the same person, which looks unprofessional and increases unsubscribe rates. Reports overcount your database size, giving you a false picture of your pipeline and audience.

How to fix it with HubSpot's merge tool: navigate to Contacts > Actions > Merge duplicates. HubSpot will identify potential duplicates based on email address, name, and other matching criteria. Review each suggested pair carefully — HubSpot shows you both records side by side so you can choose which values to keep. When you merge, all activity history, notes, and associations from both records are combined into one. Work through duplicates in batches of 20 to 30 at a time to avoid fatigue-related mistakes.

How to prevent them going forward: establish email address as the unique identifier and train your team to always search before creating. Use HubSpot forms (which automatically deduplicate based on email) as the primary entry point for new contacts wherever possible. Set up a Zapier automation that alerts you when a new contact is created manually, so you can verify it's not a duplicate. Review the duplicates tool monthly rather than letting them accumulate.

2. Missing Critical Fields

A contact record with just a name and email address is barely useful. Without knowing their company, job title, lifecycle stage, lead source, and industry, your team can't prioritise, segment, or personalise effectively. Yet most HubSpot databases have significant gaps in these critical fields.

The fields that matter most depend on your business, but for most B2B organisations, the essentials include: email address, first name, last name, company name, job title, lifecycle stage, lead source, phone number, and industry. For companies, you need at minimum: company name, industry, company size, website, and associated contacts.

How to identify gaps: create a list in HubSpot filtered by "Job Title is unknown" or "Company Name is unknown." The size of these lists tells you the scale of your problem. Run this check for each critical field. You'll likely find that some fields are well-populated (email, obviously) while others are nearly empty.

How to fix it: for existing records, there are several approaches. First, check if the information already exists somewhere else — in email signatures, LinkedIn profiles, or your team's memory. A focused data enrichment session where your team spends an hour updating records can fill hundreds of gaps. For fields like lifecycle stage or lead source, you may need to make judgment calls based on how the contact entered your database. Use HubSpot's bulk edit feature to update multiple records at once when you can apply the same value.

How to prevent it: make critical fields required on your HubSpot forms — if someone won't give you their company name, they probably aren't a serious lead. For manually created contacts, establish a team rule that no contact is created without completing the essential fields. Progressive profiling on forms (available even on Starter) lets you ask for different information each time a contact converts, gradually building a complete picture without overwhelming them with long forms.

3. Inconsistent Data Entry

This is the silent killer of CRM data quality. Your database might look full and complete, but if the same information is entered differently by different people, it's almost impossible to filter, segment, or report accurately.

Real examples we see constantly: "United Kingdom" vs "UK" vs "U.K." vs "Great Britain" vs "England." "Managing Director" vs "MD" vs "Director" vs "Owner." "Financial Services" vs "Finance" vs "Banking" vs "FinTech." Each variation creates a separate segment, so when you try to filter contacts by country or industry, you miss huge chunks of your database.

The fix is standardisation. Wherever possible, replace free-text fields with dropdown select properties. In HubSpot, go to Settings > Properties, find the property, and change its field type from "Single-line text" to "Dropdown select." Define your approved values (for example, "United Kingdom" as the single accepted country name) and then clean up existing records to match. Use HubSpot's bulk edit feature to find and replace inconsistent values.

For fields that must remain free-text (like company name), create a style guide for your team. Document exactly how to enter common variations. "Always use the full legal company name. Always capitalise properly. Never include Ltd or Limited unless it's part of how they brand themselves." Share this guide in your team wiki and reference it during onboarding.

You can also use Zapier to auto-format data as it enters HubSpot. For example, create a Zap that triggers when a new contact is created and uses the Formatter tool to capitalise names properly, standardise country names, or clean up phone number formats. This catches errors at the point of entry before they pollute your database.

4. Stale Contacts

A stale contact is someone who hasn't engaged with your business in a defined period — typically 6 to 12 months, depending on your sales cycle. They haven't opened an email, visited your website, replied to an outreach, or made a purchase. They're just sitting in your database, costing you money and dragging down your metrics.

Why stale contacts matter: first, if you're on a HubSpot plan with contact-based pricing, every contact costs money whether they're engaged or not. Second, sending marketing emails to people who never open them damages your sender reputation, which means your emails are more likely to land in spam for everyone — including your engaged contacts. Third, stale contacts inflate your database size and skew your reporting. A "10,000-contact database" sounds impressive until you realise 4,000 of them haven't engaged in two years.

How to handle it: start by defining "stale" for your business. Create a HubSpot list with the criteria "Last Activity Date is more than 6 months ago" AND "Last Email Open Date is more than 6 months ago." This is your stale list. Next, run a re-engagement campaign — send a simple email asking if they'd still like to hear from you, with a clear "Yes, keep me subscribed" link. Anyone who doesn't engage within 30 days gets moved to an archive.

To archive, create a static list called "Archived — Stale Contacts" and move them there. You can remove them from your marketing contacts (which reduces your contact tier costs on applicable plans) without deleting them entirely. If they ever re-engage — visiting your website, filling out a form — you can bring them back.

5. No Lead Source Tracking

If you can't tell where your leads are coming from, you can't make intelligent decisions about where to invest your marketing budget. Yet many HubSpot databases have "Offline" or "Direct Traffic" as the source for the vast majority of contacts, which tells you almost nothing.

UTM parameter setup: UTMs are tags added to the end of URLs that tell HubSpot exactly where a click came from. The key parameters are: utm_source (the platform, e.g., "linkedin" or "google"), utm_medium (the channel type, e.g., "paid" or "organic" or "email"), and utm_campaign (the specific campaign name). Use Google's Campaign URL Builder or a UTM spreadsheet template to generate consistent URLs for every link you share externally.

HubSpot's Original Source property automatically captures high-level source data when the tracking code is installed on your website. Make sure the HubSpot tracking code is on every page of your site — check by going to Settings > Tracking & Analytics > Tracking Code. For WordPress sites, use the HubSpot plugin to install it automatically.

For offline sources (trade shows, referrals, phone calls), create a dropdown property called "Offline Lead Source" with values like "Trade Show," "Referral," "Phone Enquiry," and "Networking Event." Train your team to populate this for every manually created contact. You can also add a "How did you hear about us?" dropdown to your forms to capture source data directly from the prospect.

Why attribution matters: when you can see that LinkedIn ads generated 50 leads but only 2 became customers, while referrals generated 10 leads and 5 became customers, you know exactly where to focus. Without source tracking, you're flying blind.

Your Monthly Data Hygiene Checklist

  • Merge duplicates (20 mins): Contacts > Actions > Merge duplicates. Review and merge all suggested pairs.
  • Check critical field completion (15 mins): run saved lists for each critical field where value is unknown. Target the largest gaps first.
  • Review new contacts from last month (15 mins): filter by Create Date = last 30 days. Spot-check 20 random records for completeness and accuracy.
  • Clean up lifecycle stages (15 mins): check for contacts stuck in wrong stages. Are there "Leads" who should be "Customers"? "MQLs" with no activity?
  • Review bounced emails (10 mins): filter by Email Hard Bounce Reason is known. Remove or update these contacts.
  • Check for stale contacts (15 mins): review your stale contacts list. Run re-engagement if needed. Archive the unresponsive.
  • Audit lead sources (15 mins): check how many new contacts have "Offline" or blank source. Investigate and fix where possible.
  • Review and update company records (15 mins): check for orphan contacts (no company association) and incomplete company records.

Prevention Strategies That Keep Your Data Clean Long-Term

Forms are your first line of defence. Every form on your website should use dropdown fields instead of free-text wherever possible. Make critical fields required. Use progressive profiling to gradually enrich records without creating friction. Test every form to make sure data flows into the right HubSpot properties.

Dropdown properties prevent inconsistency. Audit your HubSpot properties and convert any free-text field that has a finite set of acceptable values into a dropdown. Country, industry, job role, company size, lead source — these should all be dropdowns. Yes, it takes time to set up, but it saves exponentially more time in ongoing cleanup.

Team rules create accountability. Document your data entry standards in a one-page guide. Cover naming conventions, required fields, how to search before creating, and how to log activities. Share it with every team member and reference it in your onboarding process. Consider assigning a "data champion" who reviews new entries weekly.

Zapier auto-formatting catches what humans miss. Set up Zaps that trigger when contacts are created or updated in HubSpot. Use the Formatter step to standardise text (proper case for names, consistent phone number format, standardised country names). This runs automatically in the background, cleaning data as it enters your system without requiring any manual effort.

When and How to Do a Full Data Audit

A monthly checklist keeps things tidy, but once a year (or whenever you inherit a messy CRM), you need a full audit. This is a more intensive process that typically takes one to two days.

  • Step 1: Export everything. Export your contacts and companies to a spreadsheet. This gives you a snapshot to work with and lets you use spreadsheet tools (filters, pivot tables, conditional formatting) to identify problems at scale.
  • Step 2: Assess completeness. For each critical field, calculate the percentage of records where it's populated. Anything below 80% needs attention. Anything below 50% is a serious problem.
  • Step 3: Assess consistency. For key fields like country, industry, and job title, look at the unique values. If "country" has 47 different entries when it should have 5, you've found an inconsistency problem.
  • Step 4: Identify and remove junk. Look for test records, competitor contacts, personal email addresses (if you're B2B), and obviously fake entries. Remove or archive these.
  • Step 5: Build your cleanup plan. Prioritise the issues by impact. Duplicates and missing lifecycle stages usually have the biggest immediate effect on sales and marketing performance. Work through each issue systematically, updating records in HubSpot as you go.
  • Step 6: Implement prevention. After the audit, put the prevention strategies above in place so you don't end up back in the same position next year.

Grow your pipeline with Revio.

Tell us your growth target and we'll show you exactly how we'd get there — channels, timeline and the numbers we'd hold ourselves to.