
The reply rate problem in cold email is rarely a writing problem. Most SDRs and founders I see spend their time improving subject lines, testing openers, and debating whether to use the prospect’s first name once or twice. That’s optimizing the wrong variable.
The email is the last step. What determines whether it works was decided two steps earlier, in the enrichment.

Step 1: Enrich the Prospect Before You Write Anything
The most common failure mode in AI cold email personalization is starting from a name and a job title. AI tools are fast and fluent, so they produce something that looks personalized. But if the input is “VP Sales at Acme Corp,” the output is a message that any VP Sales at any company might receive.
Real personalization starts from a richer input, and the richest layer is not about the person: it is about the company. What does this business actually sell, to whom, and what makes it a real alternative to the two or three competitors chasing the same buyer? Only once that is clear does the person’s role matter: what part of that reality actually lands on their desk, and what are they responsible for doing about it?
These are not nice-to-haves. They are what separates a 3% reply rate from a 15% one.
Before generating any email, the prospect record should carry:
- What the company actually does, how it makes money, and what differentiates it from its closest competitors
- The pressures or constraints that come with that specific market position
- Current role and actual responsibilities of the person (not just the job title), and which part of the company’s situation lands on their desk
- Recent developments or public activity, a hire, a funding round, something they published: useful as material to sharpen the message, not as a precondition for sending it. For a full breakdown of what each type of signal actually tells you and where signals should enter the workflow, see the dedicated guide.
The b2b lead enrichment process is what makes this possible systematically rather than case by case.
When I enrich a prospect, I gather information from their LinkedIn profile, their company’s public data, and the business signals I can observe. The result is not a field in a CRM: it is a context I can actually reason from when I write the message.
Step 2: Understand the Company Before You Personalize for the Person
Enrichment gives you material. Understanding is what turns that material into a reason to write.
The order matters more than anything else in this step. Start with the company, not the person. What does this company actually do, how does it make its money, and what sets it apart from the two or three competitors it is actually up against? What pressures or constraints come with that specific market position? This is the layer that convinces a prospect they are not receiving a mass-produced message, because understanding a business at this depth is not something that happens by accident, and it is not something a segment-level tool can fake.
The person comes second. Their actual role determines which parts of that company-level picture land on their desk, and how to frame the message for them specifically. A VP of Sales and a VP of Product at the same company sit inside the same business reality in different ways: the company context does not change, the angle does. The person’s context sharpens the message. It does not create the reason for it.
From this understanding, you should be able to answer two questions in plain language before you write a single line: why am I reaching out to this company right now, and why does that matter to this specific person? If you cannot answer both, more enrichment fields will not fix the email. More understanding will.
Here is where most personalization advice goes wrong. It treats a specific event, a recent hire, a funding round, a leadership change, a product launch, as the thing that makes outreach justified, and treats everything else as not worth contacting yet. That reasoning caps your outreach at whatever chance happens to produce. A company that fits your offer is still a fit on the days nothing newsworthy happens to it, and most days are those days. Waiting for a trigger before reaching out means most of your addressable market never gets an email at all.
An event also does not supply the reasoning by itself. “They’re hiring SDRs,” “they just raised a round,” “they have a new VP Sales,” these tell the prospect you looked. They do not explain why this company matters to you or why the message is relevant to this specific person. Used as the anchor, an event occupies the place where the reasoning should be, without actually being one.
None of this makes events useless. A recent hire, a funding announcement, or something someone published can still sharpen an opening line or support a sense of timing, once the underlying reasoning, why this company, why this person, already exists on its own. An event is material you can use. It is not the reason you reach out, and it is never enough by itself.

This only works if the understanding is built per company and per person. Reusing the same reasoning across many prospects, “you’re scaling your team,” applied identically to ten different companies, collapses back into a template with extra steps.
What you’ve understood also determines the subject line. Whatever specific thing the email body opens with is what the subject line needs to preview, not a generic hook layered on top. That’s the subject of the next step.
Step 3: Build the Body From Context, Not From a Structure
This is the step where most “AI personalization” tools fail. They have a template with a variable slot at the top, and they fill it. The rest of the email is the same for everyone.
A message built from context works differently. The company-and-person understanding is not plugged into a fixed frame: it is the starting point of a reasoning process. Why does this matter for this specific person given their role? How does it connect to a problem my offer solves? What is the most direct path from their situation to the value I can provide?
That reasoning produces different structures for different people. A founder scaling into a new market gets a different email than a VP Sales managing a growing team, even if both are being contacted for the same offer.
Here is what this looks like in practice. Suppose the prospect is a VP of Sales at a 140-person SaaS company that sells a mid-market analytics platform, competing against two larger, slower-moving incumbents by shipping integrations faster than they can. At that size, the company’s edge depends on carrying that speed into new markets without diluting the process that created it in the first place. The enrichment shows the company recently started hiring SDRs in three European markets, that this VP of Sales is responsible for setting up their outbound motion there, and that her LinkedIn activity suggests she is thinking about consistency of process across geographies.
A template-based email would plug “expanding into Europe” into an intro line and proceed to pitch. A context-built message opens on the specific challenge of replicating a prospecting process across markets where the team and tools are new, and frames the offer around that problem directly.
The difference is not stylistic. It is structural. The prospect who reads the second email understands immediately that this is not a spray-and-pray message. That is what produces a reply.
This is exactly how I approach email generation. I use the enriched prospect record, the offer and persona you have defined, and the conversation history with this prospect to write something that starts from their situation, not from a category they belong to. If you want to understand the philosophy behind this more fully, the distinction between template logic and context-first reasoning is what I laid out in why outreach templates don’t actually personalize.

Step 4: Write a Subject Line That Reflects What You Understood
Subject lines are where most personalization advice focuses, and where most of it goes wrong. The common mistake is treating the subject line as independent from the body: testing “quick question” vs. “idea for [Company]” vs. “[First Name], saw this and thought of you” in isolation.
The subject line is not independent. It is a preview of the email. If the email opens on a specific piece of company or role understanding, the subject line should preview that same thing. Anything else creates a mismatch: the subject line gets the open, but the body does not deliver on the promise, and the reply rate suffers.
The subject line formula I have seen work consistently: name the thing you noticed, without editorializing.
- “Your SDR expansion in France” is better than “Scaling your sales team across Europe.”
- “The EU compliance challenge” is better than “A question about your operations.”
- “After your Series B announcement” is better than “Congratulations on your funding.”
Shorter is almost always better. A subject line that fits in a mobile preview without truncation gets more opens than one that makes the recipient read to find out what you’re talking about. Keep it under 50 characters when possible.
The same principle applies to the first sentence. It should name the specific thing you understood immediately. Do not open with a compliment, a generic observation, or a setup. The prospect knows you are selling something. Start with the thing that shows you looked at them specifically.
Step 5: Vary the Angle on Follow-Ups
A first email that goes unanswered does not mean the prospect is not interested. It often means the timing was off, the angle you opened with was not the one that would resonate, or the email landed on a busy day.
Follow-ups fail when they repeat the same hook. “Just checking in” and “wanted to bump this to the top of your inbox” are not personalized and they do not add new information. The prospect ignores them for the same reason they ignored the first email.
Effective follow-up personalization means changing the angle every time. If the first email opened on the EU expansion challenge, the second can pivot to a different part of the same company-and-person understanding: team consistency, or tool complexity, or a metric they care about. The third can introduce a proof point, a client reference, or a piece of content relevant to their situation.
This requires that the enrichment carried enough material to sustain multiple angles. If the prospect record only has a job title and a company name, follow-up variation is impossible. If it has enriched context across multiple dimensions of the prospect’s situation, each touchpoint can genuinely add something.
By default, I recommend a maximum of five touchpoints per prospect with at least five days between messages, across LinkedIn and email. Each follow-up recalculates from the prospect’s current state and history. The goal is not persistence: it is relevance at each step.
Try the 14-day trial to see how I build and vary follow-ups from the enriched prospect record.

Step 6: Measure What Personalization Actually Produces
The most common mistake in measuring cold email results is looking at aggregate open rate or total reply rate. These numbers are too blunt to tell you whether personalization is working.
The metric that matters most for personalization quality is reply rate on the first message, before any follow-up. This isolates the quality of the initial email from the volume effect of follow-up sequences. If your first-message reply rate is below 5%, the personalization is not landing, regardless of what the total reply rate looks like.
Beyond that, the distribution of reply types tells you more than the aggregate. The responses I classify as hot and warm represent genuine interest: the prospect engaged with your message and is willing to continue. Cold and stop replies tell you that the email was received but did not land. A high proportion of cold or stop replies usually signals a targeting problem, not a writing problem. You are reaching the right function at the wrong time, or you have opened on something that does not connect to a pain they recognize.
Tracking these separately gives you actionable feedback. If first-message reply rate is low, revisit the understanding the email was built from and the body construction. If reply quality skews cold, revisit the targeting criteria in the persona. If follow-up reply rate drops sharply between messages two and three, the angle variation is not working.
The full AI prospecting cycle covers how these metrics feed back into refining the persona and the scoring criteria over time.
You now have a workflow that starts before you open the editor: enrich the company and the person, understand what the business actually does and how this person’s role fits into that reality, then build the message and its follow-ups from that understanding instead of from a fixed frame. The judgment holding this together is simple. An email is not personalized because it mentions something true about the prospect; it is personalized because it makes clear why you are reaching out to this company right now and why that reason concerns this specific person. A hire, a funding round, or a leadership change can sharpen that reasoning or fix its timing, but none of them were ever the reasoning itself, and no template variable ever will be either.








