Copy the block in the second section of this article into a file called icp.md before you read the rest. Fill in the header, the profile paragraph, and the disqualifiers. Leave every other line as a placeholder. Fifteen minutes later you'll know more about your customer than most teams learn from a two-week persona project, because the blank lines show exactly which facts you don't have.
That's the point of an ideal customer profile template. It's an inventory of what you know about the customer who buys, stays, and expands, and a list of the gaps you still need to close with interviews and CRM data. This how-to gives you the template as plain Markdown, the five steps to fill it, and the swaps for B2B, B2C, SaaS, and a startup with no customers yet.
What an ideal customer profile is, in one paragraph
An ideal customer profile (ICP) describes the type of customer who gets the most value from your product and is most likely to buy, retain, and expand. In B2B the unit is the account: industry, size, stage, stack, budget, trigger. In B2C or product-led motions the unit is a type of person who self-serves, still described as a category with thresholds, not a character with a name. The ICP is the filter for who enters your pipeline and your roadmap. A buyer persona is the portrait of a person inside that filter. The ideal customer profile vs buyer persona guide covers the split, and the ICP topic on Product Map has the full definition.

The template, ready to copy
This is the structure the Define ICP and segments agent writes into a product context repository, condensed from Product Map's B2B and B2C segmentation templates. It's Markdown so it sits next to your strategy files, diffs in Git, and reads into any AI agent without conversion.
# ICP: [segment name]
Motion: [B2B account | B2C single user]
Owner: [name]
Last reviewed: 2026-09-07
## Profile
[2 to 3 sentences. Who they are, what stage they're at, and why they
need this product now. Every sentence traces to a customer quote, a
support ticket, or a CRM row.]
## Attributes (B2B account)
- Industry: [B2B SaaS, fintech, e-commerce]
- Size: [50 to 500 employees, or an ARR range]
- HQ / geo: [USA, UK, Germany, remote-first]
- Stage: [Series A to B, post-PMF, scaling]
- Budget / ACV: [deal size range and buying process]
- Decision maker: [Head of Product, CPO, VP Engineering]
- Champion: [senior PM, product ops lead]
- Sales cycle: [2 to 8 weeks self-serve; 1 to 3 months sales-assisted]
## Attributes (B2C single user)
- Role / title: [Product Manager, founder acting as PM]
- Seniority / life stage: [mid-level, career switcher, student]
- Context: [startup employee, freelancer, side project]
- Tools used: [Notion, ChatGPT, Slack, tools they already pay for]
- Where they discover: [Reddit, newsletters, search, word of mouth]
- Willingness to pay: [self-pay ceiling, monthly vs annual]
## Pain points (ranked by intensity, in the customer's words)
1. [quote or paraphrase, with the source]
2.
3.
## Goals
- [what success looks like for them, in their own metric]
## Buying trigger
- [the event that starts the search: new hire, lost deal, failed audit]
## Jobs to be done
- When [situation], I want to [motivation], so I can [outcome].
## Qualification criteria (at least 4 of 5 must be true)
- [ ] [has a dedicated product team]
- [ ] [budget owner named and reachable]
- [ ] [buying trigger in the last 90 days]
- [ ] [size or seat threshold met]
- [ ] [uses a tool we integrate with]
## Disqualifiers (any one is enough to decline)
- [no product function or budget owner]
- [needs procurement, SSO, or a contract before trying]
- [wants a single-user plan with no team value]
## Evidence
- EVIDENCE: [interview, ticket, or deal each attribute came from]
- ASSUMPTION: [what nobody has checked yet]Four choices in the template are deliberate.
- Two attribute blocks, keep one. Delete the block that doesn't match your motion. Both filled in means the ICP is two segments pretending to be one.
- Pain points are ranked and quoted. Three problems in the customer's words beat ten in yours.
- Qualification and disqualifiers are separate. Qualification says who to pursue. Disqualifiers say who to decline in under a minute, and sales reads them first.
- Every attribute has a source. The evidence block tags each line EVIDENCE or ASSUMPTION. An ICP where everything is an assumption is a hypothesis, and the file should say so.
How to create an ideal customer profile in five steps
Step 1: Pull the accounts that bought, stayed, and grew
Export closed-won deals from the CRM with renewal and expansion flags. Sort by lifetime value and time to close. The top quartile is your evidence base. The churned quartile is your disqualifier base. Write down what the two groups share and where they split: size, industry, stack, who signed, and what happened the month before they started searching.
Step 2: Interview eight customers and your own sales team
Five to eight conversations per candidate segment is enough to hear the pattern repeat. Ask about the trigger, the alternatives they tried, and who else was in the room when they decided. Then ask sales and support which accounts they dread. The dread list is a first draft of the disqualifiers. If you can't book customers this week, rehearse the guide against a synthetic user grounded in your existing transcripts. It sharpens the questions. It doesn't replace the calls.
Step 3: Write the attributes with numbers, not adjectives
"Mid-market" is not an attribute. "200 to 1,000 employees, at least two PMs, Salesforce in the stack" is. Every attribute row should be checkable from a LinkedIn page, an enrichment tool, or one qualification question. Where you have a number, write the range. Where you don't, write ASSUMPTION next to the line.
Step 4: Set the qualification bar and the deal-breakers
Pick four to six qualification signals and decide how many must be true. Then write the disqualifiers as absolutes. A good disqualifier list lets a rep stop a bad deal before the first call: no budget owner, procurement you can't pass, a single-user need in a team product.
The Product Map ICP agent stress-tests this section by design. Its last scenario step challenges the chosen segment through objections, edge cases, and go-to-market implications before it finalizes the profile. Keep the objections it raises as open questions in the evidence block.

Step 5: Commit the file and set the review trigger
Commit icp.md to the same repository as your strategy and research files. Put the owner's name in the header. Tie the review to events, not a calendar: every closed-lost review and every interview round updates the file. A quarter with no change usually means nobody looked.
Adapt the template for B2B, B2C, SaaS, and startups
One file, four swaps.
- B2B ideal customer profile template: Keep the account attribute block. Add the buying committee under Decision maker: champion, economic buyer, and influencer or blocker, each with what they care about. Budget and sales cycle are required rows.
- B2C customer profile template: Keep the single-user block. Replace the committee with behavioral signals in the qualification section: signs up without a call, returns within seven days, already pays for adjacent tools. Willingness to pay is a self-pay ceiling, not an ACV.
- SaaS ICP template: Add a technographics row and a usage-based qualification signal: the integration connected, the seat count reached, the workflow completed in the first week. For product-led SaaS, the buying trigger is often an in-product event, not a market event.
- Startup ICP from scratch: Fill only Profile, Pain points, Buying trigger, and Disqualifiers. Tag every line ASSUMPTION. The template's job at this stage is to make the assumptions visible enough to test in the next ten conversations.

A scorecard version turns the qualification section into weights: each criterion earns points and a threshold sorts accounts into tiers. Build it after the ICP has survived a quarter. A scored rubric on an untested profile ranks accounts precisely against the wrong target.
The mistakes that turn an ICP template into a wish list
- Writing the customer you want instead of the one you have. The ICP is derived from closed-won evidence. Ambition belongs in the strategy doc.
- Skipping disqualifiers. Without an anti-ICP the profile can't say no, and a profile that can't say no isn't a filter.
- Too broad. If more than a third of your market fits, it's a target audience. Tighten until a rep can disqualify half of inbound in a minute.
- Two segments in one file. Both attribute blocks filled in, or pain points contradicting each other, means you have two ICPs. Split the file.
- No owner, no trigger. An unowned ICP is accurate on the day it's written and decays from there.
- Confusing it with a persona. Names, photos, and Sunday-night reading habits belong on a persona card, not in the profile.

FAQ
How do you identify your best customers for an ICP?
Rank by lifetime value, time to close, and expansion. Then check the top quartile against support load. A high-revenue account that consumes half your support team isn't ideal.
How many ideal customer profiles should a company have?
One primary ICP per go-to-market motion. A second is fine when a segment has its own trigger, buyer, and pricing. Three or more usually means the first one was too vague.
How many customer interviews do you need to build an ICP?
Five to eight per candidate segment. Patterns repeat by the sixth conversation. Beyond ten you're confirming, not learning.
Should the ICP live in a doc, a spreadsheet, or a slide?
A plain Markdown file in the repository your team and your AI agents already read. It diffs, it's searchable, and it needs no conversion. Export a slide for the board deck from the file, never the other way round.
How do you know when your ICP has become too broad?
Run twenty recent inbound leads against it. If fewer than five get disqualified, the profile isn't filtering. Tighten one attribute at a time.
Who should be in the room when the ICP gets written?
The owner writes. Sales, product, and customer success review. Sales checks the disqualifiers work on a live call. Product checks the pain points match what's being built. Success checks the profile against who churns.
Fill the gaps, not the form
The finished template is worth less than the blanks it exposes. Every placeholder still marked ASSUMPTION is a question for your next customer call, and every row marked EVIDENCE is a claim a rep can act on today. Commit the file, name the owner, and let the agents in your product context repository read it on every run. The profile stops being a document you present and becomes the filter your pipeline, your roadmap, and your AI agents all share.





