A lot of people know they should be automating their accounts to improve performance and save time but don’t know where to begin. This article is for you.
I’ve been writing Google Ads Scripts for over 5 years now. This website has existed for around two years. That’s a lot of clients, large and small, in-house or agency. And a lot of Scripts. Based on what we’ve learnt from those companies, here you’ll find a list of ideas (or seeds of ideas) to help get those creative juices flowing.
Automate What Already Works for You
If there’s one takeaway here, it’s that companies who have existing processes in place which they then automate always walk away happy bunnies.
You might have a killer excel formula which you use to update bids. Instead of downloading the data and re-uploading the file you can just ask us to create a version using Scripts. It’s an easy win and a great place to begin.
But Still, Utilise the Power of Scripts!
Once you’ve got your feet wet, you can start to get a bit more advanced.
Building rules on top of each other in Excel isn’t the easiest, especially if you have multiple sets of rules for different types of keywords (beta, alpha and brand, for example).
Imagine if you then wanted to check multiple date ranges to determine an average. Again, it’s getting a bit tricky and time-consuming in Excel.
Those restrictions don’t exist within scripts, the sky is the limit. We can start to think in “in an ideal world” terms.
What You Should Automate
Automating your existing, time-consuming processes should always be priority number one.
However, there’s still a lot of overlap between accounts and with that, trends have emerged. Hopefully, this will help you think of some ideas of your own.
This is one area where just about everyone can benefit as every account needs negative keywords. This is the first area I personally automated using scripts. Partly because it’s time-consuming, but mostly because I found it so boring!
It was really designed just for Shopping Campaigns, but our Auto Negative Keywords script is our most popular. That script adds negatives based on positive keywords. E.g. if we’re looking at your Dog Toys Ad Group you might set it to add negatives if the query does not contain the word “toy”.
I created that after noticing how, erm, creative Google can be with Shopping Queries. That same creativity can be found in their close-match logic.
A few idea seeds:
- Update Shared Negative Lists instead of Campaigns/Ad Groups for easier management
- Have the script “remember” which queries you’ve already checked. If you’ve decided a query is good to go, you could waste a lot of time if you have to keep checking it
- Automatically add keywords based on performance. An obvious one, but a good one. We can create scripts with multiple rules e.g. one for absolute disasters (non-converters which have spent over £X) and potential issues (a low conversion rate).
- N-grams (breaking queries up into words along with their stats) can also be a massive help for finding broad match negatives
- Sculpting. Campaigns and Ad Groups can also be automatically sculpted using negative keywords. Adding live, exact match keywords as negatives to a Broad campaign is one example.
Negative keywords can either be automatically added to the account or first added to a Google sheet for review. The next time the script runs, only queries which have been marked will be added.
This can definitely be wise, but it’s a lot less automatic. You still need to do the work of checking the queries. Things crop up, you won’t always get around to checking the queries and running the script often enough. In the meantime, money’s being wasted.
You could think of the process as:
- We add the negative keywords, preventing wasted spend. They’re added based on rules and filters, so it’s poor-performers only.
- However, any negative keywords added are also added to a Google sheet. Then if you want to “undo” it’s just a case of removing the negative from the sheet.
- Anything removed manually from the sheet in step 2 (i.e. queries you’ve said are okay) are added to the safe list.
It’s the negative-keyword version of a popular UI pattern were instead of being asked “are you sure?” an “undo” option is presented afterwards.
There’s also going to be times when checks aren’t necessary at all, it all depends on how much time you want to save and how much time you need to save. Amazon can’t run many manual checks!
Our second most popular script, an Ad Group builder. It’s great for general building or for creating SKAGs en-masse. Because your query, ad text and landing page URL are all in the same place it’s easy to get a birds-eye-view of the flow and relevance of the journey.
Here’s what else you might want to build:
- SKAGs from Queries. Here’s the Script’s process:
- Grab the best queries based on your filters/rules
- Add the queries to a sheet full of SKAG potentials
- Check off the ones you want creating
- Run the script again, the Ad Groups will be created in your chosen campaign along with Ads and Keywords
- Bulk Uploads. Did you know you could create bulk uploads from Scripts? Because of that, it’s possible to create and edit vast (and I mean vast) amounts of Campaigns, Ad Groups, Keywords and Ads.
- Feed + Templates. Combing a feed full of information and ad templates can be a formidable time-saver, especially when combined with Ad Customisers. Imagine if Ad Groups were automatically created as soon as a new product appears in your feed or merchant centre…magic.
Keeping Ads Up To Date
This is quite specific, but I think it deserves its own section given how ubiquitous the need is.
Via Ad Params and Ad Customisers it’s possible to update text and numbers in adverts. Ad Params can be added and removed. Ad Customisers feeds can be created and updated. There are some limitations, but they’re still extremely powerful.
Keeping prices up to date is an obvious use. If they don’t change too often it’s actually possible via the AdWords Editor. Just remember to go in and update the params every now and then. It’s a lot quicker than changing all of the ads and you don’t lose (well, break up) the stats.
Actually adding the Ad Param/Ad Customiser text is a hurdle, but they can be slowly added along with fallback text before anything is actually automated.
The best thing about Ad Customisers? You can use a single set of Ads across multiple Ad Groups. Just update the relevant text with Ad Group/Campaign specific info.
If you have a lot of conversions, I’ve actually found Google’s own Bid Strategies to be effective. However, I’ll admit they’re not perfect and a lot of people want greater control. There are a few options here.
- Update bids in proportion to a keyword’s performance Vs target. You need to get the dates and run-frequency right with this one, otherwise changes can be a bit hectic.
- Update bids by a % based on performance Vs target. My preferred option. Over target by 10% for 30 days? Let’s eek the bid up 5%. Check the rules in Google Ads, you might not need a script for this.
- Update bids based on external data, for example, stock levels. If somethings low on stock, it might make sense to spend less money on it
- Look at multiple date ranges including what will happen. Look at the last 30 days, yes, but also look at what the next 30 days did over the past few years. Is there a healthy spike in ROAS coming this Christmas? Let’s raise the bid in preparation.
Bidding is a difficult area. It’s especially difficult (usually impossible) to setup a single script to manage an entire account’s bids. Think about it, the cream of the crop can’t be treated the same as the bottom of the barrel. This is where either multiple scripts or multiple rules come in handy.
How keywords could be grouped into multiple Scripts or Rules:
- Cream of the crop. High minimum bids, plenty of room to grow. Maybe restrict changes above X%. We could also target the top of page bid, or ensure Lost Impression Share is below Y%.
- Explorative keywords. Usually broad keywords, the best and worst queries will constantly be plucked from underneath these keywords. You might want to ensure they’re hitting the first page at a minimum.
- Non-Converters. Looking at longer date ranges can help find out if this is a temporary dry spell or a long-term issue. Other indicators of success could be considered, such as bounce rate and time on site.
You might want to pause campaigns, ad groups or keywords when:
- You’ve run out of budget for the month
- The product has run out of stock
- Performance is poor over a consistent, significant period
- The website, or a website’s page, goes down
This is a very popular area, too. It’s not surprising considering how many modifiers there are in Google Ads.
Adjustments are usually set on their performance Vs average performance (e.g. how does mobile compare to the campaign as a whole?). Performance Vs target is also sometimes used, but I’d argue bids should handle changes Vs target.
You could look at:
- Location Modifiers based on external data like household income. This could get really specific, if you sell Dentist’s Chairs you could see how many dentists are in the area and increase those bids.
- 24/7 Bid Adjustments. This script from Brain Labs is pretty legendary in the scripting world. We’ve since had requests for similar, updated versions.
Scripts are also great for testing, as they can change things every day or every week and provide an average.
One of our clients wondered if lowering Mobile Bid Adjustments to -40% was helping.
The stats looked good on the surface, but it’s difficult to be sure with mobile, even after looking at different attribution models.
The Script we set up set the adjustment to 0% and -40% on alternate weeks. The average ROAS across the two weeks (A and B) showed the answer was somewhere in the middle.
Note: A campaign experiment can be used, too. The only issue there is bottom line data can’t be used.
Throughout the world we’ve helped dozens of companies, spending millions of pounds, save countless hours.
In Scripts, Google has provided an incredibly powerful, free-to-use service. Help us help you unleash the potential of Scripts.
I (Charles, the founder) am always happy to talk shop whether it’s over email, slack or on the phone.
For a zero-commitment chat, please get in touch here.