What Is an ICP in B2B and How to Build One That Filters

    Short answer

    A plain definition, the components that map to real filters, and how to build one from closed deals or from a hypothesis when you have none

    Artem Smirnov
    Artem Smirnov

    Last updated · 11 min read

    Artem Smirnov in a dark suit against a charcoal studio backdrop, next to the line 'WHAT IS AN ICP. A profile you cannot filter is a wish'

    An ICP, short for ideal customer profile, is the kind of company that buys from you, gets value and stays.

    A usable ICP is a set of attributes you can type into a database filter. It includes an industry code, a staff band, a region, the job titles that signed your past deals, a buying trigger and a list of exclusions. Type them in and you should get back a list of companies you can count.

    If the filter returns nothing, or returns half the economy, you do not have a profile yet. A profile you cannot filter is a wish. A profile that fits everyone reaches no one in particular, just like a message written for everyone.

    To build one, start from the customers who already paid you. Decide who you will never contact, write every attribute as a filter, and count the result before a single message goes out.

    What does ICP stand for, and what does it mean in sales?

    ICP stands for ideal customer profile. In sales and marketing it means the best-fit company for your offer. The acronym has other jobs. Doctors use it for intracranial pressure, and recruiters use it for an ideal candidate profile, so a search for the term mixes all three.

    Analyst firms describe the sales meaning in similar terms. A January 2026 Forrester best practice report says a well-built ICP helps B2B companies put their effort into the best-fit accounts with a strong propensity to buy, and gets departments working from the same picture of those accounts (Forrester).

    A Gartner research document makes a related point. Individual buyer personas, it argues, are not enough to guide B2B strategy, and providers should profile the best-fit customer organization (Gartner).

    Both reports point at the company. The ICP picks the accounts, and the persona describes the people you address inside them. That split is how an ICP differs from a buyer persona. Everything below stays at the account level.

    What are the components of an ideal customer profile?

    Every component should be something a database can store as a field. An attribute that only exists as an adjective, such as "innovative" or "growth-minded", cannot be filtered. Whoever builds your list will guess what it means, and the guess is rarely yours.

    ComponentFilter-ready formatOfficial referenceExample
    IndustryOne or more industry codesNAICS in North America, NACE Rev. 2.1 in the EUThe codes for the activity your clients actually do, found by keyword search
    Company sizeStaff band, plus a turnover band where the data existsEU Recommendation 2003/361 size classes50 to 249 persons
    GeographyA written list of countries, states or regionsNone; your own delivery reachIreland, the Netherlands and the Nordic countries
    TechnologyNamed tools or systems the account runsNone; visible on the company's site or job adsRuns the ERP your product connects to
    TriggerA dated, observable event inside a set windowNone; your own past dealsNew head of the function you sell to in the last 90 days
    Buying structureThe titles that signed past dealsYour closed dealsDirector of IT plus a finance sign-off
    Deal size fitThe smallest deal that pays for your sales effortYour own economicsUSD 10,000 and up

    Industry. The U.S. Census Bureau describes NAICS as the standard federal statistical agencies use to classify business establishments, shared with Canada and Mexico (U.S. Census Bureau). Its search tool accepts a keyword or a code of 2 to 6 digits.

    In Europe, NACE is the EU classification of economic activities. The newest version, NACE Rev. 2.1, was adopted in October 2022 and applies to European statistics from 2025 onwards. Statistics covering 2008 to 2024 use NACE Rev. 2 (Eurostat).

    Neither agency publishes these codes as a sales tool. Using them as a filter is a targeting choice, and a good one, because each code has one published definition. A free-text label like "tech" means whatever the data vendor decided. Ask your data source which NACE version it tags records with, since older records may still carry Rev. 2 codes.

    Company size. EU Recommendation 2003/361 sets the ceilings (EUR-Lex):

    • Micro: fewer than 10 persons, with turnover or balance sheet up to EUR 2 million.
    • Small: fewer than 50 persons, with turnover or balance sheet up to EUR 10 million.
    • Medium: under 250 persons, with either turnover of up to EUR 50 million or a balance sheet of up to EUR 43 million.

    For statistics, the same text uses staff classes of 0 to 1, 2 to 9, 10 to 49 and 50 to 249 persons. It also adds in data from partner and linked enterprises, so a small office owned by a large group can fall outside the small band.

    These are 2003 policy definitions, written for EU programs. Use them to make "mid-sized" mean a number. They are not a legal label on the prospect.

    Deal size fit. The companies I work with usually sell deals starting around USD 10,000, and many of them sell at six or seven figures. Your ICP has to describe accounts that can pay your kind of number. An account that passes every other filter but buys small takes the same sales effort for a fraction of the return.

    Technology and triggers. Write both as things you can see and date. "Uses modern tools" cannot be filtered. "A job ad in the last 60 days names the system we integrate with" can.

    How do you build an ICP from closed deals?

    Before anyone opens a lead tool, I ask the founder about the last year of business: who paid, how much, and whose signature closed it. The answers often differ from the pitch deck, and when they do, I trust the contracts.

    Say a hundred sales calls produce 2-3 contracts. Most founders study those. I look at the 97-98 prospects who never bought. Those lost deals belong in the profile too, because they show you who to leave out. That is the negative ICP work further down.

    Work through these four steps in order.

    1. List past and current clients. Pull every client you have now and every one signed in the last 12 months. Next to each, write the industry code, staff band, country, deal value and time to close. Mark the accounts you would happily sign again. Those are the profile, and the rest are noise.

    2. Find who actually decided. On every past project I look for the person whose decision made the deal happen. It is often someone other than the person who replied first or sat on the first call. Target only the roles you are sure about. A senior-looking title is a guess. The account owner usually knows, and the contract's signature block and the first approved invoice will confirm it.

    3. Write the real titles for the niche. A search for "manager" tells a database almost nothing, so I target the titles the niche really uses. In IT and software deals, that tends to mean heads of IT, IT directors, a VP of IT strategy, and in some accounts the CTO. Which one signs shifts with company size.

    4. Run a lookalike check before the list is built. Take your best five accounts and describe their pattern in filter terms only. Run those filters and read 20 of the results by hand. Do they look like the clients you marked in step 1? If they do not, the filter is wrong, so change it before you touch the list.

    Then put numbers against the profile. Divide next year's revenue target by your average deal size, and you get the number of new clients you need. Work backwards from there to the conversations it takes, and that sets the minimum size of the market, which you can count step by step.

    What should a negative ICP exclude?

    A negative ICP lists the accounts and people you will not contact, even when they pass the positive filters. It is the cheapest way to make a list smaller and cleaner. Write each item as a rule a tool can apply:

    • Accounts outside your chosen size band, in either direction.
    • Industry codes that look close to your clients' codes but have never bought.
    • Accounts that cannot afford your smallest viable deal.
    • Accounts that match your lost-deal pattern: same profile, same stall point, same reason. Log the loss reason in your CRM as a field so the pattern can be filtered.
    • Current clients and open opportunities, so outreach never lands on someone already talking to your team.
    • Generic titles. I strip Assistant, Manager and Associate out of every list I touch. Add back a specific title containing "Manager" only if your past deals show that title signing.
    • On UK email lists, contacts whose legal form makes them individual subscribers.

    UK law sets that last rule, so it needs a closer look. The ICO's business-to-business marketing guidance counts companies, corporation soles, limited liability partnerships and Scottish partnerships as corporate subscribers.

    Sole traders and non-limited partnerships in England, Wales and Northern Ireland count as individual subscribers, treated like private individuals (ICO).

    For individual subscribers, the email rule sits in regulation 22 of the Privacy and Electronic Communications Regulations (PECR). Cold marketing email to them needs prior consent or one of the exceptions the regulation allows, such as the soft opt-in. The ICO has flagged that this page is being revised after the Data (Use and Access) Act. Read the current version before a UK list goes out.

    The email rule does not cover corporate subscribers. Every message still has to name the sender and offer a working way to opt out. Once a person is named, UK GDPR applies, and their right to object to direct marketing is absolute (ICO).

    So legal form becomes a field on a UK list. Keep limited companies and LLPs. Drop sole traders and non-limited partnerships from cold email unless you hold consent or a valid soft opt-in. For Germany, Austria and the Czech Republic, my team uses LinkedIn instead, because cold email there needs a compliant basis first. This is not legal advice.

    What does a usable ICP look like next to a weak one?

    Take this example brief: "growing tech companies in Europe that need IT services". I would not build a list from it. Each word sounds reasonable, and none of them can be typed into a filter. Here is the same profile rewritten into fields:

    AttributeWeak versionUsable version
    IndustryTech companiesTwo or three NACE Rev. 2.1 codes chosen from the activities your past clients actually perform, found by keyword search in the Eurostat classification
    SizeGrowing, mid-sized50 to 249 persons, the EU medium band
    GeographyEuropeIreland, the Netherlands and the Nordic countries, written out as a list
    BuyerDecision-makersHead of IT, director of IT, VP of IT strategy; CTO only where past deals show it
    TriggerReady to buyHired a new head of IT recently, or posted a job for the work you deliver
    ExclusionsNot too smallOutside the size band, generic titles, current clients, codes that never bought

    Once the attributes are fields, a CRM can score fit for you. HubSpot's knowledge base says fit scores qualify contacts and companies on property values such as job title, company size or annual revenue, and a combined score keeps fit and engagement points in separate properties next to the total (HubSpot). Fit is also the first check in what makes a lead qualified.

    Keep those two numbers apart when you route. A strong-fit account gets the full sequence on both channels. A partial fit gets a lighter one. A weak fit that engages a lot goes to review, and if the same kind of account keeps showing up there, one of your filters probably needs changing.

    Is your ICP too narrow to feed outbound?

    A narrow profile is a good profile until the list runs out. So count FIRST. Write copy second.

    Run your filters. Count the accounts, multiply by the number of real titles per account, and set that total against what you plan to contact over a year.

    The year matters. I hold one offer to one audience for 12 months. The market has to last that long. Nobody should get the same message again and again. In our campaigns, 30 to 35 booked sales calls a month usually takes contacting 10,000 people or more that month. Check your count against that before you commit.

    Watch how fast the count drops. Eurostat's structural business statistics overview counts 2.5 million enterprises in human health and social work activities across the EU. Cut that to one or two codes, one size band and a few countries, and the list shrinks fast.

    Small samples will not save a thin market. Reaching only 50 to 100 ideal-looking companies a month is a coin flip. Some will be busy that month. Others will not be ready to buy.

    A small market stays small with intent data too. It is only a tool. Picture about 2,000 target companies where only around 10 show buying signals. With numbers like that, we leave intent data out and write a single offer that speaks to all 2,000 companies.

    Use these decision rules on the count:

    • The count covers a year of outreach at your pace: commit to the profile and start building the list.
    • The count falls short: go deeper per company, reaching more of the titles your closed deals show, with longer sequences, or add a second geography. Loosen the filter with the weakest evidence behind it only after that.
    • The count is far more than your team could reach in a year: one of your filters is doing no work. Tighten the one your closed deals support most strongly.

    How do you set an ICP when you have no customers yet?

    You write a hypothesis in the same format. The fields stay the same. The only change is a column next to each attribute saying where the belief comes from: talks with likely buyers, the founder's own industry background, or the problem the product was built to solve.

    Then cut it to one segment: one industry code, one size band, one region and a short list of titles. Run outreach to that segment and log which titles reply and which forward you to a colleague. Codes that stay silent after a full sequence are a finding too.

    The test has limits. It shows whether a segment talks back and who in it answers. It does not prove the profile, because nobody has paid yet. When the first deals close, rebuild the ICP from them with the closed-deal steps above, and delete every attribute no paying client confirms.

    This part is outside my own work. We only work with established companies that already have clients, so read this section as general advice that we have not run ourselves.

    What do you do with the ICP once it is written?

    The ICP becomes the filter set for your list, and building that list is a job in its own right: sourcing, title checks and verification. After that, group the list by code or trigger, so each group gets a message written for it.

    Once the profile is agreed, my team builds the lists and runs the outreach through cold email and LinkedIn. The client's own salespeople take and close the meetings that come out of it. That only works if they have time on the calendar for those calls.

    Revisit the profile as deals come in. Every time a batch of new deals closes, set them against the ICP field by field. Every time the same loss reason shows up twice, add it to the negative ICP. Write the date of each change at the top of the document, so anyone building a list knows which version they are using.

    This week, export your last year of closed deals into one sheet, with the columns from the components table. Every empty cell is a filter you are still guessing. Fill those first, then build the list.

    Not sure your ICP would survive a filter test? Book a call, bring your last year of closed deals, and we can turn them into filters and count the matching accounts together.

    Questions founders ask about ICPs

    What is an ICP in healthcare?

    In healthcare B2B sales, ICP still means ideal customer profile, even though clinicians use the same letters for intracranial pressure. Search the NAICS or NACE tools by keyword, such as "hospital" or "laboratory", and keep the codes separate, because hospitals, clinics, labs and medical suppliers buy differently. Size can be measured in sites or beds as well as staff.

    How does an ICP work inside AI prospecting tools?

    The ICP is the input. AI prospecting tools build lookalikes or score records from the accounts and attributes you feed them, so feed coded, banded fields and only your best accounts. Mark which past deals were profitable before you upload anything, because the tool cannot see your margin. Then read a sample of its output by hand before anything is sent.

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

    A target market is everyone who could plausibly buy, often a whole sector across a region. The ICP is the slice of it where your evidence says deals close, pay well and renew. The market tells you how big the opportunity is. The ICP decides who gets contacted first, and one target market can hold several candidate profiles.

    How can you tell your ICP is wrong?

    Watch the first months of outreach. Replies come mostly from accounts at the edge of your filters. Booked meetings keep pulling in a colleague who actually decides. New closed deals stop matching the profile. Any one of these means you edit the profile before you touch the copy, because copy cannot fix a bad list. Fix that first.

    Can one company have more than one ICP?

    Yes, when it sells different offers or sells into clearly different buyers. Each offer then gets its own profile, with its own filters and exclusions, and its own list and sequence in outreach. I would still launch one profile at a time, so the replies tell you which one is working before the second one starts competing for your team's attention.

    Want to get more B2B clients for your business?

    I help B2B companies book 10 to 100+ qualified sales calls per month with outbound. Let's see if it fits yours.

    Artem Smirnov
    Artem Smirnov

    I help B2B companies book qualified sales calls with cold email and LinkedIn outbound.