VANDFORTBook a call
Every tool is free to use. Enter your email once and all five open.All resources

20.6% of Workers Have Been in Their Job a Year or Less: Lead List Normalization, the Phone, Title, Company and Domain Rules You Can Copy

Loose clear glass shapes enter a brass and gold machine, with uniform clear glass tiles emerging in a row on a cream background.

The routing rule looked simple: leads from companies with more than 500 employees in the United States go to the enterprise team. Then the event list landed. Country said "USA" on some rows, "United States" on others, "US" on a few and "U.S.A." on the rest. Phone numbers came in six formats, some with extensions typed after an "x", some missing the country code entirely. The company column held "Acme, Inc.", "ACME" and "acme.io". Half the enterprise leads fell into the general queue because the rule never matched, and nobody noticed for two weeks.

Before you can normalize a lead list, it helps to be clear about what the word means. Normalization is not cleaning in the sense of deleting bad rows. It is making the same fact look the same way every time, so that routing rules, matching rules, segments and reports can compare one row to another. A list that is not normalized can be perfectly accurate and still be useless to every system downstream.

20.6%of US wage and salary workers had a year or less of tenure with their employer (BLS, 2026)
26%of organizational data is untrustworthy, by data leaders' own estimate (Salesforce, 2025)
47%of lead and contact emails assessed were invalid or risky (Validity, 2024)

Normalizing a bought or event list before import? Start by removing the rows not worth keeping. Lead Cleaner takes a CSV and returns the addresses worth sending to, with a count of what came out and why. Nothing is enriched, looked up or kept.

The data moves under your feet. The US Bureau of Labor Statistics reported in September 2026 that 20.6 percent of wage and salary workers had been with their current employer for a year or less as of January 2026. Each job change produces a new title, company, domain and phone, typed into a different form. ZeroBounce's Email List Decay Report for 2025 found email databases degrade by at least 28 percent a year. In Salesforce's State of Data and Analytics report, published in November 2025 from surveys of more than 7,600 leaders, data and analytics leaders estimated that 26 percent of their organization's data is untrustworthy.

Validity's 2024 analysis of 264 billion CRM records found that only 31 percent of lead records had complete engagement data. Normalizing will not fix completeness, but it stops the data you do have from failing silently because it is written five different ways.


Diagnosis: why lead lists arrive unusable

When a list breaks routing, segmentation or matching after import, the cause is rarely one bad row. It is one of four habits in how lists get prepared.

1. Normalizing in place and losing the original

The fastest way to normalize a lead list is to overwrite each column with its cleaned version. It is also the way to lose information you cannot get back. A title like "Head of Revenue Systems, EMEA" overwritten with "Director" loses the region, the scope and the wording a rep would use in an email. Openprise makes the same argument in its August 2026 guidance on job titles: never overwrite the raw title field.

2. Free text where a code belongs

Country and state are the clearest case. If a routing rule checks for "United States", every row that says "US" or "USA" fails it. Salesforce built its State and Country/Territory Picklists for exactly this reason. Its implementation guide says the picklists let users choose from "predefined, standardized lists" and protect data integrity "by preventing typos, alternate spellings, and junk data," with two-letter ISO codes stored behind each value by default.

3. Treating company name as an identity key

Company names are written for humans. "Acme, Inc.", "ACME" and "Acme Incorporated" are one company, and "Acme Labs" might be a different one. The domain is a far better key, but only once it has been reduced to the part a company actually registers.

4. Guessing what was not provided

The quietest damage comes from rules that fill gaps with assumptions: adding +1 to every phone number without a country code, assigning a seniority to a title the rule does not recognize, or deriving a company domain from a personal Gmail address. Each guess then looks exactly like real data.

The pattern: a list becomes unusable not because the facts are wrong but because the same fact is stored in several shapes, and because cleaning steps overwrite or invent values instead of adding normalized columns beside the originals.

Framework: lead list normalization rules, field by field

The framework is a single principle applied to every field: keep the raw value, write a normalized value beside it, and flag rather than guess when a rule cannot decide. The rules below are a suggested starting point, not a standard. Adjust them for your markets and keep them in one shared document.

FieldNormalized outputRuleFlag, don't guess
Emaillowercase, trimmedRemove spaces including nonbreaking ones; check syntax; mark role inboxes (info@, sales@) and free-email domains in their own columnsInvalid syntax, role inboxes
PhoneE.164, e.g. +14155552671Strip punctuation; move extensions to a separate field; drop a domestic trunk zero when adding a country code; take the country code from the row's country, never from the rep's locationNo country and no + prefix; more than 15 digits
First and last nameProper caseFix all caps and all lowercase; split "Jane Doe" typed into one field; keep particles and prefixes such as van, de, Mc and O' as entered when the source already used mixed casePlaceholders ("test", "asdf", "n/a"), numbers in names
TitleRaw title cleaned, plus derived function and levelFix case, spacing and common abbreviations (Sr, VP, Dir); never overwrite the raw title; derive Function and Level into new fieldsTitles no rule recognizes
CompanyDisplay name plus a company keyKey: lowercase, strip punctuation, drop legal suffixes (Inc, LLC, Ltd, GmbH, SA); keep the display name as the company writes itKeys under three characters, generic words only
DomainRegistrable domain, e.g. acme.co.ukFrom website: strip protocol, www, path and query; reduce subdomains using the Public Suffix List; from email only when the domain is not a free providerEmail domain and website domain disagree
Country and stateISO two-letter codesMap every variant (USA, U.S., United States) to one code; store the code, display the nameValues that map to no code

A few of these rules need more than a line. On phone numbers, E.164 is the format most telephony and messaging platforms expect. Twilio's documentation, updated in July 2026, describes it as a number that starts with a plus sign, carries a country code of one to three digits and is limited to 15 digits in total. A UK number written as 020 7946 0000 becomes +442079460000: the trunk zero goes when the country code arrives. If a row has no country and no plus sign, the honest output is a flag, not a guessed +1.

On domains, the hard part is knowing where the registrable domain starts. "mail.acme.com" reduces to acme.com, but "acme.co.uk" cannot reduce to co.uk, because co.uk is a public suffix. The Public Suffix List, started by Mozilla and maintained as a community resource, is the reference for exactly that question, and most programming languages have a library that reads it. When email and website domains disagree, keep both: subsidiaries and acquisitions produce legitimate mismatches.

On titles, the useful output is not a cleaner title but two new fields. Function answers which department (Sales, Marketing, Finance, Operations, IT, Customer Success). Level answers how senior (C-level, VP, Director, Manager, Individual contributor). Precedence rules matter: "Assistant to the VP" is not a VP, and "Head of" is ambiguous enough to need a stated default. Openprise notes that "Vice President" signals less seniority in financial services, so allow industry overrides.

Design principle: normalization adds columns, it never replaces them. Every normalized value should be traceable to the raw value it came from, and every rule that cannot decide should leave a flag for a person instead of a plausible guess for a machine.

Implementation: six steps to normalize a list before import

This sequence works in a spreadsheet or a workflow tool. The order matters, because later steps depend on earlier ones.

Freeze the raw file and add row IDs. Copy the list, give every row an ID and never edit the original. Every normalized value should point back to a source row.

Remove rows that should not be imported at all. Take out invalid addresses, obvious test entries and rows with nothing usable before you spend effort normalizing them. Lead Cleaner handles this pass on a CSV and reports what it removed and why.

Normalize the location fields first. Map country and state to ISO codes before anything else, because phone normalization needs the country to pick the right country code, and routing usually needs it too.

Normalize email, phone and domain into new columns. Apply the table above. Derive the company domain from the website first and from the email second, and only when the email is not on a free provider. Write flags into a single "needs review" column with a short reason.

Derive function and level from titles, then build company keys. Run the title map on the cleaned raw title and leave unmatched titles blank with a flag. Build the company key last so you can compare it against the domain and catch rows where the two point to different companies.

Review the flags, then import and enforce at the source. Resolve flagged rows or keep them out of automation. Map the normalized columns to your CRM fields and apply the same rules at your forms and integrations. Once the list is normalized, deduplicate it with matching and survivorship rules; matching only works on values that have been made comparable.


Workflow: who owns each rule

Normalization rules decay when nobody owns them. New markets add phone formats and new personas add titles. Give each rule set an owner.

Automatic: format rules

Email casing and trimming, phone conversion to E.164 when a country is known, domain extraction and ISO country codes. Marketing ops owns them and runs them on every list and at every form.

Mapped: lookup tables

The title-to-function and title-to-level map, the list of legal suffixes and the list of free-email domains. RevOps owns the tables and adds common unmatched values to the map every quarter.

Reviewed: flagged rows

Phones without a country, conflicting domains, unrecognized titles and placeholder names. These go to a short review queue owned by sales ops or the SDR leader. A row stays out of routing and scoring until someone resolves it or marks it unresolvable.

Enforced: entry points

Forms, enrichment syncs and integrations write normalized values directly, so the cleanup does not repeat with every list. HubSpot, for example, flags capitalization, combined name fields, placeholder text and inconsistent country values, and as of October 2026 its knowledge base says automating those fixes in bulk requires Data Hub Professional or Enterprise. Whoever owns the CRM owns these settings.


Board narrative: why list preparation is a revenue question

Leadership will ask why routing missed an enterprise lead or why a segment report changed after an import. Three statements answer it.

What we standardize

"Every list is converted to the same formats before it touches the CRM: phone numbers in one international format, countries as codes, companies matched on their web domain, and titles mapped to a function and a seniority level."

What we refuse to guess

"When a rule cannot decide, the row is flagged and kept out of routing until someone checks it. We would rather route a lead a few hours late than send it to the wrong team with confidence."

What it protects

"Routing, territory and segment reports compare like with like. When a number moves after an import, it is because the market moved, not because the same country was spelled four ways."


Cross-domain: what normalized fields make possible downstream

Normalization is among the least visible and most load-bearing steps in the revenue engine.

Routing comes first. A Speed-to-Lead system can only send a lead to the right person quickly if the fields its rules read, such as country, company size and seniority, are written the way the rules expect. Our guide to choosing lead routing software by routing complexity covers how much of that logic belongs in a tool and how much in the data, and our framework for automating territory and account assignment shows why ownership rules break first on unnormalized location and domain fields.

Identity comes second. Matching two records as the same person or the same company only works on values that have been made comparable, which is why normalization runs before deduplication, not after it. Our piece on identity resolution as the layer every report depends on explains how normalized domains and emails become the keys that hold accounts together.

Targeting comes third. A Signal-Based Outbound Engine decides who to contact using function, level and account. Free-text fields make it miss the right people. Each VANDFORT system is tested on around 20 of the client's own past cases before it goes live and ships at 85 percent or does not ship; inconsistent input fields are one of the first things that test exposes.


Frequently asked questions

What does it mean to normalize a lead list?

It means making the same fact look the same way in every row: one phone format, one code per country, one form of each company domain, and titles mapped to a consistent function and level. It differs from cleaning, which removes bad rows, and deduplication, which merges records, and it sits between the two.

What format should phone numbers be in a CRM?

Store them in E.164: a plus sign, a country code of one to three digits and the national number, no spaces or punctuation, 15 digits at most. A US number becomes +14155552671. Keep extensions in a separate field. If a number has no country code and the row has no country, flag it rather than assuming one, because a wrong country code makes the number unreachable.

Should I standardize job titles in my CRM?

Clean them, but do not replace them. Fix casing, spacing and abbreviations in the raw title, then derive two new fields: job function, such as Finance or Marketing, and job level, such as VP or Manager. Segments, scoring and routing use the derived fields, while reps keep the exact wording for personalization. Overwriting the raw title loses detail you cannot recover.

How do I get a company domain from an email address or website?

From a website, remove the protocol, "www", any path and any query string, then reduce subdomains to the registrable domain using the Public Suffix List, so mail.acme.com becomes acme.com but acme.co.uk stays acme.co.uk. From an email, take everything after the @ only if it is not a free provider such as gmail.com. If the two disagree, keep both and flag the row.

How do I normalize company names for matching?

Build a separate company key rather than changing the display name. Lowercase it, remove punctuation and drop legal suffixes such as Inc, LLC, Ltd and GmbH, so "Acme, Inc." and "ACME" both become "acme". Use the key to find candidates and the domain to confirm them, because different companies can share a similar name while a domain belongs to one organization.

Sources: US Bureau of Labor Statistics, Employee Tenure in 2026, September 2026. Salesforce, State of Data and Analytics, November 2025. Validity, analysis of 264 billion records, October 2024. ZeroBounce, Email List Decay Report for 2025. Twilio, What is E.164?. Public Suffix List. Salesforce, State and Country/Territory Picklists. HubSpot, Manage property format issues. Openprise, Data normalization basics. VANDFORT, Lead Cleaner.

Read next