Blog

How I Personalize Cold Email in Clay by Matching Prospects to Their Own ICP

Quick answer

ICP matching means researching a prospect's own ideal customer first, then finding real companies in your target market that fit that profile, and opening the email with those names instead of a line about the prospect's funding or headcount. It works because it proves you understand who they sell to, not just who they are.

I run LinkedIn outreach next to cold email for B2B clients, and most of what decides whether a campaign works happens before a single email gets written, in how the list gets built and who gets named in the first line. One Clay table, built to find B2B SaaS companies trying to break into Finland, changed how I think about that first line, and it is not the part most people copy when they watch a workflow breakdown.

What is ICP matching in a cold email opener?

Most personalization tries to say something true and specific about the prospect's own company: a recent raise, a new hire, a line from their homepage. ICP matching skips that and researches the prospect's customers instead. You work out who the prospect's ideal buyer actually is, then find three or four real companies in the market you are entering that fit that exact buyer profile, and you open the email by naming them. The email is not complimenting the prospect. It is handing them a small, specific piece of the research they would have had to do themselves to break into that market.

Why company trivia stopped being a personalization edge

A line like congrats on the Series A or saw you're hiring a VP of Sales used to read as effort. Now it reads as a merge field, because every outbound tool pulls the same public signals and writes the same sentence around them. The prospect cannot tell whether a person did that research or a script did. A list of three named companies that fit their own ICP is harder to fake convincingly at scale, and it answers a question the prospect actually has if they are trying to grow into a new market: who do I even sell to there.

The Clay table, start to finish

The workflow behind this is one Clay table, built once and reused for every new batch of companies. In order, it does five things: finds companies that match a target profile, confirms each one is reachable and real, classifies whether it is actually a B2B SaaS business, researches what each one sells and who it sells to, then finds three real companies in the target region that fit that buyer profile. People search and email finding come after, once the company-level research is done. The next sections go through each step and the one that matters most for the final email.

Why I filter by keyword, not LinkedIn industry

The first pass builds a list of companies from a search, and the instinct is to filter by an industry category like software development. That category also catches a long tail of IT services and dev shops that are not B2B SaaS companies at all, which pollutes the list before any enrichment even starts. Filtering on keywords instead, things like software as a service, cloud software, subscription software, narrows the list to businesses that actually describe themselves that way, then a company size filter and a location filter (European countries, in this case) bring the list down to a workable size before any credits get spent.

Tip. Keep a domain-not-empty filter on from the start. A company with no listed website is not one you can research or reach, and there is no reason to carry it into enrichment steps that cost credits.

Qualifying domains before spending enrichment credits

Before any research step, a cheap check confirms whether each domain actually resolves and is live, separating a dead or parked domain from a real one. It is a small step, but it protects every expensive step that comes after it: there is no reason to run an AI agent against a company's website if the website does not load.

Classifying B2B SaaS with an AI agent

Once a domain is confirmed live, an AI agent visits the site and checks for the signals that actually separate a SaaS business from an agency or a services firm: a product interface, SaaS-shaped pricing (per seat or usage based, rather than a quote), and language that describes a product rather than a service. That classification step is what the keyword filter earlier could not fully guarantee on its own, and it is what keeps the rest of the table focused on companies worth the next, more expensive research step.

Finding the companies that match their ICP

This is the step the whole email depends on. For each qualified company, a research step reads the site and works out what it actually offers, who its ideal customer is by industry and company type, and who the buyer persona likely is. That profile then becomes the search query for a second step: find three real companies, headquartered in the target market, that match that exact profile. For the campaign in the video, the target market was Finland, so the output for each prospect was three Finnish companies that looked like their own best-fit customers. Building an ICP that actually converts is normally a manual exercise done once for your own company; here the same logic runs automatically, company by company, for every prospect on the list.

Writing the email around the match

The first line names the industry the research identified, says the three matching companies were found in the target market, and names them. The ask that follows is short: would they be open to a meeting with one of those companies, or any other company in that market that fits the same profile. That keeps to the shape I default to for a first email anyway, 30 to 40 words, one concrete observation and one concrete offer, rather than a paragraph of context before the ask. The difference here is what fills that one observation: a researched match instead of a compliment.

Finding the right person at each company

Only once the company-level work is done does the table move to people: titles like CEO, founder, CRO, COO, VP of sales and head of sales, pulled in batches rather than all at once. First names get normalized and any emoji or symbol left over from a LinkedIn profile gets stripped, since nothing undercuts a personalized opener faster than a broken name in the greeting line.

Why I run multiple providers instead of one

For finding people and verifying their emails, one data source alone leaves real coverage gaps. Running Clay's own search alongside a second contact database and a couple of specialized email finders, then checking every result against a separate verification tool before it goes anywhere, is what closes most of that gap. The same logic applies to the waterfall used to actually find a working email address for each person: I cover how that chaining works and what it costs in the email waterfall strategy for finding more contacts.

DimensionCompany trivia openerICP match opener
What it's based onNews, funding, headcount, a line from the homepageResearch into who the prospect's own customers actually are
What it proves to the readerA tool found a public data pointSomeone understands their market, not just their company
Reusable once builtNo, a new fact is needed per sendYes, the same table runs for every new prospect
Fit for market entry campaignsWeak, says nothing about the new marketStrong, the match itself is market-specific
Setup effortLow per email, but never scales cleanlyHigher up front, one table, reused after that

Trivia personalization vs ICP matching, side by side

The table above is the short version. The longer version is that trivia personalization and ICP matching are not solving the same problem. Trivia tries to prove a human looked at this specific company for five seconds. ICP matching tries to prove something more useful to a buyer expanding into a new market: that you already did a piece of the market research they need. That is also why this approach fits a specific kind of campaign best, one aimed at companies trying to break into a region or vertical, rather than a general list where the prospect's own expansion plans are unknown. It sits closest to the lookalike play I describe in the order I'd launch five outbound signal plays in, matching on the prospect's customers instead of on the prospect's own firmographics.

Where this workflow breaks down

It depends on the research step correctly identifying an offer and an ICP from a website alone, which fails for companies with vague or generic homepages, and it depends on there being enough real companies in the target market that actually fit the matched profile, which gets harder in a small or niche vertical. It also only works as an opener if the target market is one you can credibly claim to have researched, so it fits an actual market entry push, not a generic list with no regional angle behind it.

Key takeaways

  • ICP matching opens with real companies that fit the prospect's own ideal customer, not a fact about the prospect itself.
  • Filter company lists by keyword, not industry category, to avoid pulling in adjacent businesses that are not the fit.
  • Check domains and classify the business model before spending credits on deeper, more expensive research.
  • Build the ICP-and-match research once per company, then write a short, two-part email around it: the match, then the ask.
  • Run more than one provider for people search and email verification. Coverage, not any single tool, is what closes the gap.

FAQ

What is ICP matching in cold email personalization?

It means researching the prospect's own ideal customer profile, then finding and naming real companies in your target market that fit that profile, instead of mentioning a fact about the prospect's own company.

Do I need Clay specifically to run this kind of workflow?

Clay is what I use because it chains the company search, classification, research and matching steps in one table, but the logic itself, research the buyer, then match companies to it, does not depend on one specific tool.

Does ICP matching work outside of B2B SaaS?

The classification step in this particular table is built around SaaS-specific signals like product pricing pages, so it would need a different qualifying step for other business models, but the underlying idea, researching who a prospect sells to and matching companies to that, carries over to most B2B categories.

How much does a workflow like this cost to run in Clay?

It depends on list size and how many enrichment and AI research steps run per row, and Clay's own credit model has changed more than once. I go through the current pricing structure in Clay's 2026 pricing overhaul rather than quoting a number here that may already be out of date.

Is this the same as account-based marketing?

It overlaps with it. ABM usually starts from a target account list you already have. This workflow builds the target list from scratch, for a new market, using the matched companies as the reason to reach out rather than as the target list itself.

Want an ICP matching table built for your market?

I work with B2B teams in two ways: as a fractional Head of GTM or by setting up the outbound function inside your team, so your people run it. If you'd rather have it built and run for you, that's what my agency, Shipyard GTM, does. Book a call and we'll work out which fits.

Book a call