Explainer

What Is an Ideal Customer Profile?

The one-paragraph description of who should buy from you, and how to turn it into a list you can search.

Get your free API key →Free to start. No credit card. 1,000 records to spend whenever you like.

An ideal customer profile (ICP) is a short description of the companies that get the most value from your product, written so you can search for them.

Key takeaways

  • An ideal customer profile (ICP) describes the type of company that gets the most value from your product and is most likely to buy and stay.
  • It is about companies. A buyer persona is about the people inside them.
  • A good ICP is a short list of filters you can run against a database, not a paragraph of adjectives.
  • Build it from your best existing customers, then test it by counting how many real accounts match.

What it is

An ideal customer profile is a description of the kind of company that gets the most value from your product, buys fast, and stays.

It usually covers firmographics: industry, company size, country, funding stage and the tools the company already uses. Teams call it an ICP for short.

The word "ideal" matters. An ICP is not everyone who could buy. It is the narrow group where you win most often and lose least often.

How it works

An ICP works as a filter. Sales, marketing and product all use the same definition to decide who to target and who to ignore.

  1. Pull your best customers. Pick the accounts with the highest retention, fastest sales cycle and healthiest expansion. Ten to twenty is enough to see a pattern.
  2. Find what they share. Look at industry, headcount, country, funding stage and tech stack. Ignore traits that only two of them have.
  3. Add the buying trigger. Note what was true when they bought, such as a new funding round or a first sales hire.
  4. Write it as filters. Each trait becomes a field you can search on. If you cannot filter on it, you cannot target it.
  5. Count the market. Run the filters against a database. If the count is tiny, loosen one trait. If it is huge, tighten one.
  6. Review quarterly. Win and churn data change the answer. Revise when it does.

A worked example

Say you sell a developer tool. Your best ten customers share three traits. They are software companies with 51 to 500 employees, based in North America.

Each also hired a first VP of Sales within a year of buying. That is the trigger.

Your ICP reads as one line: software companies, 51 to 500 employees, US and Canada, VP of Sales in seat. Every part of that line maps to a filter.

Now it is testable. You can count how many companies match, check whether that is enough to build a pipeline, and hand the same line to a new rep on day one.

Mistakes that make an ICP useless:

  • Too broad. "B2B companies" is a market, not a profile. If half the database matches, the ICP filters nothing.
  • Too many traits. Eight conditions at once returns almost no accounts. Keep the three to five that predict a good customer.
  • Built from wishes. Use the customers you have, not the logos you want. Wishful ICPs produce long cycles and low win rates.
  • Never written as filters. An ICP that lives only in a slide cannot be searched, counted or handed to a new rep.

ICP vs buyer persona

An ICP describes the account. A buyer persona describes the person who makes or influences the decision at that account. You need both, and people mix them up constantly.

Ideal customer profileBuyer persona
DescribesA companyA person
Typical fieldsIndustry, headcount, country, funding, tech stackJob title, job level, function, goals, objections
Built fromYour best customer accountsInterviews and the roles in those accounts
Used to decideWhich accounts to targetWhat to say and to whom
ChangesSlowly, as the product and market changeWhen roles or buying committees change
In a databaseCompany filtersPerson filters

Start with the ICP. It tells you which companies to look at. Then pick the personas inside those companies, such as the VP of Sales who owns the problem and the engineer who will use the tool.

When it matters

Before you buy a list or a data tool

A vague ICP makes every data purchase a guess. You pay for records you never use. A written ICP lets you size the market first and buy only what matches.

When you start outbound

Outbound fails on targeting more often than on copy. A tight ICP means each email goes to someone who has the problem you solve. Reply rates follow relevance, so the list matters more than the subject line.

When you write marketing content

Content for everyone converts for no one. Your ICP tells you which industries to write case studies for, which tools to write integrations pages about, and which objections to answer.

When you prioritise product work

If your best customers share a need, build for it. If a request comes only from accounts outside the ICP, it is easier to say no.

How LeadOcean handles it

LeadOcean does not have an "ICP" object. It has the filters an ICP is made of, on both people and companies, so you can turn the written definition into a search and count it for free.

Company traits map to filters such as industry (534 values), employeeRange (1-10, 11-50, 51-200, 201-500, 501-1000, 1001-5000, 5001-10000, 10001+), hqCountry, technologies and technologyCategories. Person traits map to jobLevel, seniority, jobFunction, title and country.

To size the market, call the search endpoint with count=true as a query parameter and limit of 1. It costs no records and returns meta.total, which is capped at 100,000.

bash
curl -X POST "https://api.leadocean.io/v1/people/search?count=true&limit=1" \
  -H "x-api-key: $LEADOCEAN_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "jobLevel": ["VP"],
    "jobFunction": ["Sales & Business Development"],
    "country": ["CA"]
  }'

On 2026-09-30 that filter set (jobLevel VP, jobFunction Sales & Business Development, country CA) returned 5,066 mailable people, meaning verified, catch_all_valid or catch_all emails. That is a people count. Adding industry and employeeRange narrows it to your ICP.

When the count looks right, pull the rows with the same body on POST /v1/people/search, or run POST /v1/exports for a file. The Exports page in the app at app.leadocean.io does the same with a filter builder and a price preview before you download.

See how to enrich customer profiles, the ICP and competitive brief recipe and eight enrichment tools that build richer customer profiles. More guides are in the blog.

The free plan gives you 1,000 records, one-off, with no card, and the same API and MCP server as Pro. Pro is $499 a month, flat. Details are on pricing.

FAQ

What is the difference between an ICP and a target market?

A target market is the broad group you could sell to, such as "software companies." An ICP is the narrow slice inside it where you win most. Your ICP sits inside your target market.

How many ICPs should a company have?

Start with one. Add a second only when a clearly different group buys for a different reason and has its own pitch. More than three usually means the definition is too loose.

What data do I need to build an ICP?

You need your customer list with retention and deal data, plus firmographics for each account. Industry, headcount, country, funding stage and tech stack are the usual fields. A data API can fill the gaps for accounts you only know by domain.

How often should I update my ICP?

Review it every quarter and after any big change in product, pricing or win rate. Check whether new customers still match. If your best new customers fall outside it, change the ICP, not the customers.

Can I build an ICP without customers yet?

Yes, but treat it as a hypothesis. Use the filters to count how many companies match, talk to a few of them, then revise once the first deals close.

Turn your ICP into a search you can count for free

Free to start. No credit card. 1,000 records to spend whenever you like.

Get your free API key →