This is a guest post from Lucas Lee-Tyson, founder of GrowthCave. This is technically the very first guest post on RankXL, and I think it’s safe to say… Lucas set the bar very high 🙂
Facebook Ads are one of the fastest ways to start driving traffic to a new site or offer.
Compared to SEO, which can take weeks or even months before you start seeing results, you can set up a Facebook campaign and start getting clicks and results within the hour.
In this blog post, I’m going to be sharing with you a case study of a Facebook Ad campaign I recently ran for a personal finance blog.
Over the 2 months I ran it, the campaign generated 2,443 leads (in the form of email list subscribers) at an average cost-per-lead of $1.42 each.
I’m going to go over the basics of Facebook Ads and how to properly create, structure, and optimize a campaign for the most cost-efficient results.
I’ll also be diving deep into the logic behind many of my decisions for setting up this specific campaign. By the end, you’ll know how to create your own profitable Facebook Ad campaigns for lead generation.
Let’s get started!
Facebook Ads Basics
Facebook’s Advertising platform operates under the pay-per-click model. This means you only pay Facebook when your ads actually get clicked on.
Unlike Google Ads (formerly Google AdWords) where you primarily target people based on the keywords they are searching for, Facebook Ads give you an incredibly broad range of targeting options.
The 2 main ways to target people are through Detailed Targeting (Facebook’s built-in options that everyone has access to), and Lookalike Targeting (generating an audience based on ‘seed’ data you feed into Facebook’s algorithm).
For the purposes of the guide, I’m going to be focusing primarily on Lookalike Targeting.
Lookalike targeting is Facebook’s proprietary technology that allows you to ‘feed’ Facebook a list of people, such as your previous customers or current email list subscribers.
Facebook’s algorithm will then work it’s magic and create a targetable audience of people on Facebook or Instagram that are most similar to the people you initially gave it.
This is an incredibly powerful tool and is what the basis of 90%+ of my campaigns are based on.
Unlike Detailed Targeting, where you are essentially ‘guessing’ what your prospects are interested in, Lookalike Targeting allows you to leverage data from your existing business/website and have Facebook do all the hard work for you to identify your target audience.
The downside of this, of course, is that it requires an existing audience of people to ‘feed’ into Facebook.
If you have a new business or website you are not going to effectively be able to use Lookalike Targeting, and will have to rely on Detailed Targeting until you build a following.
The Facebook Pixel
The Facebook Pixel is a piece of code that you install on your website that allows Facebook to collect and aggregate data on your website traffic. This is the key to creating successful Facebook campaigns.
Not only does the Facebook Pixel allow you to know exactly how your Facebook campaigns are performing, in terms of traffic and conversions, but it also allows you to leverage data of everyone that visits your site through any other traffic source, such as SEO, social media, etc.
If you already have an existing website with traffic and do not have the Pixel installed already, it’s highly recommend you get that done ASAP.
Most CMS’s and eCommerce platforms have an integration that make it super simple to install, just Google ‘ Facebook Pixel’.
You can think of Facebook Campaigns having 3 different ‘levels’, the Campaign level, the Ad Set level, and the Ad level.
The Campaign level is where you select the objective you want Facebook to optimize for. Your options for objective are as follows:
The objective you choose for your campaign is incredibly important. The objective you choose is what Facebook will optimize your campaign around.
For example, if you choose the Traffic campaign, Facebook will optimize your campaign over time to show your ad to people most likely to click on advertisements.
While this sounds great, we don’t just want click-happy people who are just going to click onto our website then immediately close it out.
Ultimately, we want Facebook to find people that are going to take our desired action, like purchasing a product, or in this case, joining our email list.
For this reason, the vast majority of campaigns I set up, I used the Conversion objective.
This allows Facebook to find people that are completing my desired action and find more people most similar to them.
The Ad Set
The Ad Set level is where you choose who you want to target with your Facebook Ads.
Here, you can select a Lookalike Audience, add Detailed Targeting options, select which countries you want to target, and narrow down to specific demographics based on age and gender.
This is also where we choose our ad placements (where our ads will be displayed in the Facebook/Instagram ecosystem), as well as where we set the daily/lifetime budget of our campaign.
The Ad level is where you actually design and create the ads that will be shown to people.
Facebook has tons of ad formats and is constantly adding more, but for simplicity’s sake, I’ll just be going into the basic ones: single images and videos.
Note: Facebook has an Ad format built for lead generation called ‘Lead Ads’. These are forms built into Facebook/Instagram that do not require people to go to your website, or even manually enter their information. When people click on the ad, the form auto-populates with their Facebook name and email address.
This might sound perfect for lead gen campaigns, but I have experienced very poor results from using Lead Ads, primarily in the form of very low email open rates.
This is likely because the form automatically fills in people’s information.
For this reason, I recommend going through the process of creating ‘normal’ ads and directing people to a landing page on your website with an opt in form.
In order for us to let Facebook know when someone actually joins our email list (submitting an opt in form on our website) we need to set up Conversion Tracking.
Conversion Tracking is a way of telling Facebook what we want to call a lead, in this case, when someone submits our opt in form.
Many plugins like OptinMonster have Facebook integrations that make setting this up a bit easier.
However, the client I worked with didn’t have any special plugins, or a strong developer team. For this reason, I had to set up my own custom method of tracking conversions.
There are lots of ways of doing this, but the easiest way I’ve found that doesn’t require hacking together different plugins and bits of code is as follows:
1. Set up your opt in form to redirect to a custom thank you page upon submission
This is going to depend on what ESP (email service provider) you’re using to manage your list.
However, all major ESPs like MailChimp, ConvertKit, Active Campaign, etc. all have the ability to redirect a form to a specific page after it’s submitted. The thank you page I setup is very rudimentary (it’s literally just a blank WordPress page on their theme), but it gets the job done:
The URL for this page was theirdomain.com/thank-you. This will be important in the next step.
2. Create a Custom Event in Facebook that tracks traffic to this thank you page.
Now, we need to tell Facebook to track every page view of this thank you page as a successful lead conversion.
To do this, go to your Ads Manager and click on ‘Ads Manager’ in the top left of your screen. From here, click on ‘All Tools’ and then ‘Custom Conversions’.
Click on ‘Create Custom Conversion’ and a modal will popup. All we have to do is include the URL we created for our thank you page in the box where it says, ‘Add URL keywords’. Since the page I created was at domain.com/thank-you, I’m just going to enter ‘thank-you’ like so:
For Category, we’re going to select ‘Lead’. Name it whatever you want (I wrote ‘Lead Submission’) and click Create.
Now we’ve got everything set up and are ready to continue with creating the campaign!
The Funnel Overview
As mentioned before, Facebook Ad campaigns are split into 3 levels: the Campaign, the Ad Set, and the Ad. I’m going to be going over how I set up everything on each level, as well as the logic/rationale behind my decisions.
As mentioned before, the vast majority of campaigns I set up are done using the Conversion objective. Within the Ad Set level we will be able to choose the Custom Conversion event we selected.
While not a huge thing, having consistent naming conventions makes managing a large majority of campaigns a much easier task. My general rule is ‘ — Ad Set Level
Since this blog already had a well-established audience, it made sense for us to create Lookalike Audiences based on their previous email subscribers.
The blog had a list of roughly 6,000 readers that we could use to create lookalike audiences off of.
Pro Tip: From my own testing, I have learned Lookalike Audiences perform best in specific, segmented groups, not a single massive list.
In fact, I was told by a Facebook Engineer personally that the ideal size for a lookalike audience is between 1,000 and 4,000 people.
So, rather than using their entire 6,000 person email list as our ‘seed’ audience, I created a segment of readers who had a consistently high open rate (20%+) over the last 6 months.
This narrowed our original list of 6,000 readers down to about 1,300.
Our next step is to take this audience and import it into Facebook so we can create a Lookalike Audience based off of it. To do this, click on, ‘Ads Manager’ in the top left of your screen, then clicking, ‘All Tools’ and then ‘Audiences’.
From here, click on the blue button that says ‘Create Audience’ and then ‘Custom Audience’. Since we’re uploading a .csv, we’re going to click on ‘Customer File’.
Click on, ‘Add customers from your own file or copy and paste data’. On this screen we will be able to upload our .csv of our narrowed down list of email subscribers, as well as see all the range of data inputs Facebook can accept.
You will also want to select, ‘Directly from customers’ as the Original Data Source.
Name your audience something descriptive (eg. Email List – 20%+ Open Rate) and click ‘Next’.
On the next screen you can ensure that all of the data you inputted is being mapped correctly.
Since we’re just uploading an email list, there’s only 1 column to check. If everything looks good, hit the blue button at the bottom that says, ‘Upload & Create’.
We’ve now successfully uploaded our Custom Audience into Facebook! The next and final step in this process is to create a Lookalike Audience based on this ‘seed’ audience.
We can do this on this same screen, where you will now see your Custom Audience uploaded, with a checkbox next to it. Click this checkbox and then click on the button that says ‘Actions’ then ‘Create Lookalike’.
There are 2 options we have when it comes to Lookalike Audiences: the location and the desired size:
The location is fairly self-explanatory: it’s simply the country of people we want to target. For this campaign, we chose United States, since that’s where the vast majority of their high quality traffic comes from.
The audience size is not quite as simple.
This percentage is the percent (ranging from 1%-10%) of the total population in the country you choose, with 1% being those who most closely match your source, and 10% theoretically being the least.
You might think: ‘Oh, simple! We’ll just use 1% since it’s the people that most closely match our source’. Unfortunately, it is not always that simple with Facebook Ads.
A 1% Lookalike Audience is smaller than a 10%, which means we do not have as large an audience pool of people to target. This means we could exhaust our audience fairly quickly, or have trouble scaling our budget in the future.
Additionally, I have worked with companies in campaigns where the larger sized lookalike audiences outperform the smaller ones. Just because there is something that is considered ‘best practice’ does not mean it will work 100% of the time.
This is crucial to understand when it comes to Facebook Ads or any sort of media buying/paid traffic.
You must test everything yourself as every business, product, and campaign is different.
For this reason, we want to create a variety of lookalike audiences, all ranging in size, to find out what works best. Typically, when I am first starting a campaign out I create 3 Lookalike Audiences to start: a 3%, a 5%, and a 7%.
This allows me to ‘cover my bases’ so to speak, and test 3 different size ranges of lookalike audience (small, medium, and large). I’ll go into how to interpret results and improve upon our lookalike audiences a bit later in the Optimization section.
Now, once we’ve created our Lookalike Audiences, we’re ready to target them within our Ad Sets. All you have to do is select the Lookalike Audience you wish to target in the ‘Custom Audiences’ section.
We now also have to set the other targeting options we wish to ‘layer’ on top of our Lookalike Audience.
Even if you have a good idea of who your ideal prospect might be, I advise you to leave the demographic targeting (age, gender, etc.) open, or at the default settings.
One of the most common questions I get is: how specific should my Facebook Ad targeting be?
The answer is: not specific at all. Facebook’s algorithm does a good job optimizing on its own, and assuming things from the start about your target audience may cause us to miss out on profitable segments we might not have realized.
Note: You can layer on Detailed Targeting options on a Lookalike Audience to get even more specific with your targeting.
We did not do this for campaign as, like I’ve mentioned, we had no previous campaign history to work off of and didn’t know which interests would work best.
If you’re not using Detailed Targeting options it is best to leave the ‘Expand interests’ box unchecked.
Going along with this thinking, it’s also advisable for us to leave the Placement settings (where our Ads get displayed in the Facebook/Instagram ecosystem) open as well.
You can do this by selecting the ‘Automatic Placements’ option, which should be checked by default.
We also started all of our ad sets at fairly low budgets, $20 a day each. I recommend doing the same (starting budgets low) when you are first starting a campaign, especially if you have not ran campaigns previously.
If something is not working well at a low budget, throwing more money at is going to give you worse results, not better. For this reason it’s better to start small and work your way up when things go well.
The last thing for us to do in the Ad Set is select our Conversion Window.
The Conversion Window is the amount of time it typically takes for someone to complete our selected Conversion Event.
In this case, since we are doing lead generation, we would expect people to do this right away.
An example of a case where we would want to use a longer Conversion Window is in the case of a slightly expensive eCommerce product, maybe in the $50-$100 range.
There may be some people that purchase this right away, but some people may need a bit more time. They may see the ad on their phone, then buy it a few days later on their computer.
This longer Conversion Window will allow us to see that purchase a few days later and track it back to the Campaign/Ad that caused them to buy.
But, for a lead generation campaign, I recommend using the shortest option, a ‘1 day click’ Conversion Window.
Now for the last step of our Campaign: the actual ads themselves! This campaign was the very first that this business had ran.
They had a decent idea of who their ideal customer was, and what sort of imagery/copy they responded to, but had no previous campaign data to base it off of.
So, we had to do some testing. We wrote 2 variants of copy and selected 5 images, for a total of 10 individual ad variants (2 x 5 = 10).
Our copy was incredibly basic, and was really nothing fancy. Our 2 variants were as follows:
Variant 1: “Money tips and lifestyle advice sent straight to your inbox! Earn more, spend less, and live better with what you have!”
Variant 2: “Money tips sent right to your inbox! Click here to sign up and get your weekly dose of easy-to-follow personal finance advice in a fun and exciting newsletter!”
For imagery, we didn’t even use custom pictures. Facebook gives you the option to select licensed stock photography, which work surprisingly well for campaigns like this.
We choose 5 images we thought best represented our audience, but had enough variety to allow us to get a good range of testing done.
So after all this, we had 10 ad variations to start with. To some, this might seem like a lot! What’s the point of testing so many image and copy variations?
I have worked with businesses that thought they knew their customer base down to a T, but upon testing different variations in creative, we actually found that their audience was completely different than who they thought was clicking and buying!
Setting up a large ‘pool’ of variants is vital in figuring out who actually responds to your ads. You cannot assume anything from the start, especially if you have not run Facebook Ad campaigns for your business/to this audience before.
With all of this, we’ve completed all the steps in setting up our campaign and are ready to start spending money and collecting leads and data!
After our campaign has been running for some time and collected data, it’s time for us to start optimizing: killing the ads that aren’t working and focusing on the ones that are.
The peril of many marketers and entrepreneurs is getting impatient.
It can be tempting to kill bad ad sets or double the budget of seemingly good performers right out of the gate.
For this reason. it’s best to wait a minimum of 3-4 days to get statistically significant data, before making any changes to your campaigns.
After this initial waiting period, it was obvious which ads we’re doing well and which ones were not.
We had some getting email signups for $1-$1.50 a piece, some some in the $2-$5 range. So, all we had to do was switch off the ads that are delivering the worse results.
Facebook also gives us a wide variety of tools to allow us to gain insights on what audience/platforms are performing well for us.
We can access this data by going to the Ad Sets view and hovering over an Ad Set we want to get data on. You’ll notice a small text appear that says, ‘View Charts’. Click this and window will slide in.
The first tab we are interested is demographics. Click that tab and you will be presented with a chart that shows exactly how each gender and age bracket performed.
From this ad set, we can see women aged 45-54 was the largest audience we advertised to, and also performed the best, at a $0.75 cost-per-lead compared to the overall average of $0.97 cost-per-lead. For this reason, it may make sense for us to create a new ad set just targeting women aged 45-54.
Pro Tip: When making optimizations, never change your existing ad set! Instead, duplicate the ad set and make changes to the new, duplicated one. This way, we can always revert back to the original, unedited ad set should performance decline.
For this specific campaign, we were more interested in the longevity of it rather than trying to generate as many leads as quickly as possible.
For this reason, we never ‘scaled’ the ad set budgets, that is to say, trying to increase them while keeping our cost-per-lead stable.
Had we wanted to, though, the strategy for scaling is pretty straightforward.
1. Duplicate ad sets you wish to scale.
2. Increase the budget of the new ad set by 20% and disable the old ad set.
3. Wait 3-4 days to see if performance is stable. If it is, rinse and repeat the process until you reach your desire budget.
This method of ‘slow’ scaling might seem impractical. Why not just increase the budget to where we want to be? This would be the ideal scenario. Unfortunately, scaling budgets (while maintaining or improving performance) is one of the most difficult aspects of Facebook media buying.
Changing the budget of an Ad Set has massive influence on its performance. I have seen campaigns doing incredibly well that, after the budget is increased, suddenly stop delivering any results at all.
This method of increasing slowly, evaluating, and repeating is the most consistent and ‘safe’ method I have found for scaling campaigns to your desired level.
Facebook Ads are an incredibly powerful tool for building a business online, whether it’s an existing one or one you’re just getting started with.
With proper research and testing, you can have thousands of eager prospects going to your website and joining your website, without having to spend a fortune on ad spend.
Case and point, since the time I’ve been writing this post, this campaign has brought in an additional 503 leads for a total of 2,946 total.
As I mentioned before, the goal of this campaign was to continue generating leads in perpetuity.
That is to say, we want to ideally run this campaign forever! For this reason, we’re not going to be scaling this campaign in the form of budget, but may very well test different offers in the future.
Our current landing pages are very simple. They literally say, ‘Join our email newsletter for money saving tips and personal finance advice.
One way we may test optimizing our cost-per-lead is by adding in some sort of lead magnet, like a free eBook or email course, to further incentivize people to opt in.
It may also make sense for us to add a retargeting campaign, now that we have a driven a decent amount of traffic to our landing page.
I hope you have found this blog post useful and have a much better idea of how you can create a manage a Facebook Ad campaign!
About the author: Lucas Lee-Tyson has been into Internet Marketing since he was 15. Today, he is the owner of Growth Cave, a place where marketers and entrepreneurs alike can learn how to create and manage their own profitable Facebook Ad campaigns. You can also find him on Twitter.