Hey PPC'ers, here's a case study I've put together for our client Elite Supplements. It's been an absolute pleasure working with these guys and there're many happy vibes both at Big Flare and Elite Supplements about our ongoing collaboration. In true Big Flare style, this is not a short post. I wanted to go in-depth into the tactics and strategies we employed that resulted in the (more than) 600% account growth we've achieved. I'm hoping this level of depth will help readers to implement the same strategies for themselves and hopefully 6x their PPC accounts too.
When we first started talking to Dom, CEO of Elite Supplements, he already had a PPC agency running things but felt like there was something missing in the campaign management. Communication from the agency was infrequent and he didn’t know how or where, but he felt like there might have been money left on the table in the Adwords account. He contacted us for a free audit and asked us to identify where, if anywhere, was there room for improvement in the existing campaign. And, boy, did we find some improvements to make!
When we take on a new account we always prioritise the "little levers that swing big doors", AKA "the lowest hanging fruit", also AKA "80/20 optimisations." Basically, we start with the changes that make the biggest impact in the least amount of time. That's what, in the case of Elite Supps, enabled us to achieve a +50% increase in weekly revenue on the very first week after we started.
That's a great start but how are we doing now, a few months later? Well you can see that below. We've continued the upwards trend in revenue, and 6 months later Elite's revenue is up by +600%.
Oh and in case you were wondering, this big climb in revenue has been achieved at a healthy and profitable Return On Ad Spend (ROAS) of 611%, meaning we're making $6.11 revenue for every $1 spent on ads.
Want results like this in your PPC account? Read on to find out how we did it!
How We Did It
There were a few big things that needed to be taken care of right away when we started on Elite Supps’ Adwords account. By far the biggest, ugliest problem in the room was…
Performance, Budgets & Impression Shares
This is literally the first thing we check whenever we dive into a new account. It’s that important. If you do everything else right in an account but get this one big thing wrong, then you will leave thousands and thousands of potential revenue on the table. When we checked Elite’s account we ran into a true facepalm moment:
Unless you are already an Adwords pro, you may need me to explain what’s going on here. For me, these numbers tell an instant story that makes me want to smack myself in the face when I see them. For you it might not be so clear, so let’s break it down. First let’s look at the numbers in green.
These numbers represent “conversion value / cost” or what we simply like to call ROAS (Revenue Over Ad Spend). Google likes to call this metric “Conv. value / cost” and express it as an integer (e.g. if you spend $1 and make $2, your “Conv. value / cost” is 2). We (and most of the rest of the PPC industry) prefer to call it ROAS and express it as a percentage (e.g. you spend $1, make $2 back, your ROAS is 200%). These campaigns boxed in green have, respectively, ROAS’s of 886%, 814% and 627%. That’s really good! That means that spending $1 on ads was getting them between $6 - $8 back in revenue.
Unless they had very high costs and a low profit margin (Elite Supps don't) then anyone would be happy with spending $1 and making $6-$8 back. If I told you that every time you give me $1, I will GUARANTEE to give you $6 back, what would you do? You would probably give me every dollar you had, right!? You’d go out and borrow extra dollars from the bank, your friends, even your parents if you had to, and you’d give me all those dollars too, right!? Because every time you do, I am giving you multiple dollars back in return.
A more formal way of expressing the above logic is: when ROAS is profitable, budget should always be uncapped (barring issues such as low stock, incorrect tracking, etc).
Right, so now that we have established this (very basic) logic, it’s now time to explain to you the other metrics I highlighted in the pink boxes:
The column title “Search Lost IS (budget)” stands for “Search Lost Impression Share due to Budget”. Here’s how Google themselves define Impression Share:
So what does that mean in plain English? It’s essentially your share of market, as it applies to your Search advertising. If you get 100% impression share, that means your ads showed up 100% of the times they could have. If you get 50% impression share, you showed up only half the amount of times you could have done. You missed out on half the available impressions, clicks and conversions in that case, and you’d probably want to know why you missed so many opportunities.
Figuring out why you missed out on potential traffic and sales is the job of two metrics we always use in our accounts:
- Search Lost IS (rank)
- Search Lost IS (budget)
Let’s not worry right now about the first one. In the screen grab above I have highlighted how Elite Supps was doing on the second one, “Search Lost IS (budget)”. What this metric is telling us is essentially this: how much of your potential search traffic you have missed out on due to having a limited budget.
In the case of Elite Supps, at the time we took over the account, the answer as shown above on the highlighted campaigns was 88.54%, 17% and 64.21% respectively. In total, 55.94% of potential searches were being lost due to a limited budget.
Go back to my previous logic about positive ROAS’s. If the ROAS is positive and profitable, then spending $1 is going to make you money, so you would spend as many dollars as you could. Well, what was basically happening here was that spending a dollar was making money, but the account was basically saying “oh, erm, I’m only going to spend some of my dollars. I don’t like making as much profit as possible. I prefer to leave money on the table!”
This approach was benefitting no-one (apart from Elite Supps’ competitors). So the first thing we did upon getting our hands on the account was to increase budgets on campaigns that were high performing but budget-limited, and optimise keyword bids to take advantage of the increased budget.
Once you know what all the metrics mean and know how to pull up the relevant columns (they are hidden by default, thanks Google!), this kind of analysis and optimisation becomes incredibly easy to do. What shocked us though was that this account was previously being run by another Adwords agency (who shall remain unnamed). Any Adwords manager worth her salt should be able to quickly spot and fix this kind of thing but apparently it had gone unnoticed for the entire lifetime of the account. Let this be a lesson to anyone hiring help on their Adwords campaign: you really really need to look for someone with very good attention to detail!
When we first dug in to Elite’s Shopping account, we found that it wasn’t active and not contributing to the overall account revenue and profit at all. This is highly unusual for an Ecommerce Adwords account these days, most of our clients are generating upwards of 50% of their Adwords revenue from Shopping. Looking industry-wide, retailers now spend more on Shopping ads than text ads and Google Shopping is (not coincidentally!) generating more conversions for them (source) overall. So, you can imagine our immediate reaction when we saw Shopping being pretty inactive in Elite’s account: “OMG Let’s get Shopping set up and started right ASAP!” This was going to be our second most important priority after fixing the above bids and budgets.
Shopping Structure - SPAGs & Keyword Sculpting
We set up our best practice Google Shopping account structure: Single Product Ad Groups (SPAGs). This means that every product in the feed has its very own ad group. This gives us the added benefit of being able to add negative keywords at the product level (negative keywords can only be added at ad group level so if you have more than one product in an ad group, you can’t add negatives to a specific product). This in turn allows us to “keyword sculpt”.
What’s “keyword sculpting”, you ask? OK, to illustrate with an example: let’s say you have protein powders and you stock lots of different varieties:
There will be lots of different potential keywords for this type of product category, one of the more generic ones might be “buy whey protein powder”. Now let’s say that out of all your available products, the most high margin and highest converting one is this one:
With keyword sculpting we can add negative keywords to the whey protein products that are less likely to convert or that have a lower margin, and funnel the traffic towards the product with the highest conversion rate / margin / revenue / etc. That way, we can ensure that when someone searches for “protein powder”, we are sure to show them exact protein product we want them to see.
Shopping Structure - Brand vs. Generic & Campaign Tiers
In addition to SPAGs we set up our favourite Shopping Campaign segmentation structure: the Brand, Generic and Catch All trifecta. With this campaign setup, using campaign priorities and negative keywords, we are able to funnel Brand traffic (e.g. people searching for Elite's brand) into one campaign, Generic (e.g. people searching for “whey protein powder” and other unbranded search terms) into another campaign, and a third “Catch All” campaign is used to scoop up any traffic that may have been missed in the main two campaigns. This granular structure allows us to set bids and budgets for Brand / Non-Brand independently, just like Elite was already doing in Search.
You usually will want to be able to control Brand and Non-Brand bids separately because the behaviour and value of those searchers is different. Brand searchers are generally NOT brand new users, and they are highly likely to convert, so you want to bid high here and basically show up all the time. The value of a conversion on a Brand campaign is likely not as high as a Non-Brand one, because Brand conversions are likely to be returning users (some of whom were going to buy anyway) whereas Non-Brand conversions are more likely to be new customers. Whereas the goal with the Brand campaign is simply to show up all the time, with the Non-Brand campaign the goal is to bid for our target Return Over Ad Spend (ROAS) and ensure profitability. The only way to set up these separate bid strategies is to segment your Shopping campaigns into a Brand/Non-Brand split.
Want to know how to set up your own version of a SPAG and Brand/Non-Brand Shopping campaign structure? Check out our article that shows you exactly that!
Bid Optimisation Strategy
This is another common mistake we see when we first get into a new account: infrequent manual bid optimisation. There has been an ongoing debate in the PPC world for many years when it comes to bid management: to automate, or not? On the one hand you have the option of manually adjusting your CPC bids. The advantage of this is you get (almost) full control. The disadvantage is that it's time consuming, prone to human error, and you need to be very disciplined in sticking to a schedule of regular bid optimisation. Otherwise, you end up in the place where Elite's account was when we first dived in: bid management was minimal and infrequent, resulting in missed revenue.
Here at Big Flare we usually opt for bid automation (balanced out by 2x weekly human checks on the machine to make sure it's behaving and tweak if it's not). Some of the advantages of bid automation:
- Time-saving - time saved here can be much better spent on creative tasks that really are only doable by humans, like ad copy writing and strategy.
- Effective - with Google's new AI-based, machine learning algorithm, it's become VERY effective in certain cases
- Not prone to human error or bias - human error is exactly that, HUMAN. Machines don't make arithmetic mistakes!
- Real-Time - a human could at most hope to optimise keyword bids once or twice per day. The machine can optimise keyword bids in real time, meaning that every time an ad is shown, the ideal bid is calculated right at that moment. That means it's making decisions thousands of times a day.
- Rich user signals - Google's algorithm takes into account a huge range of user signals when calculating each bid. Some of these include device, location, previous website behaviour, language, browser, time of day, which ad was shown, etc. When you consider that Google's factoring hundreds of different things into it's bid calculation, and then making thousands of those calculations each hour, every time an ad is shown, it's easy to see how a human could never match that pace.
With the above in mind we set out to test Google's machine-learning bid automation (AKA Smart Bidding) in Elite's account. While we find this to be effective in more than 90% of our Ecommerce PPC accounts, it doesn't always work, so we always consider this a test when we first implement it on a new account. The main thing that would stop Smart Bidding from working effectively is low conversion volume. If your account only has a small amount of conversions (less than 50 per month) then it's hard for Smart Bidding to get you to a profitable ROAS. Luckily for Elite, their accounts generate more than enough conversions for Smart Bidding to be really, really effective.
Bid Optimisation - ROAS vs Volume
Another key aspect of our bid optimisation strategy was in balancing ROAS and total volume. It's not immediately apparent, but having a very high ROAS is NOT always the most conducive to maximising your profit, because it can limit your total volume.
To explain by way of example: imagine you are generating $10 in revenue for every $1 spent on ads. That's a ROAS of 1000% and sounds really profitable, right? But, what if I told you that in order to maintain that ROAS, you need to bid really low, say $0.50 CPC. With such a low CPC, your ROAS is great but your ads are probably not showing up as often as they could do, limiting your volume. Now let's say you were to crank up your bids to $3.00. This ends up being much more expensive for you and maybe your ROAS comes down to "only" 400%. But now you show up much more often and get a much higher conversion volume. If in the first case (ROAS of 1000%) you were losing lots of impression share, and if in the second case (ROAS of 400%) you are still profitable, then you are going to be making a lot more profit at the LOWER ROAS, not the higher one.
So, there's a balance point between ROAS and Volume. You need the ROAS high enough that each dollar spent on ads is generating a profitable number of dollars in return, but you also need ROAS low enough that your bids can be aggressive enough to capture as much of the available clicks and conversions as possible.
Before we came along, Elite's Adwords account was skewed way too far in the direction of high ROAS. The ROAS looked great, it was in the thousands of percents, but we could tell this was strangling the account's volume. What we started doing (with Elite's permission and regular feedback) was to deliberately lower the ROAS, increasing the bids and allowing impression shares, conversion volumes, and, most importantly, total profit to increase rapidly.
There were a number of things to improve with Elite's Search campaign keywords. Here are the first things we got to work on in the account:
Keyword Selection & Expansion
Selecting the right keywords, and capturing all the available relevant keywords for your products, is a vital part of any Search campaign. Elite had good keyword coverage for most of their core products, but with a couple of issues. Firstly, the core products did not have "related terms" or what we like to call "generic" terms added. Secondly, outside of the core products there were a bunch of lower selling products that had no keywords added at all.
For the "generic" terms, I'm referring to related keyword terms other than the exact product name and variants. For example, the product Nutrabolic's Anabolic State might have had its product name keywords added ("anabolic state" and "nutrabolic anabolic" etc.) but it wouldn't have had its more generic keywords added ("BCAA supplement" and "branched chain amino acid supplement", etc). The product titles and brand names of the core products were generally represented in the account's keyword list, but the related generic terms were largely missing from the account. So, the first 1 - 2 months of us running this account were spent going back to the drawing board with keyword research and figuring out all the missed keywords.
The second issue, lower-selling product not having any keywords added, is easier to explain. If you have products on your store but don't have any keywords at all for them in your Adwords account, you are likely missing out on potential revenue, so we came in and started identifying those products and adding ad groups and keywords for them to the account. Using a login to their shopping cart software that Elite were able to give us, we listed all the products and sorted them by sales volume. This became our priorities list. We started going down the list, adding new ad groups from the top to the bottom for any products that did not already have ad groups.
DSA Keywords Not In Search
Dynamic Search Ads (DKA) are automatically-generated campaigns made by Adwords. Adwords will scan your site for keywords, then will automatically create ads for all the keywords it finds. You don't get to customise the headline, that bit is generated dynamically based on the keyword that was searched, but you do at least get to write your own description.
DSA campaigns are not the most effective in terms of performance (as you can imagine for an automatically-generated ad) but what they are great for is quickly creating ads for every product on your site, and then using that campaign to find keywords that convert and move those keywords into your standard Search campaigns where you can customise the keyword targeting and ad headline.
Elite's Adwords account had seemingly gone half the way there with DSA campaigns, but had failed to cross the finishing line. The DSA campaigns were set up and thus every page on the site was having ads generated for it. But, the problem here was that the second step (mining the DSA search term data for profitable keywords, then moving those keywords to Search campaigns where you have more control) was not being done. This meant that the DSA campaign was spending a lot of money, and making a decent chunk of money back, and while the performance numbers may have looked good, they would have been even better if those successful converting keywords had been moved OUT of DSA and into a standard search campaign.
So, we came along and did exactly that We made sure that any keyword that had converted in the DSA campaign was moved to the Search campaigns, where it could have its own ad copy written for it and where we could control the exact landing page used and keywords targeted. We were also able to use this data to expand keyword selection out to related keywords that the DSA campaign was not yet picking up, thus further increasing overall conversion volume for the account.
The Importance of Exact Match Keywords
There are three main keyword match types (plus a couple more but let's not get into that now) in Adwords: Broad, Phrase and Exact. Broad match is the widest targeting option, it's kinda like a "scatter gun" approach. If Broad match is a scatter gun, then Exact match is a scalpel. Whereas Broad match will target the keyword you selected, plus anything under the sun that Google thinks is related, Exact match will only target the exact keyword you selected; nothing more and nothing less. Exact match tends to have lower volume but the highest level of performance. Phrase match is somewhere between the two, it targets the exact keyword phrase you selected, in that exact order, but it allows keywords with additional words either side of your phrase to show up.
Elite's account was liberally using Phrase and Broad match, the wider targeting options with lower performance than Exact match, but it was using very few Exact match keywords when we got in there. When we went through the Search Terms report, we found that there were a lot of search terms with a very high volume of conversions that did not have equivalent Exact match keywords added in the account. This meant that the bids and ads for those search terms could not be precisely controlled, as they were being shown on broad or phrase match keywords that were not exactly the same as the search term itself.
We immediately added those terms to the account and then set up our weekly process where we monitor the search terms report for converted terms that don't have an Exact match keyword added. Using this process, we scour the account's search terms report every week for good new keywords to add and irrelevant keywords to block.
What Elite Supps Had To Say
We asked Dom, the CEO of Elite Supplements, what he thought about our service and he was kind enough to share these words with us:
And there you have it, our formula for scaling an Ecommerce PPC campaign in a competitive niche by more than 600%. Hopefully you found something here that can help you create similar growth in your own PPC account. Of course, not everyone has time to invest in the same strategies we did, so if you'd rather get us to do all this for you then get in touch for your free consultation and PPC audit and we'll show you what we could do in your account.