How to define an ideal customer profile you can actually search for

Most ICPs are written as adjectives — growing, ambitious, underserved, digitally mature. None of those can be looked up, which means none of them can produce a list of companies to contact. A usable ICP is written in attributes you could hand to a stranger and get the same names back.

Ask ten founders who their ideal customer is and most will answer with a description: mid-sized companies who care about quality and are ready to invest in growth. It sounds like a filter. It is not one. There is no register you can query for "ready to invest in growth", no directory field for "cares about quality", and so the description cannot be turned into a list of real companies with real names.

That gap is where prospecting stalls. The profile feels finished, and then the work of finding actual companies begins from nothing, one guess at a time.

The fix is a constraint: every attribute in your ICP must be observable from outside the company. If you cannot verify it from a public source without asking them, it does not belong in the profile — it belongs in your qualifying conversation, which is a different document.

Start from who already worked, not who you imagine

If you have customers, the profile is a description of them, not an aspiration. Take the ones you would happily have ten more of — not your largest, but your best fit: quick to see the value, straightforward to serve, likely to stay. Then take the ones that went badly. The gap between those two lists is the real profile, and it is usually not what you would have guessed.

For each, write down what was true and visible about them before they bought. Not what you learned in the sales conversation — what you could have seen from their website, their listings, their job ads, their register entry. That constraint is the whole exercise, because that is the only information you will have about a stranger.

If you have no customers yet, the same method works on people you have talked to who wanted it, and on the visible customers of whoever is already serving this market. It is weaker evidence, and you should treat the first version as a hypothesis to be corrected after ten conversations.

The four layers of a searchable profile

A profile that can produce names tends to have four kinds of attribute, and they do different jobs.

1. Firmographic — the coarse filter

Sector or activity classification, geography, size band, company age, ownership type. These are the attributes that company registers, official business statistics, licence lists and map data actually expose, so they are what narrows a universe down to a workable population. They are also the weakest predictor of fit on their own, which is why people who stop here end up with long lists that convert badly.

2. Observable behaviour — the real signal

This is the layer most profiles are missing, and the one that does the work. What can you see a company doing that correlates with needing what you sell?

  • What they publish. A services page for the thing you complement. Pricing shown or deliberately withheld. Case studies in a particular segment.
  • What they are hiring for. Job ads are the single most honest public statement of what a company is investing in and what it lacks right now. A role posted is a budgeted problem.
  • What their site reveals. The platform it runs on, whether it is maintained, whether it does the job your product improves.
  • Where they appear. Directories, association membership, trade listings, event exhibitor lists, procurement portals. Presence in a specific list is often itself the qualifier.
  • What customers say. Public reviews naming a recurring complaint you resolve.

Behavioural attributes are stronger than firmographic ones because they indicate a live situation rather than a permanent category. A company that fits your size band has fitted it for years; a company that just posted three roles in the function you serve has a problem this quarter.

3. Disqualifiers — the layer everyone skips

Write down what makes a company a bad fit even when it matches everything else. Already using a competitor they are locked into. Below the size where your price makes sense. In a jurisdiction you cannot serve. Structurally in-housed. A regulatory requirement you do not meet.

Disqualifiers are worth as much as qualifiers and take a fraction of the time to apply. They also keep you honest: if you cannot name any, your profile is probably not specific enough to be doing any filtering at all.

4. The trigger — timing, where you can find one

The best-fit company in the world does not buy in a month when nothing has changed. Visible triggers — a new location, a funding or contract announcement, a leadership hire, a site rebuild, a sudden change in review volume, a tender they just won — separate "fits" from "fits and is likely to act". Not every market has findable triggers. Where yours does, they are the difference between a list and a list worth working.

Write each attribute as a test, not a word

Take every line of your profile and rewrite it as something with a yes or no answer and a place you would look. "Digitally mature" becomes something like: has a website updated within the last year, takes bookings or payment online, and appears in at least two trade directories — three things anyone can check, and disagree with you about.

The rewrite forces a useful admission. Some attributes will resist it entirely, because they were never observable — "values long-term partnerships" has no test. Those are not ICP attributes. Move them to your qualifying questions and let them go.

Then, for each surviving attribute, note where it is checked and how long checking takes. An attribute that requires ten minutes of manual investigation per company is fine for a list of thirty and impossible for a list of five hundred. Knowing that in advance changes how you build the list.

Test it against a small sample before trusting it

Before building a large list, apply the profile to a small number of companies — twenty is plenty — and check three things.

Does the population exist? A profile so narrow that a serious search turns up almost nobody is not a precise ICP, it is a description of one company. Loosen the tightest attribute and see whether the count becomes workable.

Can you actually verify each attribute? This is where most profiles fail in practice. The criterion is sound and the evidence simply is not public — private companies not required to publish it, a field that exists in a directory but is filled in by a minority of entries. An attribute you cannot check is an attribute you will quietly start guessing at, and a list built on guesses looks exactly like a list built on evidence.

Do the matches look right? Read the twenty names. If people you would not want as customers are matching, a disqualifier is missing. If obvious good fits are being excluded, an attribute is too strict or is standing in for something else.

Two or three passes of this usually produce a profile that behaves — and it is far cheaper to discover a broken criterion at twenty companies than at five hundred.

Where profiles go wrong

  • Adjectives instead of attributes. The core failure. If it cannot be looked up, it cannot filter.
  • Describing the buyer's personality rather than the company's situation. Persona work is useful for messaging and useless for building a list. Keep them as separate documents.
  • Over-narrowing to feel focused. Six stacked criteria can leave a population too small to build a business on. Check the count as you add each one.
  • Attributes you cannot verify from outside. Revenue, headcount and tooling are often invisible for private companies. Substitute a public proxy and label it as a proxy.
  • Confusing "would benefit" with "would buy". Nearly everyone would benefit. The profile should describe who has the problem badly enough to pay, which is a much smaller group.
  • Never revisiting it. The profile written before your first ten customers is a hypothesis. After ten, it is evidence — rewrite it.

What a finished profile looks like

One page. A firmographic filter that defines the searchable population and roughly how large it is. Three to five observable attributes, each with a stated source and a yes/no test. A short disqualifier list. A trigger, if your market has one. And a note on which attributes are proxies rather than direct evidence.

The test of whether it is finished is simple: could someone else take this document and independently produce a list of named companies you would agree with? If yes, you have an ICP. If they would have to ask you what you meant, you still have a description.

The short version

  • Every attribute must be observable from outside — if you cannot check it publicly, it is a qualifying question, not an ICP attribute.
  • Derive it from your best and worst existing customers, using only what was visible before they bought.
  • Four layers: firmographic filter, observable behaviour, disqualifiers, and a timing trigger where one exists.
  • Behaviour beats firmographics — hiring, publishing and reviews indicate a live problem, not a permanent category.
  • Rewrite each attribute as a yes/no test with a named source and a rough time cost per company.
  • Test on twenty companies first: does the population exist, can you verify every attribute, do the matches look right?
  • Name your disqualifiers — they are as valuable as your qualifiers and far faster to apply.
  • Treat version one as a hypothesis and rewrite it once you have real customers.

Want the list built from your profile?

The $15 Lead List takes your ICP and turns it into named companies, each with the public evidence for why it matched and where that evidence came from. Attributes we could not verify are marked as unverified rather than guessed, and if your niche contains fewer matches than expected you get the verified count and an honest account of what limited it.