
Intro
It used to be that if you wanted to send someone a valuable email that was personalized just for them, you had to write that email manually. Most sales reps today are still doing this: find a prospect, research them, spend a real chunk of time writing a personalized email for them. This was the greatest bottleneck to automating effective cold outbound. Recent developments in AI, however, make it finally possible to do prospect research and email personalization, at any scale. That’s what this chapter is all about. You’ve learned how to prepare to send outbound, you’ve learned how to warm your domains and your inboxes, and you’ve learned how to craft a winning email—now it’s time to automate it all and start sending.What we’ll cover in this chapter
1
How to use AI to personalize cold emails.
2
How to structure your cold outbound campaigns.
3
Best practices for sending at scale (without hitting spam).
How to write cold emails that AI can personalize
If you read the previous chapter on writing emails, you know the ingredients for an effective cold email. If you’ve practiced, you can probably write a good cold email right now. And so arises the question that’s been the bottleneck to good outbound at scale: How do I automate emails at the quality I could write manually? The key isn’t to have AI write emails on its own—the AI tools we have today are terrible at that. Instead, hand AI great emails and have it fill in the personalizable blanks. The way we write at my agency, Aurora, is like this:- Write a dream email to one person. Forget about AI. Imagine it’s 1:1.
- Train AI to send that dream email at scale by filling in the personalized pieces of info.
Step 1: Writing a dream email
Imagine that I’m running a campaign to sell Za-zu to companies who raised in the past 6 months and have open sales jobs posted on their site. You run a seed-stage AI customer support startup called Hypothetical Company that fits the criteria. Here’s a completely hypothetical 1:1 email I could write to you.Hey, Reader — Congrats on the recent raise (Lachy Groom also funded a previous company of mine, was generally helpful). Happy to see that Hypothetical Company looks a bit different from all the generic/gimmicky AI support startups out there. Looked at your job board and noticed you’re hiring for sales. Imagine you’re planning to use outbound to gain significant early/high ROI traction? If so - you should check out Za-zu, my company. It’s an email sequencer that lets one smart growth person send personalized outbound at the scale of 50 SDRs. I’d love to show you the product. Would it be crazy to chat this week? MattThis is the kind of email that previously would have been impossible to automate at scale. Now it’s possible, and here’s how you might go about doing it.
Step 2: Converting the dream email to an AI-usable template
Now I want to take that email and replicate it at scale with AI. Here’s how I’d go about doing it.Hey, first_name — Congrats on the recent raise IFinvestor_listcontainsYCTHEN (YC also funded a previous company of mine, was generally helpful. ELSEENDIF Happy to see that company_name looks a bit different from all the generic/gimmicky startup_category startups out there. Looked at your job board and noticed you’re hiring for sales. Imagine you’re planning to use outbound to gain significant early/high ROI traction? If so - you should check out Za-zu, my company. It’s an email sequencer that lets one smart growth person send personalized outbound at the scale of 50 SDRs. I’d love to show you the product. Would it be crazy to chat this week? MattThere are various levels of complexity at work in this email—let’s look at each.
- Campaign level: The email is personalized by default based on how we’ve chosen who to email (companies that have recently raised and have open sales jobs). That means some of the template is still personalized, even though AI isn’t touching it.
- Copy and paste: The variable in this email is the simplest one—you just need the AI to paste the name of the prospect.
- Summarization and normalization: The variables go beyond the simple copy and paste. The company name, for example, needs to be normalized—if a company’s name is Hypothetical Company Industries, Inc., pasting that entire thing in an email will feel inhuman. So the AI shortens it to ‘Hypothetical Company’. And needs to be a human-sounding summary of the specific niche or industry that the prospect’s company is in.
- If-then: The investor line at the beginning of the email feels tricky, but it isn’t. You just need to ask AI to cross-reference the list of the prospect’s investors with your own lists of previous investors (relevant in this case, since I have them). If there’s an investor in common, the line will be included—if not, it will be cut.
How to prompt AI for quality personalization
It’s reasonable enough, with some practice, to write good cold emails and identify the personalized variables within them. But the next step is just as important: getting AI to generate good personalized variables at scale. Because while AI personalization sounds good in theory, it can go very wrong very fast—and can plant a number of red flags that make the email feel spammy and worthless to recipients. For example, a section like the following is simple in theory:Happy to see that company_name looks a bit different from all the generic/gimmicky startup_category startups out there.Easy, right? Now just imagine this very possible output for this variables:
Happy to see that Za-zu, Inc. looks a bit different from all the generic/gimmicky Automated Outbound Sequencer startups out there.We’ve jumped straight from a good personalized email to something that was clearly not written by a human, and the chance that somebody is going to respond to an email this opener is little to none. So how do we fix it? At Aurora, I built an internal playbook for AI prompting based on the variables we use—and I suggest you do the same. Your playbook will look different from ours, but you can find ours here if you’d like to see how we think about it. Broadly though, think about AI prompting much like you’d think about giving instructions to a real human for a job like this.
- Instructions: The specific directions for the prompt, similar to how you’d write a brief for a task for somebody at work.
- Persona: The personality and expertise AI should take on as it does research and carries out the task—sometimes this can lead to better output.
- Examples: Clear examples for the AI to learn how it should provide its output.
Writing instructions
The AI prompt instructions format we have found most effective is as follows: 1. Start with the input. Usually this is something that’s being pulled from a data enrichment tool (like Clay) or otherwise from somewhere on the internet, and it is the piece of data that the AI will be manipulating. For example, if you were going to have AI come up with cold outbound campaign ideas for a company, the input might be general information about the company—like their LinkedIn description. 2. Write your instructions as clearly and concisely as possible. After giving AI the input, write instructions for what to do with that input. Most of our instructions, even the complex ones, aren’t more than a few paragraphs long. 3. Include helpful guidelines. Many of our prompts include Dos and Don’ts that help the AI get the personalization right and avoid mistakes. You’ll likely want to do some testing to identify common mistakes the AI makes, then update your Dos and Don’ts accordingly. You don’t have to do these things in this order, but having all of these elements in your instructions generally leads to the right outcomes. Here are example instructions for generating podcast ideas.Imagine you’re the CMO at company_name. Your task is to succinctly fill in the blankin the sentence ‘I thought a show about _ could be impactful’ with an idea for what their podcast show could be about. The show should aim to get the company “out there” and help them grow. Let the company description be your guide. The company description: company_description Your output should be just the part that NATURALLY fills in the blank, not the whole sentence. With your output, I should be able to craft a sentence that’s strategic yet straightforward. Choose only key terms that are essential for identification, ensuring your outputintegrates smoothly into the template sentence without grammatical adjustments. Aim for a natural, conversational tone. If the idea requires a preposition or article for a more fluent fit, include it. The goal is to create an output that can be directly inserted into the sentence, maintaining clarity and simplicity. Keep it brief: 1-5 words, no more. Aim for punchy and to-the-point. Maintain a casual yet polished tone, like you’re brainstorming in a relaxed, high-level meeting. Prioritize lowercase usage, even for typically capitalized terms. Abbreviate where it makes sense and enhances clarity. Steer clear of complex jargon; opt for simplicity and impact. Format your response in JSON with the key ‘show_idea’, including only the segment that fills in the blank. leave out sentence-ending punctuation. If helpful, use keywords in the description not normally found in other companies. Do NOT include quotation marks in the output.
Crafting the AI persona
It’s sometimes helpful to create an AI persona to do one of two things:- Get better output: It may sound strange, but often if you tell AI that it is an expert at something, the results it produces about that thing will be better. This isn’t always necessary, but it can help from time to time. I recommend lots of testing.
- Use the right tone: If AI is writing things that tone has an impact on, like personalized introductions or ideas for things, giving it a persona can help it land on the right tone. Again, you’ll want to do lots of testing and compare outcomes.
You are an industry niche distiller. Adopt the persona of a meticulous industry analyst, keenly scrutinizing the provided company description from its Linkedin profile to unearth its primary niche industry. Your focus hones in on keywords or phrases that resonate with the company’s core aspirations, unique activities, products, or attributes. Transition into a crystal-clear communicator, articulating the niche phrase in a straightforward, concise manner devoid of any embellishments. Your tone is casual yet precise, embodying the essence of the company’s niche in a succinct 2 to 3-word phrase. You operate with a laser focus, ensuring adherence to the formatting guidelines: the niche phrase is to commence with a lowercase letter unless it’s a proper noun, and is free from ending punctuation or quotation marks. Act as a fitting expert, verifying that the crafted niche phrase integrates seamlessly within the provided check sentence: ‘We’ve started spending more time with industry_niche leaders lately to learn more about what problems they face on the finance side! Your process is iterative and receptive, open to feedback for refining the niche phrase to better align with the desired output format in subsequent attempts. As a literal translator, your translation of the company’s core aspiration or unique attributes into the niche phrase is direct and unswayed by extraneous information. Your primary objective is to ensure the niche phrase is an accurate reflection of the company’s main focus, easily understandable, and adheres to the provided format.This is a persona we have used in 100,000s of emails at Aurora. It works. Write something like this for everything you’d like AI to generate and see how it impacts the results. A persona will not always be necessary nor will it always be helpful, but for certain tasks (especially more complex and nuanced ones) it can occasionally help.
Choosing the right examples
LLMs like ChatGPT are extremely good word predictors. At a basic level, they look at what has been written so far and guess as to which word comes next. This is why giving LLMs positive examples of the output you are looking for is so high-leverage—you’re creating a new, small, powerful dataset for the AI to model its answers on. Examples tend to work best when you give the AI both an input and an output. Show AI an example of the input they’ll receive, then show it an example of what a positive output would look like. Here’s an example for coming up with the niche of a business:- Input: “Neighbor revolutionizes storage by linking people with extra space to those needing storage, offering a cost-effective alternative to traditional self-storage. Homeowners earn additional income by renting out spaces like garages or basements, while renters enjoy flexible, affordable options. With demand for storage at an all-time high, Neighbor provides a secure, trustworthy platform that cuts storage costs by half, challenging conventional storage norms and empowering hosts.”
- Output: “peer-to-peer storage”
How to craft effective outbound campaigns at scale
Now arrives the grand finale of everything you have read up to this point: it’s time to create campaigns in your email sequencer, start sending them, and hopefully, to start making money. You have most of the puzzle pieces by now. You know:- The principles behind why outbound works.
- How to prep your infrastructure for deliverability.
- How to craft a great cold email.
- How to use AI to personalize your great emails at scale.
Structuring a great outbound campaign
One of the many downsides of manual, 1:1 email-sending is that you can’t get very clever with the way you structure campaigns. You may have an internal playbook that tells you how long to wait until you follow up, but you usually won’t be rigorously testing different kinds of wording and messaging across ~5 to 10 email variants for each stage of your campaign. When you send with a good sequencer at scale, you can. At Aurora, our campaign structures typically look something like this.
- Campaign: The idea for the series of emails. Usually this is either a specific audience or a combination of both a specific audience and product offering—a modified version of the example above might be, “Cap table management product for pre-Series C startups hiring for sales.”
- Stages: Each stage represents one individual email to a prospect. It generally helps to come up with a broad goal, or idea, for each stage.
- Email variants: You’ll write different email variants to test different messaging, tone, and email structure within each stage of your campaign.
What about timing?
It’s up to you to decide how many days should pass between each email, but we often do something like this:- Between Stage 1 and 2: 2 days
- Between Stage 2 and 3: 4 days
- Between Stage 3 and 4: 7 days
Deciding what messages to convey in each email stage
While manual outbound can often be random, building large-scale campaigns in your email sequencer allows you to be extremely thoughtful about your campaign. As a general rule, each stage in your campaign should have a high-level theme that the emails within the stage follow. For example, here is a hypothetical way to structure themes by stage:- Stage 1: Intro and introduce primary value prop
- Stage 2: Reinforce primary value prop and introduce secondary
- Stage 3: Recap primary and secondary value props
- Stage 4: Break up, ask if someone better to email and say this is your last email
Some of our clients at Aurora have thought they had their messaging figured out—they’d paid the branding agencies, done the storytelling sessions, etc.—but the value props that resonated in actual outbound campaigns ended up surprising them. The right messaging will change by campaign, audience, and stage. Avoid being overconfident and instead, try a wide range of plausibly effective messaging to see what really works. You may be surprised.
- Stage 1: Intro and introduce primary value prop**
- Variant A: Company mission-based intro + aggressive CTA (short)
- Variant B: Headcount-based intro + soft CTA (short)
- Variant C: Company mission-based intro + aggressive CTA (long)
- Variant D: Headcount-based intro + soft CTA (long)
- Variant E: Super short email with a simple question - nothing more.
Writing the emails themselves
Most of the email-writing process should be pretty simple—use what you learned in the section of the playbook about writing emails, or go reference it again if you want some help. There is a unique twist when you’re sending with AI at scale: Not every email should read exactly the same. ESPs, like Google, don’t like seeing the exact same email being sent to 100s or 1000s of individual people. There are very few real-life situations where that happens—so if it’s the main kind of activity coming from your domain, you’ll raise red flags. This is where you’ll want to do something called word shuffling: randomly changing words in every email so they aren’t identical. Word shuffling works by finding synonyms to specific words or phrases in your email, then providing a few options for your email sequencer to randomly choose when it sends the email. For example, a shuffled version of an intro line might look like this: Hey|Hi|Hello first_name, I noticed|saw|realized you raised a couple months ago|little while back. Simple enough, and any email sequencer built for outbound at scale (like Za-zu) will either automatically do this or at least make it possible to spintax with some tinkering.
Optimizing based on data
Your email sequencer, if it is good, should give you in-depth data on the performance of your campaigns. At the minimum you should have metrics like open rate and reply rate across both stages and individual emails. And hopefully your sequencer gives you data on what kinds of replies you’re getting—a good sequencer should be able to automatically classify replies into Positive and Negative categories, with more specific subcategories falling under each of those. Most of what to do with this data is obvious—take learnings and implement them for future campaigns. If you outlined your campaign in the way I suggested earlier in this section, you’ll have an easier time identifying why certain emails and stages do better than others. If it quickly becomes obvious, and by this I mean statistically significant, that one email (or series of emails) in your campaign is outperforming all the others, there are a couple of things you can do:- Reroute all sending in the campaign to just the highest-performing series of emails.
- Pause new sending for the campaign and write a new one with more variations in the direction of the messaging that worked best in your first campaign.