Every sales team has an ICP document. Almost none of them use it.
The document exists. It says things like "mid-market SaaS, 50–500 employees, Series A–C, US-based." It might even have a nice table of firmographic attributes. It lives in Notion. It was last updated 14 months ago.
Meanwhile, reps are prospecting whoever shows up in a list tool, SDRs are booking demos with companies that can't buy, and AEs are spending their pipeline reviews explaining why half the funnel is unqualified.
The ICP document isn't the problem. The problem is that it never became a filter.
Why ICPs Fail to Stick
There are three reasons a well-crafted ICP ends up ignored:
1. It's descriptive, not operational. "Decision-maker is VP Sales or CRO" tells a rep who to email. It doesn't help them find those people at the right moment.
2. It doesn't account for signals. A company can match your ICP perfectly and still be a terrible prospect this quarter — if they just renewed a competitor, froze headcount, or are going through a restructure. Your ICP is a filter for fit, not for timing.
3. It isn't linked to tooling. If a rep has to manually check whether a prospect fits ICP before adding them to a sequence, most of the time they won't. The filter has to be built into the workflow.
Building an Operational ICP
A usable ICP has four layers:
Layer 1: Firmographic Floor
These are hard disqualifiers — if a company doesn't meet these, nothing else matters.
- Industry: [your list]
- Headcount: [range]
- Geography: [regions]
- Revenue / ARR: [range or stage proxy]
- Business model: [B2B SaaS / services / marketplace — whatever applies]
Layer 2: Tech Stack Signals
Which technologies in a company's stack suggest they have the problem you solve, have budget for software, and are ready to buy?
Examples:
- Uses Salesforce → has CRM infrastructure, probably has a RevOps function
- Uses Outreach or Salesloft → has an active SDR motion
- Recently added HubSpot → new marketing-sales alignment initiative
Layer 3: Motion Indicators
Signs that the company is in a buying motion:
- Raised funding in the last 90 days
- Headcount grew > 15% in 90 days
- Opened a new sales role matching your persona
- Promoted internally into the buying role
Layer 4: Person-Level Fit
Signs that this specific person is the right contact:
- Title and seniority match your champion persona
- Has held this role < 18 months (still in change mode)
- Has posted about the problem your product solves
- Used a similar product at a previous company
Making the ICP a Live Filter
The difference between a static ICP and a live one is that the live one is evaluated against real data continuously, not manually at the start of a prospecting session.
Practically, this means:
- Encode it in your list-building tool. If you use Bunlead, these become your saved filter sets. Every new company that enters your ICP gets scored automatically.
- Attach trigger rules to it. "Notify me when a company matching ICP Layer 1+2 triggers a Layer 3 motion." That's the moment to reach out.
- Score and route automatically. Companies with 3+ signal layers should be high-priority routed to your best AEs, not sitting in an unworked list.
A Concrete Example
Here's what an operational ICP looks like for a sales engagement platform:
Layer 1: B2B SaaS, 30–300 employees, US/Canada/UK, Series A–C
Layer 2: Uses Salesforce + LinkedIn Sales Nav. Recently added a sequencing tool (Outreach, Apollo, or similar).
Layer 3: Opened an SDR Manager role in the past 60 days OR raised funding in the past 45 days.
Layer 4: New VP Sales (< 6 months) OR recently promoted SDR Manager.
When all four layers are true, this is a signal quad — and your first-touch open rates will be multiples of cold.
The ICP isn't a document. It's a set of filters applied continuously against live data. Build it that way, and your reps will actually use it.