Advanced PPC #3: Create your own automated bid strategies
- What Is A Bidding Model?
- Ingredients & Assumptions for PPC Bidding Model
- How Much Is A Click Worth?
- The Trouble With Estimating Conversion Rates
- Implementing an Automated Bid Strategy
- Machine Learning and Adwords
- Introduction to AdWords Scripts
- Closing Advice on Automation and Bidding
Joel: We have today joining us a very exciting group of people. Gianluca will be presenting, he's based in Italy. Mark, an American who works for WordStream, will also be joining as part of our panel. We also have Natalie as well.
So, what's really fascinating here as Gianluca is going to show us, how, with no programming experience or knowledge, you can create your own automated bidding strategies, which I think comes with its own list of benefits from allowing you to operate more effectively, more precisely, and also efficiently by requiring to have fewer hands on the accounts themselves.
As we know, automation is the future, but in a way, it's giving power back to the people. Gianluca's going to show us how you could do it yourself.
So, I think we are going to start soon. So, I'm going to formally introduce everyone. As you know, we have Gianluca with us. He is the founder of Booster Box, which is a performance agency that specializes in scientific marketing.
And, coming from Boston, Mas., I'm sorry, mountain-view California is Mark. Normally, he'll be in Boston. He is the Director of Strategic Partnerships at WordStream.
And, last but not least, we have Natalie, who is an Account Director at Bamboo, which is a digital agency with offices in Seattle and San Francisco. While Natalie specializes in paid search, she's passionate and just generally helping advertisers build their growth marketing stack and be, quite frankly, a disrupting force in their respective industries. In 2018, she was voted as one of the top five rising stars in PPC at PPC Hero.
So, I think that's it for introductions, and at this point, I will shut up a little bit and let Gianluca take the stage. So, whenever you're ready, you may start presenting.
Gianluca: All right. Fantastic. I'm going to start sharing my screen.
All right. So, first today we're going to have a super quick recap on how bidding works on Google Search. Then, we're going to zoom in on what is a bidding model. And then, how we set up the right bid. And lastly, we’re gonna actually see we can implement a bidding model in less than 15 minutes in an account.
All right. A quick recap first on how bidding works. So, as we all know, Google is playing a Second Level Price Auction, also known as Dutch Auction. This a very fancy way of saying that you’re paying one cent more than the person behind you in the auction.
If you have seen A Beautiful Mind, you might remember the Nash Equilibrium, and if you study economics, all the Game Theory. There are several theorems that can prove how all actors are incentivized to bid to the max value of a click within these types of auction. So, if all operators are rational, everybody would bid to the max value of a click. So, that's pretty much how bidding works.
What Is A Bidding Model?
All right. So, what is a bidding model? A bidding model is a super fancy word, so I would like to bring it back to roots and think farm vegetables, fruits. These types of products. So, imagine one day you decide you are sick and tired of this digital thing, and you want to start selling potatoes. You go to the farmers' market, imagine that is a wholesale type of market, you will go, meet a farmer and ask for a price for potatoes. So, your idea is you're going to buy cheap potatoes, and then sell them at a higher price.
On the first day, you're very lucky. And, the farmer is going to sell you for $1, 1000 kilos or how many pounds there are, I have no idea of potatoes, but let's say a very cheap price. Right? So, this is a pretty sweet deal. So, obviously you're happy about that, you will buy those potatoes, flip them, and hopefully make some nice margin, being able to sell these 1000 kilos of potatoes for more than a dollar.
Now, this is a market. And, the market as you know is crazy. So, the following day you will go again, asking for bargaining a different price, but this time the market has changed, so the farmer will sell you the 1 potato, this time for $1000. So, obviously not an exciting price, so probably you won't take this deal, because you are not thinking you would be able to go and flip this potato for more than $1000.
So, pretty much what you're trying to assess here, you're running in your brain a function that is trying assess what is the value of a potato and if this value of a potato is higher than the cost of the sale.
So, this is it. This is what we're trying to do when we talking about our bidding model. We're trying to figure out if the estimated value of a click or a potato is higher than the cost of a click. And, if this is that case, we're going to buy that click, and buy more than those clicks.
In the days where the click value is actually lower than the cost, we're going to buy less. So, the name of the game here is trying to understand how we can formalize and understand a little bit better, what is the click value. So, we're going to zoom in on that today. So, bidding model, it's a very fancy way of pretty much making sure that this function works for our business.
Ingredients & Assumptions for PPC Bidding Model
So, how do we set up the right bid? And, how do we identify what is the right value? So, we need a few ingredients. The first one is a Granular Structure. So, imagine AdGroup with proper match type; SKAG (single keyword ad group), Exact, and BMM (broad match modifier).
Obviously, we want relevant ads and landing pages. And, obviously, we want complete tracking. So, imagine a tracking scenario where we are tracking the micro-conversion and the calls. So, what we're tracking is actually giving us the whole picture.
And, we want to play in an environment where we have a proper attribution model. I think there's a quote that was saying something around the lines of that, "A great bidding model cannot fix a lousy structure." So, yeah. Definitely, you want to make sure that you have these few things in place before you start thinking about bidding models.
There's one more ingredient that I think is needed, is no HIPPOs in the room. And, by HPPO I mean highest paid person opinion. I think if you are agency side, or even client side, there's always a boss of a client or someone that just wants to appear on position number one on all keywords all the time. So, definitely, no HIPPOs in the room, otherwise either you change room, you focus on other things, but a bidding model probably wouldn't be the right choice.
Now, if we have all the ingredients in place, then we can dive in. So, we're going to start making first some assumptions. The first one, this is back to our friend Hal Varian, is that conversion rates don't vary much with ad position. Now, this is quite controversial in a way, 'cause not everyone agrees with that.
So, for sake of simplicity, we agree with Hal, here. So, conversion rates don't vary much with ad position. We are buying into this result.
How Much Is A Click Worth?
All right, so back to where we were. Let's try to dive in, now that we clarified the ingredients, and the assumption, how we can estimate the click value. So, most likely we have a boss or a client, or someone that we are interacting with that has in mind a target CPA. So, we know from the business there's a certain target CPA, so starting from that target CPA, there are very simple formulas that we can use in order to define what is the potential max value of a click.
So, we know that CPA is cost divided by conversion, and costs are clicks times CPC. So, we can that conversion are also clicks times conversion rate. We put everything together, we can simplify things and we can see that CPA is equal CPC divided by conversion rate. If we solve everything by CPC, then we can see that the max CPC, or value per click, is equal to the target CPA times conversion rate. In other words, the max amount that we're willing to pay is equal to the value of an acquisition, times conversion rate where we could see conversion rate as the likelihood of a click to become a conversion. So, that's one formula.
But, in some cases we have a target ROAS (return on ad spend), we don't have a target CPA. Imagine if you are in eCommerce. So, we can get pretty much the same result. ROAS is revenue divided by costs. We can imagine revenue as average or the value times clicks times conversion rate. And, costs are clicks times CPC. Again, we put everything together. So, we will have a ROS that is average order value times conversion rate, divided by CPC. And, if we solve everything by CPC, we see that the max CPC, aka value per clicks, will be average order value, times conversion rate, divided by ROAS.
We can try to simplify a little bit more. We can see ROAS as one divided by the target margin. So, if you add that into this function, at this point the CPC, is equal to the average order value, times the margin, times conversion rate. The max value of a click will be equal to the average order value, times the margin that the business is making on that average order value, again, times the likelihood that a click will transform into a conversion.
At this point, we just need to figure out how to follow this formula, by starting with two metrics, CPA and ROAS.
So, in order to calculate the value per click, the first ingredient is understanding the value of what we sell, in a way. Which is, in a CPA model asking what is the target CPA, and in a ROAS model, is asking what is the target margin times the average order value.
The Trouble With Estimating Conversion Rates
The problem is the (other) ingredient, so the conversion rate. AKA, when we try to establish the likelihood that a click will sell a product. So, getting the first two metrics, easy. The third one, a little bit trickier. Why? It might be not that trivial to define conversion rate for a couple of reasons.
Number one, we need to define the correct conversion windows. So, by conversion windows, imagine that if you go in the not so new anymore interface, you can segment by day, and you can see that you probably are making a bunch of conversion on the first day, but then you also have so to say, a long tail of keywords or conversions that are staggered in time, and conversions that are happening from the same clicks that you are getting from the first day, but you're getting the conversion after two, three days, three, four, et cetera, et cetera.
So, you will see that your conversion rate after one, or two, or three days, it's the classic in the usual range, one to three, to three to four. But then, if you give enough conversion window, in this case, we're talking about a marketing heavy, high value, high type of engagement type of product, so in this specific case you will see that conversion rates are really massively increasing if you're giving users enough time to convert.
So, the attribution window, it's something super important to take into consideration, whenever you are measuring your conversion rate. So, you need to define at least x clicks in the last y days, to estimate a certain conversion rate for a keyword.
And also, it's not that trivial to define how many clicks do you have in order to draw a line and say, "Okay, that's it. This is the conversion rate I'm trusting." So, you need to define at least x clicks in the last y days, to estimate a certain conversion rate for a keyword.
So, let's say you want to ensure that you got at least 1000 clicks for certain keywords, in the last 90 days, in order to estimate the conversion rate. Then, for all the keywords that are meeting this threshold, you're golden. You can simply use that number to estimate the conversion rate.
Now, the problem would be for keywords that are not meeting this threshold. In this case, you will need to make some guesswork in order to estimate what is the right conversion rate. So, the problem will be that we need to do some guessing when we have limited data. And, there are a few solutions that we can apply.
So, number one is extending the time range. So, looking at a broader timeframe might be a solution to gather more data, that are helping us going above the threshold. This is a very rough solution, that, you know, not that solid.
A better solution would be clustering. So, you could cluster keyword by semantic, by campaign type, brand, brand on brand, type of generic keyword, et cetera. Intent keyword, word count, and other variables.
So, the idea is that you will aggregate keywords that have not enough clicks, and when you aggregate them, you will use that information in order to guess the conversion rate.
So, probably you're thinking, "Okay, we’re really discussing the value per click, but what about all the information that we have in the account; remarketing, on search, demographic bidding, time and device, and location? So, the idea is to use bid adjustments. So, you will define the core bidding, let's say a keyword level, a placement level, with a formula that we defined before, but then you can apply bid adjustment, let's say by device.
Okay, so, we see the theory, now let's dive in quickly in the implementation. The implementation is fairly easy, and it's just divided into three steps. You want to collect the data, define (compute) the bids, and then upload them.
So, for the data collection, there are a few options. In order to connect a Google spreadsheet to a Google ad, you can use any software like Supermetrics, you can use the Google Ads Add-On, or there is a beautiful script from Frederick Vallaeys that you can get that helps you to basically connect Google spreadsheet to Google ads. So, there are different ways.
And, the first step is to collect the data. And, you want to do that for different timeframes, last seven, 30, 60 and 90 days. So, you will populate a spreadsheet with this information. And, at this point, you would just compute the bids, by using the formula that we have seen before.
And, the last step will be uploading. So, here you have a million different scripts that you can use. A very simple script is this one here that you will see in the link later. This is from Free AdWord Scripts. It's a fantastic resource for anyone starting with scripts. And, it's very simple. It's 48 lines. And, this script is calling the spreadsheet that we just built. And, it will just apply the bid that you decided above. It's a very, very effective script because the computation log time is quite reduced. So, you rarely get a timeout.
So, to summarize, how do we build this. You define the target CPA, and the target ROAS, that's the first point of the checklist. And, you define the minimum threshold of clicks that are acceptable for you. And, at this point, you will be able to start collecting data into a spreadsheet. In the spreadsheet, you can compute the bid with the formula that we said above. So, for keywords above the threshold, you're good to go, and you can directly measure the value per clicks.
For keywords, that are below the threshold, you can aggregate them, and then you can measure the value per click. And, you can aggregate them by expanding the different timeframes, or by using a clustering technique. Once you have that, you'll simply have the last script to run in order to upload the bid, and that's it. In 15 minutes, you build up your automated bidding model.
Joel: Okay, that was very interesting. I enjoyed it a lot, and we do have a few questions here. Let me actually start... First of all, Google is moving to machine learning type of bidding, do you have any opinions about that?
Gianluca: Yeah, sure. So, it's very difficult to try to build a tech on top of Google, or Facebook, because these two machines are constantly changing. I think this is an exciting part of our job, right? So, I am, I guess not sure, but my bet will be that this conversation we had today, in a year, two years, three years time ... most likely is not going to be that relevant, because Facebook and AdWords are going more and more towards machine learning type of solution. And, this is happening on the ad creativity part, it's also happening on bidding, and reporting, et cetera.
Joel: Okay. I can understand that. Actually, I have a question, how often do you run the script and how much time do you take to collect the data?
Gianluca: All right. So, we are collecting the data at 7, 30, 60 and 90 days, if I recall correctly. It depends on the size of the volume, right, that you’re getting on clicks. So, it really depends on the budget, investment, the industry, et cetera. But, most likely, we're running the script on a daily or a weekly basis. And, refreshing the bid on a weekly basis.
And, in terms of data collection, again, you wouldn't go too far in time, probably more than 90 days ago. Then, probably the market conditions are changing, so this is something you want to take in consideration.
Machine Learning and Adwords
Joel: Okay. Good answer there. I actually have more questions coming in. By the way, Natalie, Mark, if you have any input on this, 'cause I know you guys have a lot of experience as well.
Natalie: Yeah, definitely. Kind of going back to that initial question around Google shifting a little bit more to machine learning. And...I think what I'm most excited about with kind of the shift of focus is that it allows us as marketers to focus on things that are going to be a little bit potentially more impactful, more interesting, a little bit more innovative, instead of going and manually calculating bids every single time. Running a script that will help automate a lot of that manual work allows us to be a little bit strategic in what we're doing, 'cause that definitely seems to be where advertisers are wanting to go.
Mark: Right. Definitely, there's a lot of opportunity for Google automation, particularly in those segments where there is minimal data, but we talked a lot about it's very difficult to make a conclusion about conversion rate, or what this click value can be, if I've never bid on this keyword, or I'm not getting a lot of traffic from this. Google does have additional insights about that kind of traffic, and why you might not have additional data on that, that can guide those decisions for a lot of those long tail, or those low volume keywords.
So, even where I would love to sit here and pretend that I know everything about everything that is bought and sold online, Google would like to say the same thing, but they're much closer than I personally am. And so, the decisions they're making are a little more intelligent than the ones that I might necessarily make.
Joel: That is true sometimes, but I kind of find that there's always some instances where you still have something unique, that they haven't necessarily figured out. And also, for example, a lot of their machine learning bidding algorithms are based on trends. It based on the assumption that what has happened will continue to happen. Well, that kind of breaks if something let's say, a big holiday comes around.
For example, right now, in the northeast, sorry, in the United States, there's this big, big cold snap. User behavior is different. And, let's say your servers are down for a day. It might work better for you if you take back control and do some manual bidding until Google history becomes stable again.
Mark: That's a problem that you're going to hit regardless of whether or not you trust Google as your source of truth, or if you trust your own data as a source of truth. That, let's say, Lindsay Lohan goes and does something with your product or service today, no, there was no way that Google could have predicted the actions of that particular thing. But, it is going to change search behaviors, and it's going to change consumer behaviors because she does x, y, and z in an Instagram post. And, that's going to change the search volume and the search interest, and the customers who are searching for you and buying from you online.
But, how are you reactive to that? You certainly lose some options as you trust a faceless machine to automate this for you. But, similarly, unless you know everything in the world about what Lindsay Lohan or the celebrities, or the weather, or politics, or anything going to factor into your campaigns. It's very difficult to sit here and say that I'm better off with 100% of control, 100% time.
Natalie: Yeah, I think this is a very classic kind of argument we as paid search marketers have, right? Is wanting to have control versus understanding that Google does know all, in a way. And, a way I tend to go about it is kind of weighing my options of where am I going to have the biggest impact.
So, am I going to have the biggest impact by executing manual bids and potentially squeezing out a little bit of additional revenue or conversion, or whatever it may be? Or, am I going to be able to make a bigger impact by doing a creative analysis of my display campaigns, and optimizing that?
Kind of taking things that I can't allow to be machine learning. And, focusing a little bit more on that versus doing some of the manual things. I think this is a battle that we all deal with, but that's typically how I try to prioritize my task or decisions, is just basing on where I'm going to make the biggest impact.
Gianluca: So, back to the, I guess, philosophical question, control versus power to the people, yeah, I think it's just nice to have the option that you know, if you want, if you really, really want, and you have time to spend in bidding, you can control it.
Introduction to AdWords Scripts
Joel: Okay. One thing we promised people, by the way, is that they're going to leave here with knowledge on how to write their scripts. So, I have a question regarding that, it's from Irina, she's asking what language is used for writing the scripts, where is better to start if she doesn't have any knowledge of programming and is willing to learn and write these scripts?
Gianluca: Sure. I personally learn by going on Stack Overflow, copy and pasting things, and failing and taking hours, and then I hire people that are much better than me, so thank God.
Another fantastic resource to start diving into scripting is the Google Developer Forum. And, the Google Developer Ad Center. So there, there is a bunch of scripts that are off the shelf, with instructions on what you need to change. And, it's really not that daunting … You just need to change a couple of lines and that's it.
Natalie: Yeah. I will definitely agree with that. I am not, by any means, anywhere near being someone who can understand coding or programming. One of the ways that I started implementing scripts was using the resources that he mentioned, but starting off with scripts that didn't make changes to my account. So, they felt a little less scary. Looking at how these start to execute, and then once I can see I can implement something without blowing everything up, then start implementing things that are actually making changes. So, yeah, those resources are wonderful.
Joel: Gianluca, you're into automation. You're helping us out here ... Do you do any other automation?
Gianluca: Yes... I think, a very, very exciting thing that we did in the last couple of quarters, was doing a much better job of automating the SDR. So, the process of identifying the queries that we're getting, and trying to isolate queries that deserve to be moved to a dedicated AdGroup, and then queries that are actually burning our traffic. And, a nice way to do that is probably to aggregate these queries. There are different algorithms that you can use in order to see if you're making the same mistakes across different AdGroups.
So, automation is much better than human because it allows us in this specific case of finding the same mistakes across different AdGroups. As you know, SDR is quite boring. So, we're very excited we got to get rid a little bit of that.
Closing Advice on Automation and Bidding
Joel: Okay, great. We are running a little short on time. Before we go, I would like all of you, I mean, each one of you, if you could just give us one piece of advice regarding anything related to automation or bidding.
Gianluca: And, I guess my piece of advice on bidding would be to challenge the assumptions that you sometimes are given in the brand book, in the best practices on the Google Ad Center. There are sometimes great but written for SMBs. And, not super sustainable and scalable for any other business. Challenge what you read by testing it.
Natalie: Yeah, my piece of advice would definitely be to weigh the impact of your time. So, utilize automation as a way to be more efficient in what you're doing, and to allow yourself to focus on things that are going to be a little bit more strategic, or frankly going to have a bigger impact to the business. That would be my piece of advice.
Mark: I think that the biggest thing when it comes to automation is you've got to be honest with what you personally are going to do in that account. A lot of us are in-house, a lot of us are agency, a lot of us don't do paid search 40 hours a week, or 80 hours a week, 160 hours a week. So, if you've got a million keywords and you've only got a couple of hours a week to do it, you're a better candidate for automation then someone who has 30. So, I'd let that guide your decision towards trusting automation here.
Joel: One thing I want to leave you guys with, 'cause I thought a lot about this, whether it's automatic bidding or manual bidding. In order for bidding to be successful, you need to have two things happen. The first is that, well bidding is based on historical information, historical data. So, the first that needs to happen is you need to have a situation where the future will repeat the past, in a consistent manner. So, for bidding to work effectively, the last few days, the last few weeks and so on, have to be representative of what will happen in the future. So, keep that in mind. It doesn't matter how you're bidding, whether it's automated or manually.
And, the second one is that in order for you set bids like I said, data is key, and you need to have significant statistics to work with, and significant statistics comes with volume. If you find that you're volume is very, very, very, very thin, you might want to cut your targeting a bit, so that way you can focus your budget on fewer elements so that way you have more actionable stats to work with. So, sometimes less give you more. Fewer keywords in an account give you more actionable statistics, so you can bid more accurately.
Gianluca: Thank you for having us.
Natalie: All right. Thank you.