
An Ideal Customer Profile Template, and How to Fill It In
By Jean-Philippe Schepens van Thiel
Eight fields, one page, and the row that takes companies off the list instead of adding them. Copy the table, then fill it in from the deals your team has already won and lost.
An ideal customer profile (ICP) template is a fixed set of fields that describe the companies worth your team's time, with one row for each thing you check before a rep opens an account. The template below has eight rows and fits on one page. Everything after it is about getting your own answers into those rows using deals you have already closed, and about the one row that most profiles leave out.
The Template
Copy the table and keep the first two columns as they are. The example in the third column belongs to one made-up seller, a company selling quality-management software to food and beverage manufacturers, and it runs all the way down so you can see how the rows constrain each other. Read it as one of several possible ideal customer profile examples rather than as a shape yours should match. Rows that quietly contradict each other are what turn a written profile into a document nobody opens twice.
Field | What goes in it | Example |
|---|---|---|
Industry and sub-industry | The narrowest description that is still true. Sub-industry is where most profiles stop too early. | Food and beverage manufacturing, specifically dairy, ready meals and bakery, where a recall is most expensive. Not bottlers. |
Company size band | A range, in the unit that predicts the problem. Headcount is the default and often the wrong one. | 200 to 2,000 employees, or two to twelve production sites. Below two sites the work is still manageable on paper. |
Geography | The markets you can actually serve, not the ones you would accept an order from. | Germany, the Netherlands, Belgium and France. One regulatory regime, and four languages we support. |
Legal form or ownership | Only fill this in where it changes who decides. Leave it blank if it does not. | Family-owned or privately held. Group subsidiaries cannot sign locally, and that changes the whole sales process. |
The technology or process that makes them a fit | The specific thing they do today that your product replaces or attaches to. | Quality checks still run on paper or in spreadsheets, with an enterprise resource planning (ERP) system already in place to read master data from. |
The observable event that says they are in market | Something a stranger could notice from outside the company. If you need an insider to know it, it does not belong here. | A second site announced, a quality or compliance manager hired, a certification audit scheduled, or a recall reported. |
Who signs | The role that signs, and separately the role that champions. They are rarely the same person. | Operations or plant director signs. The quality manager champions and almost never signs. |
Disqualifiers | The conditions that take a company out, however well it matches every row above. | Quality function outsourced to a consultancy. No ERP. A single site under 200 staff. Headquarters outside the four markets, because the decision travels there. |
Two rows in that table do work the others do not. The observable event is the only row about timing rather than about identity, which makes it the only row that can change next week. The disqualifier row is the one most templates leave out entirely.
The Disqualifier Row Is the One That Saves Work
A profile built only from positive criteria gives a rep no way to say no. Every field reads as something to look for, so the list grows by addition, and the only question anybody can ask about an account is whether it matches a bit more or a bit less than the last one. Disqualifiers are the only part of the document that removes work, which is why a team that has them stops arguing about borderline accounts and starts closing the tab.
Write them as conditions rather than as judgments. "Too small" is a judgment and two people will apply it differently. "A single site under 200 staff" is a condition, and anybody can check it in a minute. The same goes for the ownership row: "wrong kind of company" tells a rep nothing, while "a subsidiary that cannot sign locally" tells them exactly what to look for and exactly when to stop. Keep the list short. Four or five conditions that genuinely end a conversation are worth more than a dozen soft preferences, and a disqualifier that has never once removed an account is not a disqualifier.
The hardest ones to write are the ones that disqualify companies you like. A large, well-known manufacturer that fits every other row but buys through a procurement function in another country is a bad account for a small team, and writing that down is what stops it coming back every quarter. Expect resistance to exactly those rows, because they are the ones that remove a name somebody has been carrying in the forecast. That is the test of whether the document is real: a profile nobody argued about is usually a profile nobody will use.
Filling It In From Deals You Already Closed
You can fill all eight rows from data your team already has, in one spreadsheet, without buying anything. Export your closed-won accounts, one per row, as far back as the records are reliable. Add a column for each field in the template and fill it in from what you know about each account. Then do the same for closed-lost, and then for a third group that matters more than either: the accounts your team keeps working and never closes.
Read the columns, not the rows. For each field, you are looking for the most common value among the won deals, not the average. An average size band across a mixed list describes nobody. If one field has the same value in almost every won deal, it is a real criterion and it goes in the template as written. If a field looks roughly the same in your won deals and your lost ones, it is not telling you anything and it should come out of the template altogether, however reasonable it sounds. That single test removes more dead weight from a profile than any amount of discussion.
The third group is where the disqualifiers come from. Accounts that stay open for quarters without closing usually share something, and it is usually structural rather than a matter of effort: no budget holder in the country, a decision that needs a parent company, a process that was never really going to change. Those are your conditions, and they are already in your pipeline waiting to be read. For the full method behind this, including how a profile tightens as more deals land, see our longer piece on how to build an ideal customer profile. This article is the template; that one is the method.
What a Filled-In Profile Cannot Tell You
A finished profile answers one question well. It tells you which companies are worth your team's time. It says nothing at all about which of them is worth your team's time this week, and that gap is wider than it looks, because fit is stable by design. The point of the eight rows above is that they describe properties which do not change from Monday to Monday, so a list filtered on them comes back in the same order every time you run it. That is useful once. It is not a plan for the quarter.
Timing is the job of the predictive signal layer. It reads what a company does in public: hiring, funding, filings, new premises, leadership changes. From that it forecasts the buying window, rather than reporting a trigger after the fact. The signal layer does not replace the profile. It takes the companies the profile already put in scope and adds the thing the profile cannot carry, which is why they should be contacted now (the why-now). ICP Hunter is where the two meet: it scans the market for matches by location, industry and company size, tracks buying signals across those prospects, makes buying intent predictions, ranks them from most to least likely to buy, and learns from your team's thumbs-up and thumbs-down.
Three things follow, and they are worth saying plainly because they are usually assumed the other way round. AxonJay sits on top of the stack you already run rather than replacing it, so nothing above needs to be bought before the profile you just wrote is useful. AxonJay does not send, which is a position rather than a gap: a layer whose argument is that timing beats volume is an odd place to add a bigger sending machine. And the same signals read on companies you have never spoken to also read on the ones you already invoice, so the profile and the timing both apply to expansion and renewal, not only to new logos. If you want the mechanism rather than the product, how it works walks through it.
Frequently asked questions
What should an ideal customer profile template include?
Eight fields cover it: industry and sub-industry, company size band, geography, legal form or ownership where it changes who decides, the technology or process that makes a company a fit, the observable event that says they are in market, who signs, and the disqualifiers. The last one is the field most templates omit and the one that saves the most wasted effort.
How many fields should an ideal customer profile have?
Few enough that a rep can check all of them before deciding whether to open an account. If a field cannot be verified from outside the company in a couple of minutes, it is a research project rather than a criterion, and it will be skipped in practice whatever the document says.
What is a disqualifier in an ideal customer profile?
A condition that removes a company from scope regardless of how well it matches everything else, such as a quality function that has been outsourced or a subsidiary that cannot sign locally. Disqualifiers are written as checkable conditions rather than as judgments, so that two people reading the same account reach the same answer.
How do you fill in an ICP template with no closed deals yet?
Use the accounts you have spoken to rather than the ones you have closed, and treat every row as provisional. Write the disqualifiers first, because the conversations that went nowhere are informative long before any deal lands, and revisit the whole template after the first handful of wins rather than defending the version you wrote at the start.