CRM Strategy 2026-05-29 By Tonic Desk · 4 min read

Quarterly CRM data hygiene checklist: 9 things that fix 90% of pipeline mess

Every CRM I have ever inherited has the same problem: it looks fine until you run a report. Then the same person appears three times, half the deals are owned by someone who left in 2024, and the pipeline total is somehow $4M higher than what the sales team would actually defend in a forecast meeting.

You do not need a data team or a vendor to fix this. You need 90 minutes once a quarter and a short list of checks that actually catch problems. This is the one I have used at three companies. It is boring on purpose.

The checklist

1. Duplicate contacts by email

Run a report grouping contacts by email address. Anything appearing twice is a merge candidate. The usual cause is someone importing a CSV without checking the de-dupe box. Aim for under 0.5% duplicates of total records. Above 2% and your sequences are double-sending.

2. Duplicate companies by primary domain

Same idea, but on the company domain field. acme.com and www.acme.com should not both exist. Neither should acme.com and acme.co.uk if they are the same legal entity. Merge based on which record has more attached contacts and deals.

3. Contacts with no owner

Run a filter: owner is empty. These are usually orphaned from a rep leaving. Either reassign to the current account owner or move to a "house" account that gets nurturing emails only. Do not leave them ownerless: they will not get followed up on and they distort your "contacted in last 90 days" metric.

4. Open deals with last activity > 60 days

This is the single highest-value check on the list. Sort open deals by last activity date, ascending. Anything not touched in 60+ days is either stalled (and should move to a "dormant" stage) or dead (close-lost it). Most teams have 20-30% of their pipeline in this bucket. Cleaning it produces an honest forecast for the first time in months.

5. Deals with a close date in the past

Stages do not auto-update close dates. If a deal was meant to close in March and it is now May, the rep is either avoiding the conversation or the deal has slipped meaningfully. Either way, the close date is lying to your forecast. Bulk-edit to a realistic future date or close-lose it.

6. Stages with zero probability assigned

If your "Negotiation" stage has no probability set, your weighted forecast is wrong. Check each stage in Settings and confirm probabilities are set and roughly match historical conversion. A common pattern: Lead 10%, Qualified 25%, Proposal 50%, Negotiation 75%, Verbal 90%.

7. Custom fields with under 5% fill rate

Pull a field usage report. Any custom field that under 5% of records use is either confusing reps or solving a problem nobody actually has. Archive it. Two empty fields are worse than one well-filled one because they signal the form is optional.

8. Email addresses that bounce or unsubscribe

If you sync your sending tool, this should already flow back into the CRM. If not, export bounces from the last 90 days and mark those contacts as "do not email." Sending to a known-bad address does not just fail, it can affect your domain reputation if you keep doing it.

9. Owners who no longer work here

Filter users where status is inactive but still own records. Bulk-reassign everything to the team manager or the new account owner. Do not deactivate the user account until this is done or you will lose the audit trail of who originally owned what.

How long it takes

Done in a focused 90-minute block, the whole list takes one person. Don't try to do it in standup, don't ask the sales team to fix their own data. They will not. Do it for them, send a short summary of what changed, and put it on the calendar for next quarter.

The honest test is whether your next forecast meeting feels different. If the VP of Sales stops saying "well, that pipeline number is not real" you did it right.

More posts

Keep reading

Ready to refresh your CRM?

Free for 5 users. Every feature, every plan. No credit card.