Turn “best customer” language into observable filters
An ICP becomes useful for outbound only when it can be translated into facts a researcher or database can identify. “Innovative SaaS companies that care about growth” is not searchable. “B2B SaaS, 20–100 employees, North America, hiring SDRs, using HubSpot, excluding agencies and consumer apps” is operational.
Start with firmographics such as industry, size, geography, revenue band, and business model. Add technographics or operating signals only when they connect to the problem your offer solves. Every criterion should either increase fit or reduce a known source of poor leads.
Use required, preferred, and exclusion criteria
Not every attribute needs to be a hard filter. Separate the ICP into three layers. Required criteria define the boundary. Preferred criteria help prioritize. Exclusions remove accounts that look superficially similar but are poor fits.
| Layer | Example | Purpose |
|---|---|---|
| Required | B2B SaaS; 20–100 employees | Defines the searchable market |
| Preferred | Hiring SDRs; recently raised funding | Prioritizes likely timing |
| Exclusion | Agencies; consumer apps; current customers | Prevents predictable false positives |
Select roles by problem ownership, not prestige
The correct contact is the person who owns the problem or the process around it. Founder targeting may work in small companies and fail in larger ones. A VP can sponsor a purchase but delegate evaluation. An operations role may feel the pain but lack budget authority. Map role logic by account size and buying motion.
Write alternate-role rules before sourcing. For example: primary = Head of Sales; alternate = Sales Operations; fallback = founder only for companies under 30 employees. That is much more usable than “target sales leaders.”
Add buying context without confusing it with fit
Fit describes whether the account should ever be a customer. Buying context describes whether now may be a better time to contact it. Hiring, funding, technology changes, leadership changes, website behavior, job openings, and public initiatives can all be timing signals—but each has false positives.
Keep fit and timing as separate fields. A high-intent signal from a poor-fit account is usually less valuable than a strong-fit account with a weaker signal. This separation prevents “signal excitement” from overwhelming the core ICP.
Segment the ICP when one message cannot stay coherent
If different subgroups need different problems, proof, or asks, split them into separate campaign segments. Segmentation can be by company size, industry, role, technology, maturity, or trigger. The point is not to create dozens of micro-campaigns; it is to keep each message logically consistent.
A good test segment is large enough to produce feedback but narrow enough that the same business argument applies. If you need six conditional paragraphs to make one template work, the segment is probably too broad.
Vague ICP versus searchable ICP
| Vague statement | Searchable version |
|---|---|
| “Fast-growing tech companies” | B2B software, 25–150 employees, added 10+ employees in 6 months |
| “Companies that need better outbound” | B2B SaaS hiring SDR/BDR roles, sales team 5–30 |
| “Marketing leaders” | VP/Head of Demand Gen at 50–500 employee B2B firms |
| “Modern companies” | Named technology or workflow that is directly relevant to the offer |
The second column is not automatically a good ICP; it is simply testable. Searchability lets the team run an experiment and learn.
Design the ICP test before scaling the list
Choose a few segments, hold the offer relatively constant, and compare acceptance and response quality. Record why accounts were rejected by sales and why prospects replied negatively. These reasons are more useful for ICP refinement than raw send volume.
ICP test questions
- What percentage of sampled accounts would sales genuinely pursue?
- Which roles most often say “not me”?
- Which segment produces the most qualified positive replies?
- Which exclusions remove the largest source of noise?
- Which timing signals improve results after controlling for fit?