Rémi KokabiNovember 4, 20268 min read
How to define an ideal customer profile and turn it into filters
Open your CRM right now and search for “ideal customer profile.” You’ll probably find a slide deck from a planning meeting six months ago. Nobody has opened it since. Meanwhile your list builder is running a completely different set of filters, built on gut feel and whatever fields looked important at the time.
That gap is the problem. An ICP that lives in a slide doesn’t help a rep build a list on a Tuesday morning. In this article, I’ll show you how to build an ICP straight from your closed-won and closed-lost data, write it down in a format you can actually use, and turn every attribute into a filter you can run today.
I’ll also cover where ICP work stops and buyer persona work starts, because teams mix the two constantly and end up with messaging problems that are actually targeting problems. By the end, you’ll have a one-page ICP, a scoring system to tier your accounts, and a workflow to pull matching companies straight out of a lead database instead of guessing.
What an ideal customer profile is
An ideal customer profile is a description of the type of company that gets the most value from your product and brings you the most value in return. It describes accounts, not individual people.
Think of it as a filter for your entire pipeline. Before you write a single email or pick up the phone, the ICP tells you which companies are worth pursuing and which ones will waste your team’s time. Every company on your list should pass through it.
The ICP sits at the very top of the prospecting process. Get it wrong and everything downstream suffers: your sequences hit the wrong inboxes, your reps burn hours on accounts that will never close, and your pipeline metrics look busy but produce nothing. Get it right and list building, messaging, and prioritization all get easier at once.
Most teams have an ICP slide somewhere in a strategy deck. The problem is that slide rarely connects to the filters reps actually use when they build a list. The rest of this article fixes that gap.
Ideal customer profile vs buyer persona
The ICP filters companies. A buyer persona filters people inside those companies. You need both, but they do different jobs.
Ideal customer profile | Buyer persona | |
|---|---|---|
Describes | A company | A person in that company |
Attributes | Industry, size, revenue, tech stack, growth signals | Role, seniority, goals, objections |
Used for | Account lists and prioritization | Messaging and channel choice |
In practice, you define the ICP first to decide which accounts to go after. Then you layer personas on top to decide who to contact and what to say. Skipping the ICP and jumping straight to personas is how teams end up with a list of the right titles at the wrong companies.
1. Pull your best and worst customers
Open your CRM and tag two groups of closed accounts.
Best customers share traits like these:
Closed faster than your average sales cycle
Renewed or expanded
Low support ticket volume relative to contract size
High product usage or adoption
Worst customers look different:
Churned within the first year
Took significantly longer than average to close
Required heavy support or custom work to onboard
Stayed on the smallest plan with no expansion
Export both groups with every company-level field your CRM has: industry, employee count, annual revenue, location, deal size, close date, and current status. You want raw data, not gut feelings. The patterns will show up in the next step.
2. Find the attributes your best customers share
Line up your best-customer export and look for clusters. You’re hunting for attributes that repeat across winners and are absent from losers.
Firmographics
Start with the basics:
Industry or vertical
Employee headcount
Annual revenue
Headquarters location
Business model (SaaS, e-commerce, services, marketplace)
If most of your best customers are B2B SaaS companies with a certain headcount range and your worst customers skew toward a different model or size, that’s your first filter.
Technographics
Look at the tools your best customers were already using when they bought. Certain tools in the stack signal either an easier adoption path or a clear need your product solves.
For example, if every top account was running HubSpot and Outreach before they signed, that combination becomes a technographic marker. If accounts on a competing tool churned at a higher rate, that’s a signal too.
Growth and timing signals
Firmographics tell you who. Growth signals tell you when.
Hiring in a specific department (a company adding SDRs probably needs outbound tooling)
Recent funding round (budget just arrived)
Headcount growth over the past six months
New VP or C-level hire in the function you sell to
These signals separate “good fit” from “good fit right now.” An account that matches every firmographic filter but isn’t growing or spending is a lower priority than one that just raised a round and posted five new sales roles.
Disqualifiers
An ICP without exclusions is incomplete. You need to define what’s out just as clearly as what’s in.
Common disqualifiers:
Segments that consistently churn
Companies below a minimum size where the deal economics don’t work
Business models that conflict with your product (e.g., agencies reselling vs. end users)
Existing customers and accounts with open deals
Disqualifiers save reps from wasting sequences on accounts that look good on paper but never convert.
3. Write the ICP on one page
Take everything from step 2 and compress it into a single reference table. Each attribute gets a must-have column, a nice-to-have column, and an exclude column.
Here’s the template with a fictional example filled in:
Attribute | Must-have | Nice-to-have | Exclude |
|---|---|---|---|
Industry | B2B SaaS | Fintech, healthtech | Agencies, consulting firms |
Headcount | 50 to 500 employees | 500 to 1,000 | Fewer than 20 |
Revenue | Mid-market ARR | Enterprise ARR | Pre-revenue startups |
Tech stack | HubSpot or Salesforce CRM | Marketing automation tool | Legacy on-prem CRM only |
Growth signal | Hiring in sales or RevOps | Recent Series A or B | No open roles, flat headcount |
Region and language | US, Canada, UK | Western Europe (English-speaking) | Markets where you have no support coverage |
This is a fictional company. Your version will look different. The point is that every row should be specific enough that two people on your team would build the same list from it.
4. Turn each ICP attribute into a database filter
This is where most ICP guides stop. They give you a framework and leave you to figure out how to actually find those accounts. The whole point of writing a tight ICP is to turn each row into a filter you can run inside a lead generation database.
Here’s how each ICP attribute maps to a filter:
ICP attribute | Filter to use | Why it matters |
|---|---|---|
Industry and size | Industry, company size, revenue | Core fit. Eliminates accounts outside your market. |
Growth | Headcount growth by department | The team you sell to is scaling, which means budget and urgency. |
Stack | Technologies | Easier adoption or a clear gap your product fills. |
Timing | Last funding date | Budget just arrived. Decision-makers are spending. |
Role and seniority | Job title, seniority, department | Reaches the right person inside a qualified account. |
Language | Languages, skills | Ensures your outreach lands in a language the prospect reads. |
Exclusions | Not already in CRM | Avoids prospecting existing customers and open deals. |
Best-customer clones | Company lookalikes | Finds accounts that resemble your top customers. |
Every row in your ICP table from step 3 should have a matching filter. If an attribute can’t be filtered, it’s useful context for messaging but it won’t help you build a list.
5. Score and tier accounts against the ICP
Once you have a filtered list, not every account on it deserves the same effort. Tiering solves that.
Tier 1 accounts match every must-have attribute and at least one growth signal. These get fully personalized, multichannel sequences.
Tier 2 accounts hit most must-haves but miss a nice-to-have or two. They get semi-personalized outreach at a higher volume.
Tier 3 accounts are test segments. They match some criteria and you’re running them to see if the ICP should expand.
Tiers decide how much time a rep spends per account: research depth, number of touchpoints, channel mix. You can read more about how to structure this in the guides on ICP scoring and account scoring.
6. Test and refine the ICP
Your first ICP is a hypothesis. Treat it like one.
Run a small campaign for each tier or segment. Keep the messaging and channels consistent so the only variable is the audience. After enough volume, compare reply rates and meeting rates between segments. The segment that books more meetings per hundred contacts is your strongest ICP slice.
When you find a segment that converts well, use lookalike accounts to find more companies that share the same profile. This expands your list without loosening your filters.
Don’t schedule ICP reviews on a fixed calendar just for the sake of it. Review the ICP when something changes: a new product launch, a pricing shift, a new market entry, or campaign data showing that a segment you expected to convert is underperforming. Let the data and the business trigger the review, not the quarter.
How to run this in lemlist
Here’s the workflow from ICP document to live campaign.
Build your search. Open the lemlist lead database (650M+ contacts across 65M+ companies) and apply the filters from section 4: industry, company size, revenue, technologies, headcount growth by department, last funding date, job title, seniority, and language.
Clone your best customers. Use the company lookalikes filter. Upload a list of your top accounts and lemlist surfaces companies with similar attributes. This is the fastest way to expand a list without guessing.
Exclude existing accounts. Toggle “not already in CRM” to remove companies already in your HubSpot, Salesforce, or Pipedrive. No rep should waste a sequence on someone who’s already a customer or in an active deal.
Enrich contacts. Once your list is built, run waterfall enrichment across 14+ providers to get verified emails and phone numbers. You pay only for successful finds.
Add intent signals. Set up intent signals for hiring, funding, and job changes. When an ICP account triggers a signal, it gets added to a campaign with messaging tied to that moment.
Use lemAgent for speed. If you’d rather skip the manual filter setup, lemAgent can search the database from a plain-language ICP description. Describe your ideal customer in a sentence and it builds the search for you.
Final takeaway
An ideal customer profile is only useful if it connects to the filters your team runs every week. Start from your real customer data, write the ICP on one page, then map every attribute to a database filter so reps can build lists without guessing.
The gap between “we know our ICP” and “our list reflects our ICP” is where most pipeline problems live. Close it. Build your first signal-based sequence in lemlist.
Find data about your leads
Discover prospects and enrich their data to launch targeted campaigns.