Ideal Customer Profile (ICP) Template for B2B
An ideal customer profile (ICP) describes the companies most likely to buy from you, succeed with your product and stay – by industry, size, location, the buyer you sell to, and the events that make them ready. Build it from your best customers, not from the market you hope for: the evidence is already in the deals you have won.
The short version. Copy the template below: company rows first, one buyer row, then must-haves, nice-to-haves and disqualifiers. Each row says where its evidence comes from – LinkedIn answers (industry, headcount on LinkedIn, headquarters, what the company does, the buyer's title and role dates), LinkedIn hints (seniority, whether a company has open vacancies), or your CRM and interviews (revenue, deal size, retention, pains, tech stack). Fill it from 20–50 of your best closed-won customers rather than a guess. An AI agent can read those customers on LinkedIn, tally the pattern, fill the template and draft the searches that find more like them – you review before any list is built.
The ICP template (copy it)
Paste this into a sheet, a doc or your CRM. The third column tells you where to get each answer; the last column shows the kind of value that goes there.
| Field | What to write | Where the evidence comes from | Example |
|---|---|---|---|
| Industry | The exact LinkedIn industry label(s) your best customers share | LinkedIn answers – the company page | e.g. Software Development |
| Headcount on LinkedIn | A band, such as 51–200 | LinkedIn answers – LinkedIn's member count, not the range a company declares | e.g. 51–200 |
| Headquarters | Countries or regions | LinkedIn answers | e.g. United States |
| What they do | Keywords from their specialties and description | LinkedIn answers | e.g. B2B SaaS, payments |
| Company age | Founded between… | LinkedIn answers, when the page shows it | e.g. 2015–2021 |
| Open vacancies | Whether they are hiring at all | LinkedIn hints – a total count, not which team | e.g. has open jobs |
| Revenue band | A range | Your CRM – Sales Navigator offers revenue only as a search filter | e.g. $10M–$50M |
| Funding stage | Bootstrapped, seed, Series A… | Your CRM or other sources | e.g. Series A–B |
| Tech stack | Tools they must use, or must not | Your CRM, interviews | e.g. uses Salesforce |
| Pains and why they bought | In the customer's words | Interviews, call notes | e.g. "reps spend Mondays building lists" |
| Buying trigger | The event that made them ready | Interviews; LinkedIn hints such as a new leader in the role | e.g. new VP Sales in the last 6 months |
| Buyer: title and function | Who signs or champions | LinkedIn answers – the title as the person reports it | e.g. Head of Revenue Operations |
| Buyer: seniority | Manager, director, VP… | LinkedIn hints – inferred from the title | e.g. director or above |
| Buyer: time in role when they bought | Typical tenure on the close date | LinkedIn experience dates + your CRM's close date | e.g. under 18 months |
| Buyer: past companies | Patterns worth noting | LinkedIn answers | e.g. previously at a larger SaaS company |
| Buyer: where they are based | Only if your ICP needs it | LinkedIn answers – the person's location, not the company's headquarters | e.g. any |
| Must-haves | The rows a company has to match | Your call from the tally | e.g. industry and headcount |
| Nice-to-haves | Rows that raise priority | Your call | e.g. open vacancies |
| Disqualifiers | Who to leave out | LinkedIn and your CRM | e.g. under 10 people on LinkedIn |
Value measures – retention, expansion, deal size, time to close – decide which customers count as "best" in the first place. They come from your CRM and are not rows in the profile. The buyer row covers one person; the rest of the buying group is in our guide to mapping a B2B buying committee, and every current industry label is in our LinkedIn industry list.
Worked example: an AI agent fills the template from 30 customers
The fastest way to fill the template is to let an AI agent read your customers for you. It works through Linked API on your own LinkedIn account, in a real cloud browser at a human pace – Linked API never stores your password. Connect it as a custom connector in Claude (no code), through the MCP server in any MCP client, or with the agent-friendly CLI; the LinkedIn AI agent guide covers the setup.
Used Linked API: fetch_company, fetch_person, search_companies, search_people
- industry, headcount on LinkedIn, headquarters, specialties, open vacancies
- title, role start dates, past companies – tenure worked out against each close date
- keyword "software", Software Development and IT Services and IT Consulting, 51–200 and 201–500, headquartered in the United States or the United Kingdom
- keyword "revenue operations", current companies: 10 of the matched companies
All 30 read. Here is the pattern – the filled ICP and both searches follow. Nothing has been contacted.
| Field | What 30 customers show | Evidence |
|---|---|---|
| Industry | Software Development 14 · IT Services and IT Consulting 7 · Financial Services 4 · other 5 | LinkedIn answers |
| Headcount on LinkedIn | 11–50: 4 · 51–200: 15 · 201–500: 8 · unknown (none shown): 3 | LinkedIn answers |
| Headquarters | United States 19 · United Kingdom 7 · other 4 | LinkedIn answers |
| Buyer title | Head or Director of RevOps 11 · VP Sales 9 · founder 5 · other 5 | LinkedIn answers |
| Time in role on the close date | under 18 months: 17 · 18 months or more: 11 · unknown (no start date shown): 2 | LinkedIn experience dates + CRM close date |
| Open vacancies | any open jobs: 21 of 30 – the count says nothing about which team | LinkedIn hints |
| Check runs | company search: 4 of 5 spot-checked customers came back · buyer search: 12 people at 8 of the 10 companies, employers verified | – |
you review the profile before any full list is built
Here is the filled ICP that run produces – the template's rows with this example's values:
| Field | This example's ICP | Evidence |
|---|---|---|
| Industry | Software Development; IT Services and IT Consulting (must-have) | LinkedIn answers |
| Headcount on LinkedIn | 51–500 (must-have); 11–50 only with open vacancies (nice-to-have) | LinkedIn answers |
| Headquarters | United States, United Kingdom (must-have) | LinkedIn answers |
| Open vacancies | Any (nice-to-have) | LinkedIn hints |
| Revenue band | From CRM | Your CRM |
| Buyer | Head or Director of Revenue Operations, or VP Sales | LinkedIn answers |
| Buyer: time in role when they bought | Often under 18 months – a new leader building their stack (nice-to-have) | LinkedIn experience dates + CRM close date |
| Pains and trigger | From your call notes | Interviews |
| Disqualifiers | Fewer than 11 people on LinkedIn; existing customers and open deals | LinkedIn and your CRM |
| Unknowns | 3 customers showed no headcount – kept as unknown, not dropped | – |
And the two searches it turns into, account-first:
- Company search – a keyword ("software") plus the industries Software Development and IT Services and IT Consulting, the size bands 51–200 and 201–500, and headquarters in the United States or the United Kingdom.
- Buyer search – people with "revenue operations" or "VP Sales" in their title, at the companies the first search matched (as current companies). Check each person's employer against the company criteria. The check run above used 10 companies; building the full list is a separate, later step.
How to create an ideal customer profile from your best customers
The steps behind the example, if you do them by hand or want to check the agent's work:
- Choose 20–50 closed-won customers and define "best". Use your CRM: retained, expanded, quick to close. HubSpot's advice is to "Pull your top 20–30 accounts by revenue, retention, and product engagement"; Salesmotion's is to "Pull 50–100 closed-won deals from the last 12 months". Treat the size as a working range, not a rule. Adding a few churned or closed-lost accounts gives you contrast for the disqualifiers.
- Read each company – industry, headcount on LinkedIn, headquarters, specialties, open vacancies.
- Read the buyer – start from the buyer in your CRM and their LinkedIn profile; if you only have a company, find the person by title. Note the deal's close date: the buyer's tenure only means something measured on that date, not today.
- Tally – counts per industry, headcount band, region, buyer title, and the buyer's time in role on the deal's close date (role start dates from LinkedIn, the close date from your CRM; anything unresolved stays unknown).
- Write must-haves, nice-to-haves and disqualifiers. This is judgement, not a score: a pattern in 14 of 30 customers may be a must-have, one in 5 of 30 a nice-to-have. Our lead qualification checklist shows how to apply the result to each new lead.
- Turn it into searches, account-first, and check what comes back. A few of your known customers should reappear in the company search; if they don't, a label or a band is off.
Negative ICP: who to leave out
A negative ICP lists the companies and people you do not want, even if they look keen. Some disqualifiers are readable on LinkedIn: industries you do not serve, headcount bands that are too small or too large, headquarters regions you cannot support, employees of a competitor, and titles such as student, intern or "former". Others only your CRM knows: why customers churned, which deals turned out to be a bad fit, who never paid. Template makers treat this as its own section – Miro's ICP templates include "Anti-ICP" red flags, for example. Write yours next to the must-haves so nobody builds a list without it.
ICP vs buyer persona
| Ideal customer profile | Buyer persona | |
|---|---|---|
| Describes | A type of company (an account) | A person inside that company |
| Answers | Which companies to pursue | How to talk to the people there |
| Built from | Firmographics, your best customers, disqualifiers | Interviews, roles, goals, objections |
| Used by | Sales, RevOps, marketing for targeting | Marketing and sales for messaging |
HubSpot puts it in two sentences: "ICPs tell you which companies to pursue. Buyer personas tell you how to sell to the people inside those companies." How many ICPs a company should have is less settled: Cognism argues for one, while Product Marketing Alliance suggests two or three well-defined ones. Start with one built from your best customers and split it only when the tally clearly shows two different groups.
Turn the ICP into LinkedIn searches (account-first)
- Industry → the exact LinkedIn label. Use the label exactly as LinkedIn writes it: it is typed into LinkedIn's industry filter, and when nothing matches by name, LinkedIn's first suggestion is taken.
- Headcount → a size band (1–10 up to 10,001+).
- Headquarters → the company search's location filter, which matches where a company is headquartered.
- Buyer → a people search by title at the matched companies. Use the companies from the first search as current companies and verify each person's employer.
- Don't copy the headquarters into the people search's location. In a people search, location means where the person lives: copying it would drop an overseas employee of a company that fits, and let through a local employee of one that doesn't. Add a person location only if your ICP separately requires the buyer to be based somewhere.
- A company search needs a keyword alongside the filters – an agent always includes one; the CLI and the API can also start from a search URL you paste. The standard people search has no company-size filter, so size is checked on the company.
- On Sales Navigator, a pasted search URL carries seniority, function and years in role.
Which filters each LinkedIn plan offers is covered in our guide to LinkedIn advanced search.
Keep it current
Re-run the tally each quarter on that quarter's new wins and compare: a new industry creeping in, a shift in headcount, a different buyer title. The pages that publish ICP templates disagree on the cadence – HubSpot suggests reviewing at least once a quarter, Product Marketing Alliance at least once a year. With an agent doing the reading, quarterly costs little.
What this run can't fill
- Revenue – not a field on a LinkedIn company page; Sales Navigator offers it only as a search filter band.
- Funding, tech stack and intent – not read from LinkedIn here; bring them from your CRM or other sources.
- Which team is hiring – the company page shows a total vacancy count, not the team; individual job listings could show it, but this run does not read them.
- Win rates, deal size, retention – your CRM.
- Seniority – inferred from titles; there is no seniority field.
- Exact headcount – LinkedIn's member count, which can differ from the range a company declares; LinkedIn itself notes that counts based on member profiles may differ from actual employee counts. No headcount shown means unknown, not small.
Frequently Asked Questions (FAQ)
Start from 20–50 of your best closed-won customers, read each company and its buyer, and tally what they share – industry, size, location, buyer title, time in role. Turn the strongest patterns into must-haves, the weaker ones into nice-to-haves, and add disqualifiers. The template on this page gives you the rows.
Company rows (industry, headcount, headquarters, what the company does, company age, hiring, revenue band, funding, tech stack), the buyer you sell to (title, seniority, time in role), the pains and triggers behind the purchase, and the fit logic: must-haves, nice-to-haves and disqualifiers.
An ICP describes a type of company you should target; a buyer persona describes a person inside it and how to talk to them. Build the ICP first, then personas for the people in those companies.
Enough to see a pattern. Published advice ranges from your top 20–30 accounts (HubSpot) to 50–100 recent closed-won deals (Salesmotion); 20–50 is a practical working size for most B2B teams.
Yes, but the advice differs: some recommend a single ICP, others two or three. Start with one and split it only when your customer data clearly shows separate groups that buy for different reasons.
A list of the companies and people you deliberately leave out – industries you do not serve, sizes or regions you cannot support, competitors' employees, and the patterns behind churn or bad-fit deals.
At least once a year, and ideally each quarter on your newest wins. Re-running the tally is quick if an agent reads the customers for you.
Most of the company and buyer rows, yes: industry, headcount on LinkedIn, headquarters, specialties, the buyer's title, role dates and past companies – with your CRM's close dates, also how long each buyer had been in the role when they bought. Revenue, funding, tech stack, pains and deal data come from your CRM and interviews.
Yes – the table at the top of this page. Copy it into a sheet, a doc or your CRM, and use the evidence column to see which rows LinkedIn can fill for you.
Build it in, or hand it to an agent
Get it out of the box: connect the MCP server, the agent-friendly CLI or a ready-made skill and let an agent fill the template from your customers – the filled profile is also the kind of ICP the LinkedIn growth skill asks for before it qualifies leads. Or build it into your own tools with the REST API, the Node and Python SDKs and the shell CLI. Either way it runs on your own LinkedIn account. Plans are flat per seat, from $49/mo billed annually – see pricing. Next: apply the profile to each lead with the lead qualification checklist, tier the accounts in account-based selling, or put it to work in AI sales prospecting.
Facts verified November 4, 2026 – quotes checked against the cited HubSpot, Salesmotion, Cognism, Product Marketing Alliance and Miro pages on that date.