Loading tutorials…
Loading tutorials…
Data quality is the silent killer of CRM trust. Reps stop using Zoho when they cannot find the record they need, or find three duplicates of it. Marketing stops scoring leads when 30% have fake email domains. Here is the diagnostic + repair sequence that holds up.
Who this is forRevOps leads, sales managers, and founders inheriting a Zoho org with years of accumulated mess — or anyone running an import that produced 2,000 duplicates. If 'we have three records for the same company' or 'we cannot trust the contact count' is your reality, this tutorial is for you.
What you'll need
Step 1
Before "fixing" data, measure the problem. Reports → run dedup-finder, dirty-field-finder, orphan-record-finder. Build the baseline.
Run Setup → Data Administration → Find and Merge Duplicates → run for Leads, Contacts, Accounts, Deals separately. Each returns potential duplicate groups Zoho identified.
Build a 'Dirty Data' custom view per module: e.g., Contacts where Email Address is empty OR Phone is empty OR Email contains 'test'/'fake'/'asdf'.
Build an "Orphan Deals" view: Deals where Account Name is empty AND Stage is not Closed Lost. Orphans are deals with no company association — usually broken from a bad import.
Build a "Stale Records" view: records where Modified Time > 6 months ago AND Stage = active. These have not been touched in half a year — likely abandoned.
Take screenshots of the baseline counts. You need a "before" measure to prove the cleanup worked (and to justify the time spent to leadership).
Step 2
Setup → Data Administration → Export → "Module Data." Export every module to CSV/Excel before any merge / delete. Store outside Zoho.
Open Setup → Data Administration → Export Data.
Pick "All Modules" or select individually (Leads, Contacts, Accounts, Deals, Tasks, Calls, Meetings, plus any custom modules).
Pick CSV format. Click "Export." Zoho generates an export package, usually emailed when ready (large orgs can take 1-2 hours).
Download the export. Store on a local backup drive AND in cloud storage (Google Drive, Dropbox, S3). Do NOT only store in Zoho — you are backing up Zoho.
Verify the backup: open a few CSV files, confirm row counts roughly match the in-Zoho record counts. A corrupted export is worse than no export.
Step 3
Setup → Modules and Fields → click module → Duplicate Check Rules. Define which field matches mean "this is the same record."
Open Setup → Customization → Modules and Fields → e.g., Contacts → Duplicate Check Rules → "+ New Rule."
Pick the match-fields: for Contacts, Email is the standard dedup key. Add Phone as a secondary check if you have good phone data.
For Accounts, Domain is the cleanest match. (Add a custom 'Root Domain' field if Website field is messy — strip protocol, www, paths.) Pattern: 'acme.com' matches 'www.acme.com' but NOT 'acme.io' or 'acme.co.uk'.
For Leads, Email + Phone composite. Many leads have one but not the other; matching on either alone catches more duplicates.
Action on duplicate: "Block New Entry" (strict — rejects the create), "Set as Duplicate" (soft — creates record but marks as duplicate for later merge), or "Don't Allow Duplicate" with merge option.
Block New Entry is the right default for Contacts and Accounts. For Leads, 'Set as Duplicate' is often better — sometimes you genuinely want to log the new touchpoint even if the person already exists, then merge later.
Step 4
Setup → Data Administration → Find and Merge Duplicates. Run for each module. Review every suggested merge — Zoho gets some wrong.
Open Setup → Data Administration → Find and Merge Duplicates.
Pick the module: Contacts (start here — emails are the strongest dedup signal).
Click 'Find Duplicates.' Zoho scans and groups records that match the Duplicate Check Rule.
For each group, Zoho shows the records side-by-side. Pick the "Master" record (the one to keep — usually the one with most activity history or the most complete fields). Confirm which fields to merge from non-masters.
Common gotchas: Zoho sometimes proposes merges that are NOT actually duplicates (e.g., two people named "John Smith" at the same company). Review every suggested merge before clicking Merge.
For very large dedup sets (1,000+ groups), do not bulk-merge. Work through 50-100 per session. Bulk-merging without review is how you destroy real customer data.
Step 5
Setup → Process Management → Approval Process. Force review before certain records or field changes are committed. Prevents bad data at the source.
Setup → Process Management → Approval Process → "+ Create Approval Process" (Enterprise+).
Common approval use cases: 'New Account created by SDR → require Sales Manager approval before activation.' 'Discount field changed by Rep on a Deal → require Manager approval if discount > 20%.' 'Lead converted to Contact → require RevOps approval to ensure data hygiene.'
Approval process steps: trigger (what causes approval to fire), criteria (when does it apply), approver(s) (who needs to approve), what happens on approve / reject.
Keep approval workflows tight — past 3-4 approval workflows in active use, reps complain about bureaucracy. Apply only where bad data has real downstream cost (discount approvals, account merges, custom field overrides).
Step 6
Workflow Rules → Field Update + Validation. Force standard formatting (capitalize names, lowercase emails, strip phone formatting) automatically.
Setup → Automation → Workflow Rules → "+ Create Rule."
Workflow 1 — Email Cleanup: Trigger = Contact Email field modified. Action = Field Update: set Email to lowercase, trim whitespace, strip 'mailto:' prefix.
Workflow 2 — Phone Cleanup: Trigger = Phone field modified. Action = Custom Function (Deluge) that strips '(', ')', '-', '.', spaces and normalizes to digits.
Workflow 3 — Domain Extraction: Trigger = Account Website modified. Action = Custom Function that extracts the root domain (acme.com from https://www.acme.com/about) and writes to a 'Root Domain' field for cleaner dedup.
Workflow 4 — Name Capitalization: Trigger = Lead/Contact First Name or Last Name modified. Action = Field Update with formula that title-cases the name (john smith → John Smith). Catches all-lowercase form submissions.
These workflows run every time the field changes. New bad data gets normalized at creation. Old bad data needs a one-time bulk fix.
Step 7
Monthly: re-run the diagnostic views. Build a "Data Health" dashboard showing dedup counts, dirty-field counts, orphan counts. Watch the trend.
Build a Data Health dashboard: Duplicate Count by Module, Records Missing Critical Fields, Orphan Deals, Stale Records (>6mo no activity).
Pin to a Sales Ops / RevOps weekly review.
Track each metric over time. If duplicates trend up, the Duplicate Check Rules need tightening. If orphan deals trend up, the auto-association on import or lead conversion is broken.
Assign hygiene ownership to one person (RevOps lead or designated CRM admin). Without a named owner, data quality is everyone's job and nobody's job.
Quarterly: bigger audit. Run full Find and Merge Duplicates, full Stale Records review, full field-permission audit. Two-hour session that prevents the death-spiral of compounding mess.
Common mistakes
Skipping the backup before cleanup
What goes wrong: RevOps merges 800 contacts to clean dupes. Two are not actually dupes — they were customers with similar names. Their deal histories are now combined on one record, invoice history on another. Untangling this is impossible without the pre-merge data. Lost: 40 hours of detective work + customer-trust damage.
How to avoid: Setup → Data Administration → Export → full module export → save outside Zoho. Always. Before every cleanup session. No exceptions.
Bulk-merging duplicates without per-group review
What goes wrong: Zoho's auto-merge looks confident — 'Found 2,400 duplicate groups, click Merge All.' You click. 200 of those were not real duplicates (different contacts who shared a phone number, different deals at the same company). Customer records are now corrupt. Some are unrecoverable past Zoho's 60-day soft-delete window.
How to avoid: Never bulk-merge without per-group review. Work through 50-100 groups per session. Trust Zoho on email-match dedups, distrust on phone-only or fuzzy-name dedups.
No Duplicate Check Rule on Accounts
What goes wrong: Default Zoho only dedups Contacts on email. Accounts can be created with any name — 'Acme,' 'Acme Inc,' 'Acme, Inc.,' 'ACME INC.' Within a year you have 4 versions of the same company. Pipeline reports show three different revenue numbers per account.
How to avoid: Setup → Modules and Fields → Accounts → Duplicate Check Rules → match on Website Domain (or a custom Root Domain field). Block on duplicate. Bulk-merge existing dupes with per-group review.
Hygiene workflows missing → drift returns within weeks
What goes wrong: Owner spends a Saturday cleaning data — merges duplicates, normalizes capitalization, strips phone formatting. Two weeks later, new form submissions reintroduce all-lowercase names and (555) 123-4567 phone formats. The Saturday is wiped out.
How to avoid: Build Workflow Rules that normalize on creation: lowercase emails, title-case names, digit-only phones, extract root domain. New bad data gets cleaned automatically.
No assigned data-hygiene owner
What goes wrong: Everyone agrees 'data quality matters.' Nobody is responsible for it. The Data Health dashboard goes unread. Duplicates accrue. Within 6 months the post-cleanup state is worse than pre-cleanup.
How to avoid: Assign one owner (RevOps lead, CRM admin, or designated ops person). Weekly review of Data Health dashboard. Monthly bigger audit. Quarterly major cleanup. Without an owner, hygiene is theater.
Approval workflows on everything
What goes wrong: Owner builds 8 approval workflows in week one. Reps cannot save new Accounts, cannot edit Discount, cannot change Stage without manager sign-off. Sales velocity drops 40%. Reps revert to spreadsheets. The CRM becomes a graveyard.
How to avoid: 2-3 approval workflows max, applied only where bad data has real downstream cost (discount approval, account merge, conversion). Everything else uses validation rules or no enforcement.
Recap
Done — what's next
How to set up Zoho modules and custom fields without making a mess
Read the next tutorial
Hand it off
Data quality work is some of the most expensive 'wait, did we just merge two real customers?' work in CRM ops. Specialists who have run dedup on 30+ orgs know which merges to trust, which to reject, and how to set up the hygiene workflows that prevent drift. EverestX Zoho specialists run data-hygiene engagements for $400-1,200 + $200-400/mo ongoing at $14-16/hr.
See specialist rates
Zoho's Find and Merge is similar to HubSpot's Duplicate Manager and Salesforce's Duplicate Rules — same per-group review pattern. Zoho's edge: configurable Duplicate Check Rules per module (not just on email). Zoho's weakness: limited fuzzy matching compared to Salesforce's matching algorithm. For high-volume dedup needs, augment Zoho with a third-party tool like Insycle or Zoho's own Zia AI dedup (Enterprise+).
Partially. The master record retains all merged data. Non-master records are moved to 'Recycle Bin' for 60 days, then permanently deleted. If you catch a bad merge within 60 days, restore from Recycle Bin (Setup → Data Administration → Recycle Bin). Past 60 days, the only recovery is from your export backup.
Duplicate Check prevents creating a record that matches an existing one. Field-Level Validation prevents saving a record with invalid field values (e.g., 'Email must contain @,' 'Amount must be > 0,' 'Closing Date cannot be in the past'). Both run at save time. Both should be configured. They solve different problems — Duplicate Check is anti-duplication, Validation is anti-garbage.
Setup → Data Administration → Imports → click the bad import → 'Roll Back.' This deletes all records created by that specific import. Available for 60 days after the import. Past 60 days, you would need to manually filter and delete by Created Time / Created By. Always keep your import CSV files — you can rebuild from them.
Zia AI dedup (Enterprise+) is good at catching fuzzy matches the rule-based Duplicate Check misses (e.g., 'John Smith at Acme Corp' vs 'J. Smith at Acme'). Use it as a SECONDARY pass after rule-based dedup, not a replacement. Always review Zia-suggested merges before accepting — it has false positives like any ML system.
Zoho CRM
Modules are the foundation of every Zoho report, workflow, and Blueprint. Get them right and your data layer is clean for years. Get them wrong — wrong field types, custom modules where a custom field would do, layouts that show every field to every user — and you spend weekends untangling. Here is the discipline.
Zoho CRM
Zoho CRM is one of the most feature-dense platforms on the market — which is exactly why most owners get it wrong on day one. Profiles and roles look similar but solve different problems, and the wrong combination leaks pipeline visibility across teams within weeks. Here is the setup sequence that holds up.
HubSpot CRM
Contacts, Companies, and Deals are the three records every HubSpot motion runs on. Get the relationship between them right and your reports are clean for years. Get it wrong and you spend Saturdays untangling duplicate companies and orphaned deals. Here is the discipline.
Zoho CRM
DIY Zoho is a great idea — until it isn't. Zoho rewards specialization more than almost any other CRM because the platform is so feature-dense. This is the honest framework for when the cost of self-managing exceeds the cost of hiring help.