Yuma 4×4

Media and Communications

Automated Keyword Bid Management for Google Ads

Automated Keyword Bid Management for Google Ads


– If you are running more
than one AdWords account, and I’ve got a free script today that automatically bids on your behalf and saves you a tonne of time and energy having to manually bid yourself. (upbeat music) Okay so what’s this script all about because Google has got Smart Bidding now like Target CPA, Target ROAS, and so on. The thing is Target CPA
in the Smart Bidding used to be pretty awful back in the day. It’s improved a lot but it still relies on accounts having a lot of data,
a lot of conversion data. So if you are not getting at least two three conversions
per day per campaign, we found that Smart
Bidding really struggles. So this is a backup to that, or you can use this purely across your campaigns to control all your bidding. So let me show you what it does. Essentially it allows you from a single sheet Google Doc to control every single
account in your MCC and every single campaign. You can be as granular as you like. There’s essentially no limitation here. So let me show you the script. So if you’ve not used the Script before, it’s quite simple. All you do you head over to your MCC, you go into Tools, you go into All bulk actions, and then on the left-hand
side you have Scripts, click the blue plus button, and I will just copy the script, and as Google decides to take ages to load, 100 megabit connection here, that’ll do. So you literally paste it in here. And the beauty about this script is there’s one thing to change, and it’s this, it’s just the actual link to your Google Doc. And I will share a copy of the script in the link below if you’re watching the video, and a copy of this Google sheet as well. So all you’ve gotta do
is literally copy paste. And then you authorise this
but I’m not gonna do that now. And then there is a control sheet which is literally this sheet. So I will explain this in detail. I’ll just run you through
what’s going on here. But the beauty is you can
actually preview this script which will give you an output here in this log sheet. So you can actually preview
stuff before it runs. You can also turn things on and off. But let me show you, so essentially that what
this script is doing is checking every single day of your min max bid adjustments, your target against your accounts and campaigns. So for example here you
put your account ID in, I put two in here as examples just to show you what’s going on. But you put your account ID here, account name is for your
reference of course, and a manager email if you want to get reports from this each day, and then run the script, yes or no. So you can literally put all
the accounts down this column, and you can have the account
in there multiple times, so I could have this account
in here three times if I wanted because I wanted to run bid adjustments against three separate campaigns. So let’s assume that
we’ve just got this one campaign, I beg your pardon, this one account, and we are literally running
it against everything. So there’s an inclusion
here and an exclusion. So you can include just the campaign that’s called, I don’t know, yellow, and what that would do is only run on campaigns that have yellow in their name, so you don’t have to put exclusions in. Or you may put for example
brand exclusion in here, and then it will run against all campaigns that don’t
have brand in them. And then we’ve got a lookback period, so number of days, all time, or last number of months. And here I’ve set it to the past 31 days, you can do 60 days, three months, whatever suits your or
this particular account that you’re dealing with. And then your target is set here, so your Target CPA or your Target ROAS. Obviously only set one, so you either have a CPA, whatever that may be, or a Target ROAS of five to one. That’s pretty straightforward. Now, so this literally, this one line now would control this entire account’s bidding, every single keyword. And if you run this script every single day which I recommend, it would bid every
single day to that target based on the min max bids you set here. And then I’ll run through
the segments here. So what happens if let’s say you’ve got a long campaign that’s 50 quid or 50 euros dollars
whatever in Target CPA, but another one is 22, well, it’s pretty straightforward, so you literally, and by the way I’ve
coloured coded this line just to make it easier to see, you would replicate that account again, and then here you’d exclude the campaign that’s, sorry I don’t know, it’s
called red, whatever, and this campaign is called yellow. So that Target CPA would only
run against campaign yellow. And I don’t wanna put red
and then yellow, sorry, duh. That makes more sense. And so you’ve got
excluding against yellow, so that would run against everything, and that would only run against yellow. And then you could set different bids here or whatever they may be. If you notice that I always put a one, so instead of two pound
50, or $2.50 on a bid, I always put one and that’s
because of how ad rank works, it puts an extra penny
or cent on the auction, so I like to sort of try and game it and have another cent
penny on the auction. If you have the same ad rank, I can’t just go and bid
ad rank as someone else, then people are, I’m going off script here, but people, no pun intended, a line to rounded numbers
so two, 2.50, 2.25, 2.75. It’s like a Fibonacci thing. So I don’t, I like to be a bit different. Anyway, so you set your min and your max. Now this is important, default min clicks. So essentially this is
your conversion rate. So if your conversion rate is five across this or all these campaigns, then you would set a minimum of 20 clicks. So essentially 5% is 20 clicks. And what that’s telling the script to do is to wait til 20 clicks are accrued before it does a bid adjustment. So it gives the conversion a chance. ‘Cause if you’re updating
bids prematurely, it’s just gonna be aggressive. And essentially if you
bid every single time, there’s a click, well, unless
you get 100% conversion rate which you don’t ’cause no one does, someone’s gonna put a comment in there, certainly 100% conversion rate, we need to check their tracking probably, then this is to stop that issue. So this is where you may have more, again more than one campaign. In fact you might have hundreds of campaigns under this one account because they’ve all got
different conversion rates. What I would do is, say it’s 5% conversion rate, so we got 20 clicks, 20 out of 100, I do plus one all the time, so it just gives it a little room for, a little wiggle room there. And then again you can
do as many as you want, or your key campaigns, eight to 20, so put your top campaigns in here with their specific targets, CPAs ROAS, min clicks based on their conversion rate, min max is if they’re different. And then we have the segment bidding. So this essentially says what these three states, so there’s neutral, so we are on target, so essentially are we hitting this target or this target, whichever one you’ve set? How far away are we? So we’ve got three steps negative, three steps positive, so here I’ve got 9% but it could be 10, it could be 15, 25%, this could be 10, 15, 25%. So what that is saying is if the target is within north to 10% or north, sorry, north to
minus 10% of the target, we don’t make any bid adjustments. If we are 10% ahead of target, so we are beating this, our Target CPA here is 50, so we’re hitting 45 or a bit under, so we’re good, then use this bid adjustment here. So this Ahead/Behind segment corresponds to the bid adjustment here. So what that is saying if we’re ahead, then we’re gonna bid up 2% here. And again you can change
this to whatever you want, 1%, you can be cautious, 2% 3%, you can be really aggressive, 10 20 30% bid adjustments, you can mismatch so they’re asymmetrical, so you can be heavy bidding up or heavy bidding down with just nibbling the bid adjustments up but really aggressive
bid down if you so wish. So if we’re 10%, we’d bid at 1%, if we’re 15% ahead of target, we’d bid up 2%, and so on and so forth, and that works in the opposite direction. So essentially it’s a
bid management script that helps balance the
bids against your targets per campaign if you want
or it’s just account-wide, against a time period, and it sets a min max bid. You can pretty much do most of this kind of with automated
rules within AdWords but it would be a lot of work. Now imagine if you’ve got
20 accounts to manage, and I don’t know, you split
out each account by five 10 20 campaigns, you’re gonna have a hundred rows in this spreadsheet if not more. But once you’ve done
it, it’s set and forget, and then you can just make
minor tweaks as you go. And then finally on the right-hand side, I’ve run a preview this morning. So it does a log sheet, and the log sheet is really helpful, it gives you a date, campaign, ad group, keyword, match type, cost, et cetera. So it gives you all your metrics, and then it gives you your target, so what the current CPA is the target here, it’s not using ROAS. The previous bid, the new bid, and the change. So it logs everything for you. And if you really wanted to, you could chart this
and this and the other, or do try analyse, that sort of thing, probably a bit over the top because you’ve got log here for reference. And of course if you ran the preview mode, it wouldn’t make these changes, but it would document
what it would do for you which is a good idea to test that. And then it obviously
logs the last execution and the number of changes, and turn the script on and off here if you wanted to do
simple testing or whatever or just experiment. And that’s the thing, you
could run an experiment here. So if you called your, if you don’t trust the script, or you just wanna try it out, you could literally call, create an experiment of the campaign and put EXP in the name for example, and then you’ve got Campaign Contains, and it will only run against that experiment that’s
got EXP in its title. So, yeah I’ve run this daily as well. Every morning between six or seven in the morning is probably best ’cause then it allows
yesterday’s data to catch up, and this will literally
run seven days a week for you across every single account in your MCC, every single campaign if you wanna be really granular. And it works, it keeps the bids nice and consistent, controls your CPC. It doesn’t mean you don’t ever have to do any work of course, but it does 95% of the
bid management for you when you can’t use Smart Bidding. So this is a super powerful script. It could save you a shedload of time especially if you work in an agency or with multiple accounts. It’s not really appropriate for single accounts really. It would mean creating an MCC to run your single account under. A couple of caveats, so, one thing I would probably do is keywords ebb and flow. So keywords will perform and underperform, over-perform, be neutral week in week out, and a really good keyword this week may not be a great keyword next week, just the ebb and flow. And with any bid management, your keywords can drop off the first page, and that can cause you to spend
less conversion as a result. So that is one negative to any kind of bid management or
keyword bid management. So there’s a couple of
automated rules you can run which I should probably show
you to make life easier. Okay so to safeguard against keywords falling off the first page because the bids are reduced so much, you can create a simple automated rule. Again we’re in Bulk Actions
and Rules, create a new rule. This is a change keyword
bids, all enabled keywords, increase bids, and then by percentage. Now I’ve done 15% here as an example. Five, 10% might be not enough ’cause this is when keywords drop off the first page. So 15 20 25% that’ll push. We have enough limit that is comfortable, and the simple condition of status below first page bid, frequency once a week for busy account, bi-weekly would be ideal, but unfortunately you
don’t get the option. So monthly for less busy accounts. Looking at the previous seven days data. So essentially what this is doing, is it’s safeguarding us against losing lots of keywords
off the first page, and also when you have ebb and flow, so this is seven days
so this would be a very fast account, lots of
clicks, lots of spend, where keyword bidding can push keywords off the first page quite
easily and quickly. Most of our accounts can probably go based on a monthly, and a frequency of monthly, and then previous 30 days data. So these push keywords back up, and of course we might spend again. But if they’re weak, you might want to then also
create another automated rule that looks at pausing a keyword when it’s above your Target CPA. So you’ve then got automated
bidding using the script, automated pushing back to the top to give it another chance if it’s a keyword you care about like we’ve got on the screen here, and then finally and thirdly, another automated rule to, say, well, if it’s over my
Target CPA or Target ROAS based on the past 30 days
data or however long, I want it pausing. But again another caveat with using anything around pausing based on a target, give it wiggle room 50
100% over your Target CPA so it gives it chance
to go the ebb and flow, but if it does keep pushing
100% beyond your target, the keyword gets paused, and then this is where the
human interaction comes in ’cause each month you should review what’s been paused and what’s been tweaked to make sure they’re not
keywords that are important or more frequently to be honest with you, ’cause different times in the year, different keywords can
perform and underperform, ebb and flow as things
do in an average account. It’s not all automated and a free lunch. So hopefully you found that really useful. Hopefully you’re gonna put
that script to good use in your MCC and to
manage all your accounts. It should save you a lot of time if you can’t rely on Smart Bidding, and even if you do rely on Smart Bidding, you could even try it and
then experiment against it. So please if you enjoyed this, do leave a like, it helps the video. Do consider subscribing
if you haven’t already. And also please drop a comment
if you have any questions or just some feedback really
if you’re gonna use it. If you do use it in the future,
drop some comments in here. And I just realised at
the start of the video, I didn’t even introduce myself, so if you don’t know who
I am which is probable, you’re thinking who is
this guy with the specs on. I’m Ed Leake and I’m from AdEvolver, and thank you for watching this video. Until next time. Hit the like, subscribe. And I’ll see you on the other side. Or something like that. Cheers. (soft music)

8 thoughts on “Automated Keyword Bid Management for Google Ads

  1. Great video Ed. My one question would be why set a minimum bid? From what you said your script takes care of increasing / decreasing the bid adjustment, and a separate rule is created to ensure the bid increases if the KW drops off the first page?

  2. Amazing video and script Ed! Just one question. You mention the script might not be suitable for people who are only managing a single account, is this just because you would have to create an MCC account to implement the script?

  3. Thanks Ed, loving your channel!

    I have a few questions below, any help would be truly appreciated 🙂

    1. How did you get to 20 default min clicks based on a 5% conversion rate?

    2. As a starting point, what bid increases would you recommend for £50 target CPA?

    3. Would this work with ECPC or is manual best?

  4. Hey! Thank you so much for this. Question though. When I try and preview the script I get an error message that says: ReferenceError: "MccApp" is not defined. (file Code.gs, line 22)
    Line 22 in the script says: MccApp.accounts().withIds(ids).withLimit(50).executeInParallel('runRows','callBack',JSON.stringify(SETTINGS));

    }
    Are you able to help troubleshoot? Thank you!

  5. Hi Ed,
    Last week i posted a question but unfortunately i can't see it anymore. Probably something went wrong. Would you mind checking the below?
    I have the script in the MCC, made a copy of the spreadsheet, copy/pasted the url in the script, copy/pasted the Account ID in the spreadsheet and set basic rules such as:
    Date range: LAST_N_DAYS + N = 31
    campaign contains:
    Target CPA: 50
    Default min clicks: 1
    Min bid: 0.01
    Max. bid: 1

    If i run the script with these settings it logs after 3 seconds: "03/06/2019 10:41:05 *ACCOUNT NAME*– getting settings…
    " and then finished without any changes or other logs.
    What's going wrong?
    also in the video you show the Log sheet URL, where can i find that or how should we set that up?

Leave comment

Your email address will not be published. Required fields are marked with *.