Blog > Copywriting Outbound Email

The complete guide to launching personalized outbound campaigns at scale while achieving industry breaking response rates (2021)

Posted by Bradly Lebsack | Sep 1, 2021

Outbound email is hard, outbound email copywriting is even harder. Having launched hundreds of campaigns and experimented with almost every tech stack imaginable, this is the guide I wish I had when I first started. It’s going to be packed with examples, best practices and more importantly my thought process behind WHY I made those decisions to help you write and launch scalable personalized outbound cadences.

By the end of this guide you should have a stronger understanding of:

  1. The process and strategy behind launching personalized campaigns at scale
  2. The lean sales stack you can use to launch these campaigns
  3. How to write better outreach copy to increase your response rates
  4. The different approaches you can take to personalize your campaigns at scale (manual and automated)

Here is what this guide will not contain: email templates. Why? Well because I believe this is the wrong approach and will yield less than ideal results. This guide will also not cover deliverability as there are existing guides that better serve that topic.

Why are my current outbound campaigns not getting responses?

Let’s take a step back. Unfortunately, in today's cold email landscape bad emails are the norm. Having spoken to founders at some of the largest sales automation companies they admit that 80% or more of emails being sent through their platform are bad and likely spammy.

My belief is that this is due to rampant misinformation on how to write cold emails, unmanageable expectations, and the process itself being incredibly difficult.

The reality is that most sales leaders that I speak to are generating 20% open rates and 1% response rates.

We all know these metrics are not great but are the standard nonetheless. This issue compounds when you look at how sales leaders attempt to fix this problem.

Rather than attempt to fix the response rate to get say even 5 responses out of 100 people reached (5% response rate) they feel pressure to dramatically increase the number of contacts touched in order to meet the number of conversations to hit quota.

This creates a negative feedback loop where: more emails are sent to new contacts → which means there are likely less contacts in your list that actually aligned with your ICP → which means more recipients are likely to mark your email as spam → which means you're going to have lower open and response rates due to deliverability → which means you're likely going to add more contacts to the top of your funnel.

If you are curious we have a short article covering 8 mistakes we often see in cold emails should you want to take a quick look.

It’s easy to see why this happens since it's far easier to ‘go buy more data’ than to try and troubleshoot the real issue here which is the campaign stats.

At CopyFactory we seek to disrupt the traditional copywriting process by giving outbound and sales leaders the missing tool in their sales stack to drive more responses and create personalized outbound cadences at scale.

What is a scalable personalized outbound campaign?

Let’s start with the million-dollar question: “What is the definition of personalization at scale?”.

The term ‘personalization at scale‘ is highly opinionated within the B2B community, and for good reason. There is no consensus on what it truly means to personalize. Most refer to personalization at scale as only being achieved through the heavy use of merge fields and merge variables.

I disagree with this as it implies that personalization is truly only unique at a contact level and through the use of technology. I believe only looking at personalization as being contact-driven is what biases outbound leaders to over-optimize on using technology and its tactical features versus a more strategic approach that may yield greater results.

I believe you can personalize at a campaign level and at a contact level. The approach you take should be based on your market, available resources, and target metrics.

In an ideal world, everyone would spend 10 minutes researching and writing to every contact giving them the most compelling argument as to why they should consider your solution for a problem you know they likely have.

In practice, however, you don’t have this luxury of time so we start compromising and building a list of assumptions.

Whenever I start a new campaign I always build a list of assumptions that I'm looking to prove either correct, incorrect, or irrelevant.

For example, I was running a campaign for a company looking to connect with enterprises that had legacy data systems. Here were a few of the assumptions I made:

  1. Because we are targeting enterprise-level contacts they need a clear understanding of ROI.
  2. Since the contacts are either leadership or executives the messages must be pertinent and personalized to them. Spray and pray won’t work here.
  3. Since the contacts company is using legacy data systems we should look to reference the current technology stack they are using to show credibility.

Out of the 3 assumptions, the 3rd point proved to be irrelevant. Here is why. We had assumed that by showing that we know the current data stack they are using that they would be impressed. The first line of the email looked something like this:

Hi {{first_name}}, while doing some research on companies that are currently using {{legacy_data_system_name}} {{company}} came up [...].

Is {{legacy_data_system_name}} slowing you down from quickly getting insights from your data?[...]

Although impressive that we are able to get this level of detail on a companies tech stack (Tip: most major database providers have the ability to filter based on tech stack, Datanyze/Zoominfo being the leader) it didn’t work as well as the opening below:

Hi {{first_name}}, came across your profile while looking for data leaders at companies that are likely using legacy data systems and thought it would be worthwhile to reach out.

Are you finding yourself bogged down by siloed data and not being able to get the insights your product team needs?

Here is why I believe the second approach worked better.

  • Injecting the current data system name felt forced without adding much value. Ultimately our data leader here is looking to achieve a business objective. Stating the current technology they are using does not move that point forward.

  • In the second variation, by alluding to the fact that the company is likely using a legacy data system we are not forcing any information on the prospect thus making them feel less combative. It’s similar to how on Facebook you can hide an ad for ‘knowing too much’.


There is a fine line between proper research and forcing it into your copy.

Even though we mostly all target based on company size we would never include “Hey reaching out because you are a company of size 10-50!”. Right? 😉.

The takeaway here is that just because you have done your research and collected custom research it does not mean you need to include it as a merge field or as a copy-paste.

Rather, you should look to weave in the context of the datapoint in the form of questions that shows you understand the prospect’s current environment and how your product is the solution.

Remember, even though it took you 15 minutes to research the contact and gather this information the contact does not know this nor care.

Ultimately, outbound sales is highly experimental, competitive and is a game of proving assumptions. The more assumptions you get right, the higher your response rate will be since your message will be relevant.

Every time you go into a database and query for contacts that match your ICP you are assuming they are the right ones to talk to. In most cases, these targeting decisions are primarily made based on gut instinct versus data.

For example, when we launch a new campaign we are often assuming: 

  1. Which titles to reach out to. Do we use broad match? Exact match? A combination of both? 
  2. What size company they should be. SMEs? Enterprises? Growth companies? By department size headcount?

Along with most data points below.

  • Industry 
  • Geography 
  • Pain points
  • Business objectives

Once you have defined your ICP you often go to our data provider and get a list back that is hopefully 80% or more accurate and upload the contacts to your sales automation of choice.

But now here is the problem… What do we write to them about? How confident are you in the data and the state of each account you are targeting?

This is when merge variables come into play and make our lives easier.

If we had 100% confidence in the data being exactly the same we would ideally write something very specific with a clear purpose and context for reaching out that applies to every contact.

But since we lack this confidence or because we group several unique personas into one campaign (after all it’s time-consuming to write persona-driven campaigns) we need to amend the copy to work for ALL use cases in our data.

So instead of writing a very targeted email that is clearly not automated such as:

Hi {{first_name}}, I found your profile after looking for other Founders at DocuTech companies in the bay area [...]

We have to write:

Hi {{first_name}}, I found your profile after looking for other {{title}}s at software companies […]

We have to swap what made our opener unique into merge fields as the average marketer and sales leader is not equipped with the technology to create these personalized tokens programmatically.

Or, if you really wanted to you could go with:

Hi {{first_name}}, I found your profile after looking for other {{title}}s at {{industry}} companies in {{city}} […]

But do you want to? I don’t. I think it looks forced and obviously automated. I’m simply not impressed and I believe the results will reflect that.

Also, notice how we quickly increased the number of merge fields through each example  but the actual quality diminishes? 

That’s because the role of merge fields is not to randomly insert company data but rather they are there to provide context at scale through the form of snippets and building authenticity.

The following framework that I will show you will hopefully give you insight into how I build highly scalable outbound campaigns that requires minimal time investment for industry breaking results like this:

Let’s get started.

What sales stack should I use for cold email?

Let’s break down the typical software platforms that you will need to launch outbound campaigns: 

  1. Company or company search or database tool
  2. Email validator
  3. Data cleaner
  4. Email sequencing or multi-channel sequencing software 

This is the minimum needed and depending on your industry will wildly vary in cost. I’m not going to dive deep into which tools are best since it is based entirely on your targeting criteria. Below is the tech stack we will be using:   

  • CopyFactory - $59 /M
  • WarmupInbox - $9 /M
  • Apollo.io - $20 /M
  • Phantombuster - Free plan

Total investment: $88/M

Let’s go through them one-by-one.

CopyFactory: Will be used to build persona driven sequences and personalize contacts in an automated way.

Typically writing an outbound sequence takes anywhere from 45 minutes to two hours depending on your experience.

CopyFactory allows us to store snippets of text, generate new ideas for our copy using AI, and automatically personalize contacts to include in our sequences.

If you are just starting out or don’t have the time to write a sequence you can also have an expert outbound email copywriter write the sequence for you all within the platform.

Copywriting is often an overlooked piece of the outbound puzzle but leading outbound teams are including these tools to experiment and launch persona-driven campaigns faster.

Apollo: Used for building contact lists and launching email sequences. 

I use Apollo as my ‘all-in-one’ outreach platform due to the value, feature-rich toolset, and the fact that they have everything I need in one centralized place.

I can quickly copy my messaging from CopyFactory, sync my contacts from Copyfactory as well as add A/B to test all my messaging. If you are getting started with outbound I would strongly consider taking a look to see if they are the right fit for you.

Also, with over 200M contacts it makes the entire process of finding relevant data and addin them to sequences extremely intuitive.

Phantombuster: Used for automating social data collection.

I use Phantombuster to collect social data and attempt to find people that are ‘in-market’ for my ICP. As you will see below I use the comment extractor to identify people commenting on relevant posts and articles.

Although there are risks with using social media automation tools like these since I use them for one-off jobs I have never run into any issues. They also provide plenty of documentation on what limits you should have in place to not run into any issues.

How to personalize your Cold email sequences 

The following two sections will go over how to personalize sequences at a campaign level as well as a contact level. Both approaches are currently resulting in 15%+ response rates.

Our outbound targeting parameters:

Since CopyFactory is a tool for outbound teams I’m going to be looking for those team leaders that are ideally already investing in their sales stack and that are looking to scale their personalized outreach campaigns or decrease the amount of time it takes to write new copy.

Some title keywords would include SDR leader, Head of Outbound, Director of sales.

B2B Copywriting for cold email

Now that we know who we are targeting, we need to create a sequence. CopyFactory let’s us quickly create sequences that are persona driven and well structured to generate new ideas.

We're going to be building a 3 step sequence.

The first email will have the following structure:

  • An intro email with a relevant first line saying why we are reaching out and building context.

  • A quick sentence on how CopyFactory solves the problem
  • A quick sentence on who CopyFactory has solved the problem for
  • A soft call to action asking if they would like to learn more.

The second email will have the following structure: 

  • One sentence reminder of the first email sent.
  • Value statement showing the benefits of using a tool like CopyFactory
  • Call to action 

The third email will have the following structure: 

  • Quick reminder of what CopyFactory is and how it helps 
  • Sentence with a testimonial and social proof that we have delivered on our promise before.

I already have many of the snippets that I need to build a sequence, so it takes about 15-20 minutes to write an entire cadence that is ready to go and test.

Inserting content blocks

I know that if I ever get stuck I quickly generate some new ideas to quickly plug into my existing sequence.

Easily generate new ideas

If you want to take a look at the first 3 steps of the sequence that generated an 18% response rate you can find it here.

Great, now that our email structure is ready the last step is to prepare the context-driven snippet that we will use in the opening email.

For this campaign, I’m going to be targeting outbound leaders that engage with Cold Email influencers on LinkedIn.

If you want to follow along I prepared a sheet template that I used to create this campaign.

Click here for the clonable sheet template.

You can use this template and replicate it for your niche/offering if you like.

The sheet has 4 worksheets:

  1. ‘FinalData’ contains the data that is ready to upload to my sales automation platform (Apollo)
  2. ‘SocialData’ contains the names of people that commented on an influencer’s post
  3. ‘LinkedInPost’ contains the list of post that we will pull all people that commented
  4. ‘ListInfluencers’ contains the influencers that we will monitor for new post

Here is the workflow: 

  1. Compile a list of influencers in the ‘‘ListInfluencers’’ tab.
  2. Monitor recent activity for posts that are relevant to cold email and that have more than 10 comments and add to ‘‘LinkedInPost’’. Here is an example post:

  1. Use Phantombuster to pull all the people that have commented on the post. Here is a link to that phantom: https://phantombuster.com/automations/linkedin/2823/linkedin-post-commenters   

  2. Write a small snippet showing we read the post and understand that it’s relevant to outbound. I refer to this as the ‘PostInsight’ in the “‘LinkedInPost’” sheet.
  3. Upload the finalized data from “‘FinalData’” into Apollo and match the contacts! 

Here is an example of what the snippet should look like once completed. Again, please refer to the sheet to see what this looks like in practice.

The magic is in the ‘D’ column where we automatically create a snippet that will immediately be noticed by the recipient since they engaged with this post and know the influencer.

This context building works since it is highly targeted while being relevant.

I invest roughly one to two hours every week to compile and execute the workflow above. The result is a steady stream of industry contacts that are both A) impressed with the email since it shows clear research and B) interested in learning more about CopyFactory.

TIP: Don’t stop here! This workflow is meant to show you how to create personalized snippets at scale without researching individual contacts. There are many other steps you can add to this foundation to take your campaign even further.

In my case, once I have the final data I have my team quickly check the data for mistakes or random characters (like Emojies) in company names, titles, names, etc.

I have them ensure nobody is on the blacklist OR is an influencer (it’s weird to reach out to the influencer saying you saw the comment when they wrote the post)

I also remove people that are outside of my ICP (for example if you check the sheet ‘head of client services’ would be removed since this message is not relevant to them.

In summary, we learned that by using the right sales stack and strategic approach to outbound email we are able to invest a minimal amount of time in research and personalization to achieve top-tier industry response rates.

Instead of taking 5 minutes to write a sentence for each contact, we are now spending 5 minutes to write a sentence for a minimum of 10 contacts.

Literally a more than 10x jump in efficiency 😉.

If you have any questions regarding this workflow, want some help on building your own, or are curious to learn how CopyFactory can help you streamline your copywriting processes
for outbound then feel free to reach out and learn more or try it by signing up.

How to personalize your cold email contacts for more responses

I already know what many of you are thinking: “My audience has no influencers so the workflow above doesn't work for me”. This section is for you.

For our next campaign let’s take it a step further and personalize contacts based on a list of triggers or research that we are able to collect.

Most SDR teams I speak to are spending anywhere from 10-20 minutes on researching, writing, and personalizing icebreakers or first-line sentences to be sent to recipients.

But the question remains…

How do I personalize my contacts at scale and in less time?

In today's landscape business professionals are used to receiving 20-50+ cold emails a day so the need to stand out is arguably more important than the research you make.

That being said, the quotas for most teams today make it almost impossible for SDRs to personalize every contact and communication.

Therefore, in order to be most effective, you need to have a process with clear guidelines that make you as productive as possible.

Some guidelines include: 

  • Knowing when to stop researching a contact
  • Knowing what sentence outlines to use 
  • Knowing how much time should be invested for each contact

In my case since I wanted to test this workflow manually I set the following guidelines: 

  1. If it took more than 3 minutes to find information on the contact I would immediately attempt to find information on the company.
  2. If I was unable to find information on either the contact or company in less than 5 minutes I would skip the contact entirely.
  3. Once the information was found I would immediately look for key information that stands out such as promotions or job changes that were within 45-60 days max. If this information was available I would use it as my premise (premise can be seen as a the context for reaching out and shows you have done your research on the contact).
  4. Once my premise was selected I would write a two-sentence snippet showing the contact that I did my research.

Having sent millions of emails there is a hierarchy to personalization. I always look for initial triggers such as job changes or promotions. If you can catch these in the first 90 days of the trigger happening your response rates will be higher since these people are usually looking to improve processes and adopt new tools.

Once I have scanned for triggers, I look for content they have produced, engaged with or authored that is also relevant to my industry.

Showing someone that you read their work or actually follow their content builds trust since it’s immediately relevant to them at a personal level. This approach is far greater than citing company information since that could apply to anybody in the company.

The only exception here is when you are reaching out to the CEO or co-founding team since in that case anything about their company IS personal.  

In summary, here is my list of premises to reach out to in order of importance.

  1. Job triggers such as promotion or job change.
  2. Content the contact has authored, engaged with or written.
  3. Information about the contacts bio, background and skillset.
  4. Company information.   

Here are some examples of intro lines I wrote for the campaign. In an hour I was usually able to complete anywhere from 8-15 intro lines.

Although this process works, it’s highly repetitive and manual.

If you are just getting started with outbound I highly recommend doing it the manual way since you will learn so much about your market, industry and more importantly what type of information is usually available for your contacts.

You will also improve your copywriting skills which is a plus.

Once you have gotten familiar with the process and are looking to scale your personalization you can look at using CopyFactory to automate the grunt work for you. Here is my workflow that I use to personalize contacts on demand and save hundreds of hours every month.

Were going to be using the same email template as above, however instead of using the premise we built in google sheets were going to replacing this with a token that is personalized for every contact.

Now that we have our sequence ready we’re going to use CopyFactory to set our sentence premises.

Drag and drop to order your preferred premises

Once set, we have told the AI what type of sentences we prefer and in what order we are ready to find and upload our contacts.

To find our contacts, I hop into Apollo and filter for the ICP outlined above as well as a few other criteria that I know works better for me.

Since I’m using Apollo, there is a direct integration between the two systems. All I need to do is input my Apollo API key into CopyFactory and my contacts will sync automatically.

We have a quick article outlining how to setup the integration here.

Once my contacts are added to my sequence in Apollo all I need to do is export them, and upload them to CopyFactory.

Once uploaded the AI will start researching, enriching, cleaning and creating a customized sentence for each contact and automatically insert it into a custom field I have created in Apollo.

In minutes, I will have personalized hundreds of contacts and all I have to do is go into Apollo and make tweaks to my sentences.

This workflow dramatically cuts down the amount of time needed to complete the process and yields 15% response rates for this sequence.

Wrapping Up

In summary, I shared the approach and strategy that I use to launch scalable outbound campaigns with results that are usually reserved for big SDR teams.

By launching specific, persona-based sequences quicker, we can test more of our assumptions and lift our response rates over time. This reduces the pressure on continuously adding more data which we know has an adverse impact on our campaigns.

I shared two campaign approaches that you can use today either manually or with the use of the tools outlined above.

If you are looking to increase your response rates and reduce the amount of time you spend writing copy or personalizing contacts then I would take a look at CopyFactory to see how we can help.