A CEO I worked with last year had an ICP. It ran 12 slides, had headings like "growth-stage SaaS, Series B funded" and "50-500 employees, North America." His VP of Sales kept a copy on their desktop. Nobody could tell me when it was last updated.
His SDRs were booking demos with anyone who had a tech company in their LinkedIn bio.
This is the ICP problem most B2B companies have. Not that they lack an ICP. They have one. It just lives as a document that nobody acts on.
What an ideal customer profile actually is
An ICP is an account-level description of the companies most likely to buy, expand, and stay. Not who you wish would buy from you. Not your most famous logo. The companies that close fast, pay consistently, and grow over time.
Notice that's account-level. An ICP describes a type of company, not a type of person. The person you sell to (decision-makers, champions, blockers) falls under buyer personas, which are different. I see these two get conflated all the time, and it creates a mess when you try to operationalize either one.
A well-defined ICP answers three questions:
- Which companies have the problem you solve, at a scale that makes them worth targeting?
- Which companies have the budget, urgency, and authority to buy?
- Which companies stick around and grow, rather than churn after year one?
That third question is the one most ICP frameworks skip. More on that below.
Why most ICPs don't work
Here's what I've found after working with 50+ B2B companies on RevOps and GTM: most ICPs fail not during the research phase, but during the implementation phase.
The research phase goes fine. You analyze your best customers, spot patterns, and document eight or nine firmographic criteria: industry, revenue range, employee count, geography, tech stack. You put it in a slide deck or Notion doc. You share it in a kickoff meeting.
Then nothing changes.
Sales keeps working their existing pipeline. Marketing runs the same campaigns. SDRs target whoever looks close enough. Six months later you wonder why your conversion rates aren't improving.
The problem is not that the ICP is wrong. The problem is that it never got built into the systems that govern your day-to-day GTM motion.
An ICP document is not an ICP strategy.
Until your ICP is embedded in your CRM as scored fields, routing rules, and tiered account lists, it changes nothing. A slide deck can't tell your SDRs who to prioritize this morning.
Build your ICP from data, not assumptions
Most ICP guides tell you to start by interviewing customers. That's useful, but it's secondary. Start with your data.
Pull your closed-won deals from the past 18 months. For each account, record:
- Average contract value (ACV)
- Time to close
- Whether they expanded or reduced spend
- Whether they churned within 12 months
- How many support tickets or escalations they generated
Now sort by LTV (lifetime value), not ACV. LTV is ACV multiplied by retention, adjusted for expansion. A $30K ACV customer that doubles their spend in year two and stays for four years is worth far more than a $60K ACV customer that churns after 18 months. If you're optimizing your ICP for ACV, you're building a business that looks good short-term and breaks later.
Look at the top 20% of accounts by LTV. What do they have in common?
Not just industry and employee count. Look at:
- Which tech stack were they running before they bought?
- What was their primary pain point at the time of sale?
- Who was the main champion internally?
- What triggered them to start looking for a solution?
- How long had the problem existed before they engaged with you?
That last one matters. A company that's been living with the problem for two years and just got funding to fix it is very different from a company that found you through a blog post on a Tuesday afternoon.
Start narrow, then expand
Most founders I meet want a broad ICP because a narrow one feels like leaving money on the table. The opposite is true.
Gusto's early ICP was California companies with fewer than 5 employees and no existing benefits solution. That sounds comically small. It also let them dominate that segment fast, build a product that fit those customers precisely, and generate case studies and referrals that made expanding to adjacent segments much easier.
When you start narrow:
- Your messaging gets sharper and more specific
- Sales cycles shorten because you're talking to the right people
- SDRs waste less time on deals that won't close
- Your product roadmap aligns around a clear use case
The question is not "how wide can our ICP be?" The question is "what's the most specific version of our ICP where we have a real right to win?"
For most B2B companies at Series A or early Series B, that answer is narrower than you'd expect.
Build an anti-ICP too
Here's something most ICP frameworks miss: negative criteria. I call it the anti-ICP.
Your anti-ICP is a list of account attributes that predict bad outcomes. Churn. Long sales cycles with no close. Excessive support load. Bad-fit customers that inflate your revenue but destroy your margins.
Common anti-ICP signals I've seen across RevOps work:
- Companies with procurement processes longer than your sales cycle
- Founders or execs who want heavy customization before signing
- Industries with long payment delays
- Companies where the champion has no budget authority and no path to a decision-maker
- Accounts in regions with legal or compliance requirements your product doesn't meet
If you build a scoring model in HubSpot or Salesforce that only tracks positive ICP fit, you'll surface a mix of good and bad accounts. Add negative scores for anti-ICP attributes and you get a much cleaner signal.
A simple scoring structure I use:
- Industry match: +20
- Employee band match: +15
- Tech stack match: +20
- Revenue range match: +10
- Trigger event (recent funding, hiring, product launch): +15
- No budget authority in champion role: -15
- Procurement complexity flag: -20
- Previously churned: -30
The negative scoring is not about excluding accounts from your CRM. It's about making sure your team doesn't spend time on accounts that will predictably go nowhere.
Embedding your ICP in HubSpot
This is where most of the work actually happens. Here's the setup I use when building ICP scoring for clients on HubSpot.
CRM fields you need
Create a custom property on the Company object called "ICP fit score" (number, 0-100). Add a second property called "ICP tier" (dropdown: Tier 1, Tier 2, Tier 3, Not a fit).
Tier 1 accounts score 70+. These get SDR and AE attention plus marketing air cover. Tier 2 accounts score 40-69. These go into marketing nurture sequences. Tier 3 accounts score 20-39 and get minimal outreach. Anything below 20 gets flagged as not a fit.
You can calculate the ICP fit score using a HubSpot workflow with calculated properties, or with a tool like Clay that runs enrichment and scoring before records even enter your CRM.
Workflow automation
Build a HubSpot workflow that triggers whenever a new company is created. The workflow should:
- Enrich firmographic data (employee count, revenue, industry, tech stack) using an integration or webhook to your enrichment tool
- Calculate an initial ICP fit score based on enriched attributes
- Set the ICP tier property
- Assign the record to the appropriate queue (SDR outreach vs. marketing nurture vs. disqualified)
- Create a task for the assigned SDR if Tier 1
This is not complicated to build, but it does require clean data. Bad enrichment gives you a garbage score. I've seen companies use four or five enrichment sources in a waterfall (Apollo, Clearbit, Hunter, LinkedIn) to improve coverage and accuracy. That's where Clay's waterfall enrichment becomes useful. It queries sources in priority order and stops when it gets a confident match.
Adding intent signals: knowing when to engage
Static ICP scoring tells you who looks like your ideal customer. It doesn't tell you when a company is actually ready to buy.
That's where buying signals come in.
A company that matches your ICP perfectly but isn't actively looking for a solution right now will close much slower, and sometimes not at all. A company that's slightly below your ideal firmographic profile but just went through a reorganization, hired a new VP of Sales, and posted three RevOps jobs is showing strong intent signals.
The signals I watch:
- Hiring activity for roles relevant to your product (a company posting five "data analyst" jobs probably has a data problem)
- Tech stack changes (dropping a competitor or adding a complementary tool)
- Recent funding rounds (money just landed, budgets are being allocated)
- New executive hires (a new CRO often means the whole GTM stack gets reviewed)
- Website behavior (pricing page visits, return visits within a short window)
You can pull signals like hiring activity and tech stack changes from Clay, or from tools like LinkedIn Sales Navigator and BuiltWith. The goal is to trigger outreach based on signal combined with fit, not fit alone.
The setup: when an account's ICP fit score is above 60 AND a trigger event fires, the CRM creates a high-priority task with context on the trigger. Your SDR knows exactly why they're reaching out, which makes their message far more specific and relevant.
For clients using n8n for automation, I build signal-detection workflows that run nightly, check for new trigger events across the target account list, and write enriched context directly into CRM notes before routing to the assigned rep.
Who owns the ICP
This is the governance question nobody likes to answer.
In most companies, marketing built the ICP. Sales was consulted but not fully bought in. Customer success has a different definition of "ideal." Product has their own view.
The result is four versions of the ICP floating around, none of which match what's in the CRM.
The ICP needs a single owner. In my experience, that's the RevOps function, or if you don't have RevOps yet, whoever manages the CRM and the go-to-market cadence. This person is responsible for:
- Defining and documenting the scoring model
- Getting sign-off from sales, marketing, and CS
- Ensuring the scoring is reflected accurately in CRM fields
- Running a quarterly review: which tier are most closed-won accounts in? Which tier has the worst churn? Does the scoring need adjustment?
If you don't run a quarterly review, your ICP will drift from reality within 6-9 months. Markets change. Your product evolves. Your best customers today may look very different from your best customers two years ago.
The iteration you should expect
Nobody builds a perfect ICP on the first try. I have never seen it happen.
The first version will be too broad, or too narrow, or missing a key attribute that turns out to matter a lot. That's fine. The point is to ship version one, embed it in your CRM, measure the outcomes, and refine.
A healthy ICP revision cycle looks like:
- Version 1: Built from closed-won analysis, in CRM by week six
- First review (month 3): Which Tier 1 accounts actually converted vs. stalled? What do the stalled ones have in common?
- Version 2: Scoring weights adjusted, possibly one or two criteria changed
- Second review (month 6): Win rate by tier is now measurable. NRR starting to show up by ICP fit bucket.
- Version 3: Reasonably stable. You know your anti-ICP patterns, your best triggers, and the firmographic combinations that convert fastest.
Most companies abandon the process after version 1 doesn't deliver instant results. The companies that stick with it for 9-12 months see compounding improvement in their GTM efficiency.
Our RevOps work includes ICP scoring as part of a broader CRM setup and go-to-market buildout, because embedding the ICP in your CRM is not a one-afternoon project if you want it to actually work.
Want to build an ICP that actually runs in your CRM?
Book a free 30-minute audit. We'll look at your current account data, identify the scoring criteria that matter most, and show you what a working ICP setup looks like in HubSpot or Salesforce.
Book a free audit →FAQ
What's the difference between an ICP and a buyer persona?
An ICP is an account-level description: the type of company that's a great fit for your product. A buyer persona is a person-level description: the roles, goals, and behaviors of the individuals you sell to within those companies. You need both, but they're separate. Your ICP tells you which accounts to target. Your buyer personas tell you how to message and sell once you're in the account.
How many criteria should an ICP have?
Most templates suggest 8-10 attributes, but the research on real-world ICPs suggests the strongest outcomes come from a small set of heavily weighted criteria, usually 3-5 core attributes, plus a longer list of secondary signals. More criteria doesn't mean more precision. It often means more noise and more arguments about whether a borderline account qualifies.
How often should I update my ICP?
At minimum, once a quarter. Realistically, anytime you close a batch of deals that look noticeably different from your stated ICP, or when you see a cluster of accounts churn in ways that weren't expected. Your market changes. Your product changes. The ICP needs to keep up.
Do I need a dedicated tool or can I use HubSpot alone?
HubSpot's native properties and workflows can handle ICP scoring for most companies up to around 50,000 contacts. Where it gets limited is in the enrichment step: HubSpot doesn't natively pull firmographic data from external sources. You'll need an enrichment integration (Clay, Clearbit, Apollo) to populate the fields that feed your scoring model. For smaller teams, Apollo's basic enrichment plus HubSpot workflows is often enough to start.
What's a good first ICP fit score threshold for SDR outreach?
I generally set 65+ as the threshold for SDR-driven outreach, with accounts scoring 50-64 going into a marketing-led nurture sequence. Those thresholds depend on your pipeline math: if your SDR team has capacity and your deal cycle is short, you can lower the threshold. If your ACV is high and your SDRs are expensive, tighten the threshold to protect their time.