gtmjosh
CRM Data Quality
Chapters
  1. 01 · What Makes CRM Data Trustworthy?
  2. 02 · Run a Baseline Data Audit
  3. 03 · Find and Prevent Duplicates
  4. 04 · Standardize and Validate Records
  5. 05 · Handle Consent, Opt-Outs, and DNC
  6. 06 · Handle Job Changes, Departures, and Churn
  7. 07 · Enrich the Records That Matter
  8. 08 · Resolve Conflicting Values
  9. 09 · Choose What to Buy, Configure, Connect, or Build
  10. 10 · Establish Continuous Checks and Quarterly Audits
  11. 11 · Capstone: Repair a Broken CRM Population
Guide overview →

12 min · Interactive exercise

Chapter 4 of 110 complete

Standardize and Validate Records

Cover manual entry, bulk import, and integration writes with one normalization rule, not three different ones.

GTM Lab's Contact phone field has five formats in active use. A routing rule that expects one normalized format keeps misrouting calls. Someone builds a fix scoped to the manual-entry form. Reps typing in a new Contact by hand now get a clean number. The routing rule keeps failing anyway, because a weekly marketing list import and a nightly integration sync both write the same inconsistent formats straight past the form the fix was scoped to.

A canonical form needs every door covered

Normalization makes a value consistent; validation catches a value that shouldn't save at all. Neither is complete until it's specified where it runs: manual entry, bulk import, and integration write. A rule that only fires on the manual-entry form isn't a smaller, weaker version of full coverage. It's a rule that looks like it's working while the real problem keeps recurring through every other path.

The decision: canonical form, every trigger point, a real enforcement choice

For each field family that feeds a report, routing rule, or handoff, define a canonical form, the full set of trigger points it must cover, and an enforcement behavior: block, block-and-flag, flag-only, or auto-correct-and-flag. Blocking every import over one bad phone number usually isn't worth the disruption; auto-correct-and-flag is often right for bulk paths, with block-and-flag reserved for manual entry, where a person can fix it immediately.

Carry this into your business

Test a new validation rule against every path data actually enters through, not just the form you happened to be looking at when you built it.

GTM Lab

Saved locally
CRM Data Reliability Plan · 0 of 11 sections started

Saved locally to your browser.

Close the trigger-point gap

Set the canonical form for phone, country, and job title, cover every trigger point, and run the batch.

Fixture: inconsistent-field-batch

GTM Lab Contacts · inconsistent formats

FIXTURE-INCONSISTENT-FIELD-BATCH
Phone (manual entry)
(555) 123-4567
Phone (bulk import)
555.123.4567
Phone (integration sync)
+1-555-123-4567
Country
"USA", "U.S.", "United States"
Job title picklist
"VP Sales", "Vice President, Sales", "vp-sales"
Resets every run.

Set the canonical form

Phone: E.164 with country code. Country: canonical name. Job title: approved picklist value

Which trigger points must the rule cover?
A badly formatted value arrives. Should the rule behave the same way whether a rep typed it or an import delivered 4,000 of them?
Chapter 4 of 110 complete