
Position to WinA B2B Ideal Customer Profile is a queryable filter, not a mission statement: a short list of firmographic rules (industry, size, revenue, geography) plus the behavioral triggers that separate a company that fits on paper from one that’s actually ready to buy. If a criterion can’t be applied directly in your CRM, ad platform, or enrichment tool, it isn’t part of the ICP — it’s a wish.
Most ICP write-ups stop at firmographics and call it done. That’s the version that reads well in a slide and does nothing in a CRM. Here’s how to build one that actually filters.
Firmographics are the floor, not the finish line: industry, employee count, revenue, geography, business model. The test for each one is whether it’s checkable without a judgment call.
Here’s Swivel’s own filter, as an example of what “checkable” looks like in practice:
Every line above is something you could paste into a filter field today. That’s the bar.
Two companies can pass every firmographic rule and be nowhere near equally ready to buy. Triggers are the layer that tells you when, not just who: a funding round, a new VP of Sales or RevOps hire, a job posting for a role your product supports, a tech-stack change, a recent expansion. Firmographics describe the shape of a company. Triggers tell you whether this is the moment.
Weight triggers deliberately rather than as a bonus checkbox — a firmographically-perfect account with zero trigger signal is often a worse near-term target than a good-fit account showing three.
If you can’t compress your ICP into a single operational sentence, it’s still a mood board. Something like: US-based B2B [industry] companies, [employee range], $[X]–[Y]M revenue, showing [trigger type] in the last [timeframe], where the buyer is a [title]. Every clause should map to a field you can actually query — in your CRM, your enrichment vendor, or your ad platform’s targeting. Drop any clause you can’t operationalize; it’s not helping you, it’s just padding the description.
A binary ICP (fits / doesn’t fit) is a blunt instrument once you have more qualifying accounts than you can treat identically. The next step is scoring each account against the filter — firmographic fit plus trigger signal — and collapsing the scores into tiers so effort scales with likelihood to convert. We’ve written up how we do this at scale, including how to tier a full TAM into a five-tier model, in a separate breakdown.
An ICP built from last year’s closed-won data quietly goes stale as your product, market, and best customers change. Treat it as a versioned model: review it on a regular cadence, and be willing to tighten or loosen a clause when the accounts converting today don’t match the filter you wrote a year ago.
An ICP is only doing its job if someone outside the room who wrote it could apply every clause without asking a follow-up question. Firmographics set the shape; triggers set the timing; writing both as one filterable sentence is what makes the whole thing usable instead of aspirational.
Turning firmographics and buying triggers into a filter your team can actually run — and scoring and tiering the accounts that pass it — is exactly the kind of system work Swivel does. Book a short call and we’ll walk through what that would look like for your market.
An ICP describes the company — the account-level fit. A buyer persona describes the person inside that account — their role, priorities, and objections. You need the ICP to know which companies to target, and personas to know how to talk to the people inside them.
Firmographics (industry, size, revenue, geography) set the floor, but a usable ICP also includes behavioral triggers — funding events, hiring patterns, tech-stack changes — that indicate timing, not just fit. A profile with firmographics alone tells you who could buy, not who’s close to buying.
A TAM is every company that could plausibly buy — the full universe. An ICP is the filter that says which of those companies are actually worth prioritizing right now. In practice, you build the ICP first, then apply it to score and tier your TAM.
Treat it as a living, versioned model rather than a one-time exercise. Revisit it on a regular cadence and adjust when the accounts actually converting no longer match the filter as written — product changes, new markets, and shifting buyer behavior all move the target.
Score each account against the firmographic filter plus any trigger signal you can detect, weighting deliberately so a big company in the wrong segment doesn’t outscore a smaller, better-fit one. Collapse the scores into a small number of tiers so effort — 1:1, 1:few, or 1:many — scales with likelihood to convert.

Uncover your hidden revenue leaks, and discover the essentials you need to fix them to drive real growth.
Ready to talk? Book a meeting with Swivel →
Position to WinToday's B2B buyers complete about 70% of their buying research before ever contacting sales, so your content has to carry the first two-thirds.
Position to WinA TAM isn't a flat list. Score and tier every account, then assign plays by tier. How we tiered ~17,000 companies into a five-tier model.
Position to WinScore every inbound lead against your ICP the moment it enters HubSpot, then route on the verdict. How to make 'qualified' a live data point.
Monthly sales and marketing insights from the Swivel team: sales enablement, marketing tech, CRMs, content strategy and performance tracking.