“Build a list of HVAC companies” sounds specific until you try to do it. Does the request include manufacturers, distributors, residential contractors, commercial mechanical firms, franchise locations, and companies that mention HVAC only because they sell financing? An industry list needs a boundary before it needs a database.
Define the industry in terms a source can support
Start with the customer problem and translate it into business categories. If NAICS fits the research task, identify the relevant sector, subsector, or industry codes using the Census Bureau’s current NAICS resources. Save both the code and the plain-language inclusion rule because vendors do not always map industries identically.
For example, a list aimed at local plumbing contractors should not silently mix in plumbing fixture wholesalers just because both contain “plumbing.” Write examples of included and excluded companies so a researcher can resolve edge cases.
If the industry is better defined by licensing, certification, or a specialized public directory, use that source as the starting universe rather than forcing everything through NAICS.
Choose the account universe before searching for people
Build company rows first. A useful account table might contain: - company name; - website/domain; - city/state; - industry classification and source; - employee or location size if relevant; - service area; - fit notes; - source URL; - date checked.
Deduplicate companies before adding contacts. Domains are often a strong account identifier, but watch for franchises, parent/subsidiary structures, and businesses that share a corporate website.
For local industries, state license databases, association directories, chamber directories, public procurement lists, and business websites can produce stronger account evidence than a generic people database.
Add a buyer role that matches the company’s size
Do not hard-code one title across every account. In a 12-person contractor, the owner may choose software. In a 200-person company, an operations director or finance manager may own the same decision.
Define the responsibility, then accept a small title set per size band. Save role evidence such as a team page or professional profile where available.
A list with ten contacts at one account is not automatically better than a list with one relevant contact. Use multiple contacts only when the buying process genuinely involves several functions or when role uncertainty justifies a backup.
Verify the fields that matter before enrichment expands the record
Check that the domain belongs to the right company and that the company still operates in the target market. Verify contact role and business email separately. If an email verifier labels the address “catch-all,” store that result instead of converting it to “valid.”
Add a `verified_at` date and a source field. If a phone number came from a vendor while the role came from a company website, preserve those separately. Provenance lets you refresh only the stale field later.
Create a reject reason taxonomy
Every rejected account should get one short code, such as: - wrong industry; - wrong geography; - too small/large; - no active website; - duplicate; - excluded business model; - existing customer; - no plausible buyer role.
After the first 100–200 reviewed accounts, count rejection reasons. If 40% of a database export is “wrong industry,” the vendor filter is not matching your definition. If most failures are “too small,” adjust the size criteria upstream.
This is how list building improves: the rejected records teach you where the search specification is weak.
Audit a sample before scaling
Take 25 random rows and independently verify the company, industry, buyer role, and contact channel. Record each field as correct, stale, unsupported, or wrong. Do not average everything into one vague “accuracy score”; report the field-level failure.
Then decide whether to scale the same source. If account identity is excellent but titles are stale, keep the account universe and replace the contact-enrichment step. If domains are wrong, fix the account stage first.
Keep the industry list alive
Industry lists decay because companies close, merge, rebrand, hire, and move. Store the last verified date and refresh high-value accounts on a schedule that fits your sales cycle. Suppression status should survive every refresh.
The deliverable is not a spreadsheet with the largest row count. It is a set of accounts that all satisfy the same industry definition and can still explain where each important field came from.
For curated lead lists by industry, see: {{BACKLINK_4}}
Handle multi-industry companies and operating units
Handle multi-industry companies explicitly. A company can have a primary NAICS classification that describes its largest activity while the division you care about operates in another line of business. Parent companies, subsidiaries, holding companies, and franchise systems can also make one company-level industry field misleading.
Keep the source classification and your campaign classification as separate fields. For example, the authoritative record may classify the parent broadly, while your inclusion note says the target location actually provides the specialty service the offer addresses. Record the evidence for that override instead of silently changing the source value.
During QA, sample companies near the boundary of each included code. Those edge cases reveal whether the list is using a taxonomy as a research aid or treating a code as a substitute for understanding what the business actually does.