Your ads have been set up. The sun is shining. Potential customers are singing. You can feel the beauty of a low CAC (Cost of Acquiring a Customer) about to grace your future.
But you’re not quite done.
In fact, the most important part of your growth journey is yet to come.
See, without exception, it is always the case that you need to optimize your ads after you set them up. It can be the difference between running ads profitably and unprofitably. And no matter what, it’s going to make your ads a hell of a lot cheaper to run.
Ad optimization, fundamentally, means turning off old ads and ad sets, creating new ads and ad sets, and changing the rest of your funnel to make it cheaper to get new customers. Based on the data you get.
The goal is to find the combination of copy, creative, placement, audience, timing, platform, and more that leads to the lowest CAC.
For example: you may find that women between the ages of 30 and 45 click through your ads twice as much as anyone else. Except in New York and California. With that knowledge, you might:
A) Restrict your ad set targeting just to those women.
B) Exclude New York and California from your ad set.
C) Redesign and rewrite your landing page for a female audience.
D) Show pictures of women in the midwest, instead of generic pictures of the coast, on your landing page.
Another example: you may find that your video ads are four times cheaper (in Cost per Purchase) than the other types of ads you’re trying. With that knowledge, you might:
A) Turn off all the non-video ads
B) Make new video ads that hit different value props
C) Make new video ads with a different “feel” like an animated ad, if you’ve only used live people in your videos.
We’re going to use Facebook as our main example for this project, mainly because it shows you many options and data to optimize. But this advice applies all ad channels (Pinterest, Snapchat, Quora, etc.)
As soon as you’ve launched your ads, you should be setting reminders for yourself to optimize ads in 1 day, 4 days, 7 days, 14 days, 17 days, and 21 days. (And every week afterwards.)
We’ll dive into each of these intervals in depth in the following phases.
If you’re running Facebook ads, make sure you’ve set up your metrics correctly (see Facebook and Instagram > Project: Setting up Facebook Metrics).
This is where you make sure that nothing egregious has gone wrong (like forgetting to turn on an ad set or mistyping a budget).
Look at initial results and cut out obviously low performing ads and adsets.
Heavier optimization.
Continuing optimization.‌
Check back to see if results have changed significantly, especially if your product has a longer sales cycle (it takes longer for people to buy).
This is a fairly quick run through. Run through this checklist:
You’ll want to revisit it later (21 days later, and possibly sooner) to see whether it took time for those leads to convert (meaning, actually buy).
And now, the meat of the work. Here’s a checklist you can use as you follow along.
Head to your ad dashboard.‌
Make sure you can see every live combination of ad sets on the dashboard. (These are called “Campaigns” on Twitter and LinkedIn. Wherever you set your audience and group your ads is what matters).
Do “Lifetime” if possible. Include today’s date in the data. This is a common gotcha — we’ve drawn many wrong conclusions because the date range is gone. This happens frequently.
Bookmark this page with the Lifetime date range as your default starting page whenever you visit the channel. For example, whenever you want to visit Ads Manager on Facebook, use the bookmark you made that uses the Lifetime date range to start (unless you’re trying to look at specific data).
If you’re on Twitter, make sure you include today’s date in the data (otherwise Twitter only looks at the day before). Selecting “This Year” is a good way to do this (unless it’s January 1st or early in the year).
Ideally, your Holy Grail Metric should be whatever you record when a customer makes a purchase. Or, if there’s not enough data on it, it should be as downfunnel as possible.
In the example below, our Holy Grail Metric is “Cost per Web Content View”. Sort by “Descending”.
You may not be able to sort by your Holy Grail, depending on your ad channel. There’s a chance you’ll have to look at Google Analytics or Mixpanel/Heap Analytics/etc. to see how you’re actually doing downfunnel.
This is why UTM tags are so important — they let you keep track of which ads and ad sets are converting well, even after your ad channel (e.g., LinkedIn — especially LinkedIn) loses track.
If you don’t have many purchases yet, it’s sometimes better to sort by amount spent and rule out ad sets where you’ve spent too much.
LinkedIn note: LinkedIn’s conversion tracking is notoriously broken. Their own reps admit it. So even if you are tracking conversions, you can’t trust it. You’ll need to get data from GA or your analytics tool.
Run through each ad set.
Fundamentally, there are two things you need to ask before you can touch an ad set:
To optimize an ad set, the answer to #1 should be yes and the answer to #2 should be no.
In the example above, notice that the top ad set is much more expensive than the others ($17.41 vs. $1-3). You might think, “Boy, that’s an order of magnitude more expensive. I should turn that off.”
If you’re absolutely strapped for cash, sure. Turn that puppy off.
But guess what. There ain’t much data. Only one person has done what we want, and only 646 people have seen our ad set.
Almost always, you’ll want your ad to reach at least 1,200 people before you do anything. There’s too much variability otherwise.
In the example above, it only takes two more people to bring your CPA back within range. (CPA means “Cost Per Acquisition” — an “Acquisition” is a “Website Content View” in the example above.) Two more people brings you to three total.
$17.41 (your total amount spent) divided by 3 is $5.80. That’s pretty close to the other ad sets. So at this point, leave the ad set on for another day or two. See if it comes back within range of your acceptable CAC.
Here’s the rule: We care about the difference that two to three more conversions would make.
“Marginal conversions” mean “two or three more conversions”: what would your CAC look like with 3 or 4 conversions instead of 1?‌
We don’t want you to burn your money. So we’re going to act on data in the most profitable way we can.
Don’t turn off your ad set just yet, though. First…‌
Facebook will pause some ads for you automatically — other platforms likely won’t. And Facebook doesn’t always pause the right ads.
Before you even think about turning off an ad set, you’ll want to break it down by ad. Sometimes, one ad will drastically outperform the others, but your platform (Facebook/Quora/etc.) is optimizing for the wrong thing.
Click into one of your ad sets. Sort by your holy grail metric. (Sometimes, sorting by “Amount Spent” saves you more time here.)
Turn off the ads that are two to three times as expensive as the others, assuming the marginal conversion (explained above) doesn’t make a difference.‌
Do this within each ad set.
Don’t turn off an ad set until you’ve ruled it out across all major demographics and metrics.
Different platforms give you more or fewer metrics — we’re using Facebook as an example because it has by far the most ways to break down your data.
Head back to your “Campaign View”, where you can see all your ad sets at once.
Click on “Breakdown”, then “By Delivery”. Start with “Age”
See if there are differences in performance between age ranges (if you have enough data). Do the same thing at the ad level.
Specifically, you’ll want to look for poorly performing audiences (that have a 3x CAC or higher) to exclude them from your targeting. Instead of only focusing on top-performing ones. For example, by excluding New York and California from the US instead of only targeting Kentucky, you’ll still able to serve ads to other states in the midwest and get more data on them.
This way, you can reach more people than by restricting your targeting only to the best audiences. And it will take longer for people to get tired of your ads.
If there are any audiences that are borderline (the CAC is 1x to 2.5x what it should be), exclude them and target them in separate ad sets with creatives and landing pages specifically tailored to them.
For example, if you're seeing that 55-65 year old women are responding with a 1.5x CAC, exclude them from the original ad set. Then, make a separate ad set targeting only 55-65 year old women, and serve them offer ads with senior discounts, pointing to a new landing page with an older woman in the image.
If you’re running a bunch of ad sets, the number of rows can get overwhelming and confusing. You’ll want to cut your results down to a manageable number of rows.
Usually, this will mean looking at only one ad set. Here’s how.
Let’s say you only want to look at your retargeting ad set. Hit “Search”, then Ad Set name:
Then, when you break down your data, you’ll only see your retargeting ad set. Much less overwhelming.
Another example: if you’re looking at cities, but you want to restrict to ad sets where you’ve reached over 6,000 people total, hit “Filters”, then “Ad Set Metrics” > Reach:
You’ll want to break down by each of the categories below. We’re including examples from how we’ve optimized for clients in the past.
These categories have historically been the largest variables for advertising performance.
You may have already done this, but take what you’ve learned from breaking down your data and put it into practice. Target new audiences, make new ads.
Note: only duplicate ad sets when you can't change an existing ad set.
Ordinarily, you might think, "That doesn't make sense! I'd rather keep things organized to run a cleaner test." Here's the problem: the ads in the new ad set will lose all their engagement — likes, comments, and shares – which can drastically hurt performance.
So: it’s better to use the same ad than to make a new one.
Great. You’ve broken down by metrics and probably made some changes.
If there are any ad sets that are performing an order of magnitude worse than the others, or have hit 3x your CAC, turn those suckers off.‌
Make sure to check the ad sets that you’ve spent a lot on that have no conversions. Those can often slip through the cracks.
We like to update a Dropbox Paper doc with only the major changes and optimizations we make. It’s particularly useful when you’re trying to look at data starting with the date you made a major change.
For example, you might want to look at your ad set performance after you excluded certain locations and added a new video ad.
Here’s an example we used internally for a real client.
There’s a place in the Facebook UI to see every change you’ve ever made, but it’s a pain to use because Facebook keeps specific track of everything, down to when you adjusted a budget. There’s a lot of noise. But you can follow the instructions to do it here if you want.
Run through the steps in Phase 2 again.
Why a 7 day check? We sometimes see different behavior on the weekend compared to during the week, so it’s ideal to wait for a whole week to finish before optimizing too much.
You’ll also have more data to make better decisions.
More importantly, if you have a longer sales cycle (people take more time between seeing your ad and buying it), you need to wait at least a week or more before you see reliable results.
Find your highest performing ads. Check the box next to them and hit “Preview”. Then click the little square with the arrow on the top right.
Then click “share a link”. Copy that link.
Then, send it to your happiest customers asking them to leave a genuine review of you in a comment with a like.
Why?
The more likes and comments an ad has, the more Facebook promotes it in the newsfeed. Which means you don’t have to bid as much to show up — making your CAC cheaper.
Lots of likes and comments also makes your product look more trustworthy and legit. So people will click through the ad more. And are more likely to convert.
Assuming your product is good enough to have happy customers, this is a good-hearted hack that has worked wonders for us.
You may need to run through Phase 2 again, but you may have already started optimizing and finding ad sets that perform well, as well as cutting out the ones that aren’t performing well. Good work.
We now do a different type of optimizing. “Continuing optimization”: keeping what works working, and fixing (or getting rid of) what doesn’t.
You’ll want to check your ads twice a week at minimum. If ads turn out to be the primary way you’re getting revenue, you’ll want to check daily.‌
As more and more people see your ads you’ll need to keep an eye on your Holy Grail Metric (Cost per X) to make sure it doesn’t start to rise above your acceptable CAC (or acceptable CPA).
You’ve won. Congratulations. This is huge for your business. For now.
You can start to spend more and reach more people profitably. But, if you spend too much, you’ll “blow out” your ad set and people will get “fatigued”, meaning they’ll see your ads too often.
On most platforms, you can get a sense of your overall reach or daily impressions by editing the ad sets.‌
On Facebook, check your ad set’s overall reach by editing it and looking at the Potential Reach on the graph on the right. Increase your daily budget until the top number (your estimated daily reach) is 1/55th of your Potential Reach. We’ve found that two months (~55 days) tends to be enough time for people to move into and out of audiences.
If your potential reach is “Unavailable”...
Congrats. You can skip the rest of phase 4.
Go through the phases below. Also run through phase 2 to see if you can improve your audience at all.‌
It can be really hard to tell how many purchases your ads are really causing. Your ad manager only tracks people who directly see your ad and buy on your site. We found that we weren’t tracking over $50,000 a month for some clients!
Once your ads have been running for a week or two, you’ll need to keep an eye on your Frequency: this is how many times people have seen your ad, overall. This is especially an issue when your audience has a small overall reach: there are only so many people you can show an ad to.
Once it rises above 3, people will start to get fatigued; they’ll gloss over your ad because they’ve seen it before and already “get it”.
This is also why ideal audiences are “living and breathing”. For example, if you’re targeting people who “Recently Moved” on Facebook (a real targeting option), you won’t have to refresh your ads very often; new people move every day and enter your audience; people who have lived somewhere for a while will drop out of your audience. So the people you care about won’t have seen your ads before.
Exception: you can afford a much higher frequency (up to 10) for retargeting ads; you’re not spamming people because they already know your product; you’re trying to get them to come back by catching their attention at the right moment.
If your Frequency is high, you have four options…
You have a few levers you can pull here. Edit your ad set.
On LinkedIn, you can add new industries or job titles to targeting that you may have forgotten before (for example).
On Quora, you can add new interests and topics that are a bit farther away from your original ones.
Now that you’ve gotten some data on who has come to your site, you can also make new lookalike audiences off the people who have visited, signed up, purchased, etc.
On Facebook, you can do the same. There’s also that little checkbox we ignored before in the “Detailed Targeting” section.
You can try checking it. Checking this box makes it harder to control our experiments between ad sets, but once you’ve been running ads for a while and have narrowed down to your top-performing ad sets, it’s less of a risk.
On Facebook, you can try adding placements in the “Audience Network”. These are other web sites and mobile apps (for example, The Huffington Post) that use Facebook’s targeting to show ads on their site. These tend to convert worse, which is why we don’t have you target these sites up front, but we have seen some success. It’s worth a shot if your ad sets are failing.
You can see a list of some other sites that are in the Audience Network here.
Also, you can try expanding to Instagram Story ads -- they can convert well -- but you'll need to make creatives that follow that placement's format.
On Facebook and Quora, you set lookalikes as a percentage of a country's population. If a 1% lookalike audience is performing well, try expanding to 2%, 3%, etc. to get more volume.
If your lookalike audience is saturated, and the seed audience is a list of customer emails that you uploaded a while ago, upload an updated list of customers and make a new lookalike audience.
Note: if you're using a lookalike audience with a seed audience that automatically updates using the pixel (for example, 30 day site visitors), you don't need to refresh the lookalike audience. According to Facebook's support, Facebook will do that automatically every 3 to 7 days.
This means making new ads with new designs and new copy, especially hitting new value props.‌
If you need help coming up with those, you can run through our ad copy and ad creative projects again. At this point (assuming you’ve gotten ads to work for you), it’s worth hiring a designer to come up with another batch of ad creatives. Just make sure they follow our overall guidelines.
If you're an eCommerce company with a bunch of products, and you're running Facebook/Instagram ads, you can try running dynamic ads. These let you upload your product catalog and autogenerate ad copy with each product.
It's not worth doing to start, but if you're having trouble getting CAC down but are within 30% or so, it's worth looking into.‌
Sometimes, you just can’t make it work. The Cost of Acquiring a Customer is too high. Your target audience is too small. It happens.
Don’t spend money on ads unprofitably. Turn them off. Try a different ad set. Or a different channel.
Update your log doc with the major changes you made
In practice, you’ll want to look at your ad performance every 3 or 4 days. To remind ourselves, we set recurring calendar reminders and create automatic tasks in our digital to-do lists.