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.

Frequently asked questions

It is a description of the type of company that gets the most value from your product and brings you the most value back. It covers accounts, not individual buyers.

The ICP defines which companies to target. The buyer persona defines which people inside those companies to talk to and how.

Yes. Companies with several products or segments often keep one ICP per segment and run separate campaigns for each.

Review it whenever your product, pricing, or market changes, and whenever campaign results show a segment converting better or worse than expected.
Rémi Kokabi

Rémi Kokabi

Co-founder @GTM Club

Share this post