Every B2B team has an ICP written somewhere — a Notion page, a Google Doc, a slide from the last off-site. Very few teams have an ICP that actually filters a list of identified companies on a Monday morning. The gap between "we have an ICP" and "our ICP does work" is the subject of this piece.
What a usable ICP contains
A usable ICP has two layers: firmographics (who the company is) and behaviour (what a fit company does when it visits). Most ICPs stop at layer one, which is why they end up as slideware. The behavioural layer is what makes an ICP operable against a daily list.
- Firmographics: industry (be specific — "manufacturing" is not an ICP, "industrial equipment manufacturers" is), employee range (a floor and a ceiling), geography (list the countries), a revenue proxy if you have it, and a technology signal if it matters.
- Behaviour: which pages a fit visitor tends to read, how many sessions in a fit visit, what depth of engagement (dwell time, scroll) implies interest, and which pages disqualify (career-only visits, support pages from existing customers).
Say what is out, not just what is in
The most productive line in most ICPs is the "not-ICP" list. Write it. "We do not serve companies under 50 employees, companies in [industry], or agencies reselling to end customers." A crisp exclusion list saves more time than a long inclusion list.
A simple scoring model
The scoring model below is deliberately additive and capped. It is not a machine-learning ranker; it is a triage rule your team can debate at a Friday review and change on Monday. Points accumulate; anything with negative points is out regardless of the rest.
| Signal | Type | Points |
|---|---|---|
| Industry matches an ICP category | Firmographic | +3 |
| Headcount within the target range | Firmographic | +2 |
| HQ in a target country | Firmographic | +1 |
| Uses a technology we integrate with | Firmographic | +2 |
| Visited the pricing page | Behaviour | +3 |
| Visited a comparison / "vs" page | Behaviour | +2 |
| Deep read on a product page (>90s) | Behaviour | +2 |
| Return visit within 7 days | Behaviour | +2 |
| On the explicit not-ICP list | Firmographic | −100 |
| Existing customer | Firmographic | −100 |
| Career-page-only path | Behaviour | −2 |
Three routing tiers keep the daily list actionable. A rough starting point: 9+ points is a same-day named-owner assignment, 5–8 goes into the SDR queue, 1–4 lives in the weekly digest that nobody has to action but marketing reviews on Monday to see what content is doing the work.
Applying the score to identified visitor lists
The score is not a nice-to-have on the daily identified-company export — it is the whole point. The list arrives ranked by score; the person qualifying reads top to bottom; a threshold cuts the tail. That is the whole workflow. If your identification platform cannot rank the daily list this way, run the same scoring rule as a filter on a spreadsheet — the model is the same, only the tooling shifts.
One counter-intuitive rule: do not send low-tier companies to the SDR queue "just in case". Every low-tier lead that ends up in the queue trains your team to treat the whole queue as low-priority. Discipline about the tier boundary is what preserves reply rates on the top tier.
Feeding what you learn back into the ICP
ICPs decay. Markets shift, product changes create new fit categories, and behavioural signals lose predictive power as their novelty wears off. Two feedback loops keep an ICP honest.
- Closed-won analysis, quarterly. Look at the last quarter’s new customers. Which firmographic bucket did they come from? Which behavioural pattern preceded the sale? If closed-won companies keep coming from a bucket your ICP does not include, expand it. If a bucket in your ICP has produced zero closed-won in a year, prune it.
- Reply-rate analysis, monthly. Look at the top scoring tier. Which pages triggered replies? Which patterns triggered polite ignores? Adjust the point weights on the offending signals; adjust down before adjusting up (the temptation is always to add complexity).
Three ICP anti-patterns
- The vague ICP — "mid-market SaaS" — that filters nothing and reassures everyone. If two people on the team disagree on whether a specific company fits, the ICP is not specific enough.
- The 20-attribute ICP that filters everything. Perfect fit is rarer than you think; a filter that produces two companies a month is a filter you will disable in six weeks.
- The static ICP — written in 2024, unread in 2026 — that nobody has revisited since it was signed off. Undated ICPs are ignored ICPs.
ICP is a sales-and-marketing document, not a marketing-only document
The teams that get the most from a scored ICP are the ones where sales owns half of it (firmographics and exclusions) and marketing owns half (behaviour and content-triggered signals). ICPs owned by one function alone drift from what the other function knows.
Published by
lead.box Team
More articles
See lead.box on your own traffic
Start free — no card, no sales call required. Or book a 20-minute walk-through if you want the guided tour.
