In this guide, an ideal customer profile (ICP) means a written description of the companies most likely to buy from you and keep buying. This guide shows how to build one from your own deal history, how to write it down so a teammate can use it, and how to test it before you spend on outreach or ads. The ICP glossary entry covers the definition. This page covers the work.
Who this is for
This guide is for founders, sales leads and marketers at B2B companies who have to answer "who should we sell to?" with more than a hunch. It fits you if one of these is true:
- You have past deals, won or lost, in a CRM or a spreadsheet, and nobody has looked at them as a group.
- You have few or no deals and need a first profile you can test.
- You already have a profile, but different people on your team describe it differently.
- You are about to start outbound or paid campaigns and want to know who goes on the list.
You do not need Outlevo to follow the steps. Where Outlevo does a step, the guide says so and keeps to what the product is documented to do.
Steps
Gather the deals you already have
Start with what happened, not with what you hope will happen. Collect every company you have sold to, tried to sell to, or lost. For each one, try to record:
- Company name and website domain
- Country
- Company size
- Industry
- Deal stage, amount and outcome
- The reason you lost, if you lost
These fields match what Outlevo's CSV import maps: domain, name, country, size, industry, and deal fields such as stage, amount, outcome and loss reason. The import takes up to 200,000 rows [[1]](#sources). You can also import past deals from your CRM and get a win/loss analysis that proposes ICP hypotheses [[2]](#sources).
If you use HubSpot, Outlevo reads companies (name, domain, owner, lifecycle stage) and deals (pipeline, stage, amount, closed-lost reason) [[3]](#sources). It writes only to its own fields and never edits your standard HubSpot fields [[3]](#sources). For Salesforce, Outlevo reads accounts and opportunities with their stages [[4]](#sources). That integration is a pilot, and it needs the Outlevo package installed in your org [[4]](#sources). Connecting and syncing a CRM uses no credits, and neither does a CSV import or export [[3]](#sources) [[1]](#sources).
If you work in a spreadsheet, the same columns work. The point is a table where each row is a company and each column is something you can compare.
Count companies, not deals
One customer can sign three deals. Three customers can each sign one. If you count deals, the first customer looks three times as important as it is. Count companies.
Outlevo's win/loss analysis counts companies, not deals [[5]](#sources). Do the same in your own sheet: collapse repeat deals to one row per company before you look for patterns.
Be honest about sample size
A pattern across a handful of wins is a hunch. Outlevo labels small samples, and under 10 won companies is very low confidence [[5]](#sources). Use that label as a prompt in your own work. If you have only a few wins, write your profile as a set of hypotheses to test. Do not write it as a finding.
Look for what the winners share, then check the losers
Sort won companies and look for shared traits. Ask these questions:
- Which industries show up repeatedly?
- Is there a size range where you win more often?
- Do the winners share a tool, a team structure or a trigger event that led them to buy?
- Who owned the purchase at the company?
Then do the same with lost companies. Read the loss reasons. A loss for "no budget" tells you something different from a loss for "missing a feature." If a trait appears in both your wins and your losses, it does not separate good fits from bad ones. Drop it from the profile or keep it as a weak signal.
Split fit from intent
Fit and intent are different questions. Fit asks whether the company looks like your best customers. Intent asks whether the company is showing signs it is ready to buy now. A company can fit well and show nothing, or show activity and fit badly. Keep the two apart in your profile.
Outlevo scores both. Each qualified account gets a Readiness Card with fit, intent and data quality scores [[6]](#sources). Whatever tool you use, give each criterion in your profile a type: fit or intent. Fit criteria go in the profile. Intent signals go in a separate list for prioritizing.
Write each segment as a hypothesis with evidence
Most companies end up with more than one segment. Write each one in the same form so you can compare them. The template below gives a form.
For each segment, keep what you know apart from what you suspect. Outlevo does this in its own output: guesses are labelled as hypotheses, never presented as findings [[6]](#sources). AI-proposed ICP segments are labelled experimental until a person approves them [[5]](#sources). Use the same rule on paper. A segment is a hypothesis until the numbers from your own deals, or a test, say otherwise.
Decide the countries yourself. Which countries you sell into depends on your product, your support and your legal setup, and no guide can pick them for you. Outlevo asks which countries you sell into and never proposes markets [[5]](#sources). Write your countries into the profile as a stated input.
Check each company against public evidence
A profile only helps if you can tell whether a given company matches it. For that you need facts you can point to. A Readiness Card needs at least three observations, each with a source and a date [[6]](#sources). Facts read from a website are kept only when their quote is found on the page [[6]](#sources).
You can apply the same discipline by hand. For each target company, write down what you saw, where you saw it and when. "Mentions a field team on its careers page, checked on a given date" is an observation. "Seems like a good fit" is not.
On cost: qualifying accounts uses credits. Light qualification costs 1 credit and qualification costs 3 credits [[7]](#sources). Builder includes 320 credits a month and Growth includes 1650 [[7]](#sources).
Test the segments before you commit
The profile is not finished until something outside your own head has tested it. You have several options:
- Send a small, approved batch of outreach to one segment and compare replies and meetings with another segment.
- Watch which companies visit your website and whether they fit the profile. Outlevo's website visitor integration shows which companies visit, which pages they read and whether they fit your ICP, and it never identifies a person [[8]](#sources). It costs 1 credit per company identified per day [[8]](#sources).
- Run test ads aimed at one segment. A Reddit Ads test set costs 30 credits once, and ad spend is paid to the platform [[9]](#sources). See the Reddit Ads integration for the details.
- Track competitors. Outlevo's competitor tracking covers quoted facts from competitors' public pages, win/loss by competitor and competitor signals on accounts [[10]](#sources). Competitor search costs 15 credits [[7]](#sources).
Change one thing at a time. If you change the segment, the message and the channel together, you will not know what moved the result.
An ICP template you can copy
Copy this into a doc or spreadsheet and fill in one block per segment. This is a format, not a set of real results. Leave a field blank if you have no evidence for it.
Segment name: a short label your team will actually say aloud.
Status: hypothesis, tested, or approved. Add the date and the person who approved it.
Company traits (fit):
- Industry:
- Company size:
- Countries you sell into (your decision):
- Tools or systems they use:
- Business model or team structure:
Buyer:
- Job title that owns the problem:
- Job title that signs:
Problem and trigger:
- The problem they have before they buy:
- The event that makes them act (new hire, new funding, new regulation, a missed target):
Intent signals (for prioritizing, not for the profile):
- Pages they read, replies they send, or events that show readiness:
Disqualifiers:
- Traits that predict a loss, taken from your loss reasons:
Evidence:
- Won companies in this segment, counted by company:
- Lost companies in this segment, counted by company:
- Observations with source and date:
How it was tested:
- What you tried, when, and what happened:
How to read the template
The pattern for a segment is: companies of a given size in a given industry, with a given trigger, where a given role owns the problem. The disqualifiers matter as much as the traits. A profile that lists only who to include invites waste. A profile that also says who to skip keeps the target list short.
Keep the "Evidence" block honest. If it is empty, the segment is a hypothesis, and the status field should say so.
What to check
Before you treat the profile as done, run through this list.
The sample. Did you count companies, not deals [[5]](#sources)? If you have few won companies, did you mark the segment as low confidence? Under 10 won companies is very low confidence by Outlevo's own label [[5]](#sources).
The losses. Did you read the loss reasons and write at least some of them as disqualifiers? A profile built only from wins misses the traits that predict a loss.
The evidence. Does each claim about a company point to a source and a date? Outlevo's rule is at least three observations, each with a source and a date, before a company gets a Readiness Card [[6]](#sources). Use that as a bar for your own notes.
The labels. Are guesses marked as guesses? A segment that an AI tool proposed should stay experimental until a person has reviewed it and approved it [[5]](#sources).
The countries. Did you choose the countries yourself, and did you write them down? A profile that is silent on countries gets filled in by whoever builds the list.
The rules for contacting people. An ICP tells you who to target. It does not tell you whether you may contact them. Check the rules for each place you send to. Three points worth knowing:
- On the US side, the FTC's CAN-SPAM guide says: "The law makes no exception for business-to-business email." [[11]](#sources) (read on the FTC's page, checked 2026-10-22).
- In the UK, the ICO's PECR guidance says: "You can email or text any corporate body (a company, Scottish partnership, limited liability partnership or government body)." [[12]](#sources) (checked 2026-10-22).
- Under GDPR Article 6(1)(f), one lawful basis is "processing is necessary for the purposes of the legitimate interests pursued by the controller or by a third party" [[13]](#sources) (checked 2026-10-22).
These are quotes, not legal advice, and they do not cover every case. Talk to a lawyer about your own situation.
The approvals. Decide who approves a profile and who approves sending. In Outlevo, nothing is sent outside a policy that a person approved [[14]](#sources). Policies set who can be contacted, on which channels, how often and with what budget [[14]](#sources). Whatever tool you use, put the same split in place: one decision for who the target is, a second for what you may do to reach them.
The refresh. Set a date to revisit the profile. New deals change the picture. A profile written once and never reviewed becomes a description of last year's customers.
Next step
Pick the path that matches what you have today.
If you have past deals: put them in one table with one row per company. Import them as a CSV, or connect HubSpot or Salesforce. Read the win/loss analysis, which proposes ICP hypotheses [[2]](#sources). Review each proposed segment and approve or reject it. The CSV import page lists the columns the import maps.
If you have few or no deals: start with the free ICP assessment. It reads up to 5 public pages of a website [[15]](#sources). It returns facts labelled as verified observations or AI inferences, and up to 5 experimental segment hypotheses [[15]](#sources). It also asks which countries you sell into [[16]](#sources). Copy the hypotheses into the template above, mark each one as a hypothesis, and test one segment at a time with a small batch.
If you already have a profile: fill in the template for each segment, compare the blocks across your team, and settle any differences against your won and lost companies.
Sources
- CSV and Excel integration
- Release 2026-10-19
- HubSpot integration
- Salesforce integration
- ICP from evidence
- Readiness Cards
- Outlevo pricing
- Website visitors integration
- Reddit Ads integration
- Release 2026-10-19
- FTC: CAN-SPAM Act compliance guide for business
- ICO: Electronic mail marketing (PECR)
- GDPR Article 6(1)(f): lawfulness of processing
- How Outlevo works
- Free ICP assessment
- Release 2026-10-19