Repetitive tasks can take up an inordinate amount of time and energy for in-house PPC managers and drain the profits of an agency.
One of the best ways to deal with these is to start automating these repetitive tasks using Google Ads Scripts.
Google is continuing to invest its time and effort into scripts. It has recently announced a new version that will make it easier for PPC account managers to automate and optimize their campaigns.
Now that we know this technology is likely to remain available for the foreseeable future, it’s definitely worth your time to try out some scripts.
I’ve been sharing scripts with the advertising community for a long time and by now there are hundreds of free scripts that anyone can use by simply copy-and-pasting some code into a Google Ads account.
But with so many free scripts to choose from, analysis-paralysis may set in.
Following on from my post about ways to get going with automation today, here are five PPC tasks that are great for automating with scripts. You’ll also find specific scripts that should be at the top of your list to try.
Many of the ones included in this post were written by myself, my company (Optmyzr), and FreeAdWordsScripts.com (a site we manage).
Also thanks to Daniel Gilbert, Steve Hammer, Martin Roettgerding, Derek Martin, Sean Dolan, Russell Savage, Vincent Hsu, Nils Rooijmans, Nathan Byloff, and all the others for all the open-source scripts you provide, many of which are on this long list of free scripts.
1. Budget Scripts
Because automation done with scripts doesn’t usually have a nice user interface (unless you use Enhanced Scripts), they don’t lend themselves particularly well to automating tasks that require a lot of complicated settings and human oversight.
Some of the best things to automate are tasks where the decisions are cut-and-dry.
A Script for Pausing All Campaigns When an Account Spend Is Too High for the Month
Luckily, a lot of budget optimizations require only a simple binary decision.
For example, one of the most straightforward optimizations is to check when an account has spent more than its overall monthly budget and to pause all active campaigns until the next month starts.
That’s a great optimization to automate with Google Ads scripts because it has one simple input: the maximum monthly budget.
It requires no fancy UI for confirming the changes it makes. It just needs to pause campaigns, label them, and send an email with the summary of what was done to the account owner.
(Note: This particular script isn’t able to pause shopping campaigns, video campaigns, and experiment campaigns so it may not be right for more advanced accounts.)
A Script for Setting Your Own Overdelivery Limits for Google Ads Campaigns
If you’ve been frustrated at Google’s change to how much over-delivery a campaign can have, you can use a script to check the daily spend and how it compares to the daily budget.
Once it exceeds the allowed spend by some factor, like 20 percent, the campaign can be automatically paused for the remainder of the day.
(Note: Because a script can be automated to run at most once per hour, keep in mind that your campaign could continue to run once it exceeds its spend limit for almost another 60 minutes so set your targets a bit lower than what you really want.)
A Script That Helps You Spend Your Entire Budget
Sometimes spending too little is just as bad as spending too much, especially if you’re an agency getting paid a percent of media spend.
This script from Google automatically increases your daily budget to help you compensate for slow days when you’re trying to hit a certain target for the month.
(Note: Optmyzr has a variation of this script which accounts for historical day-of-week patterns so that we’re setting higher budgets for days of the week when we know there is more opportunity.)
2. Alerting Scripts
Constantly checking accounts can be a pain, but it’s necessary if you want to know quickly when things aren’t going as planned.
While you might mind if your boss told you to check accounts every hour, including on the weekends and at night, an Google Ads script excels at this.
And because Google Ads Scripts can access all reports from Google Ads, even the stuff you don’t see in the Google Ads UI, they can even do the type of analysis that humans can’t do.
A Script That Detects Anomalies at a Local Level
This script will let you know if your PPC is behaving strangely in certain locations, like when a new local regulation is causing users to stop searching for what you sell. It takes historical data from several weeks and calculates the average performance for each combination of day of week and location where the ads are served.
It then compares current performance to expectations, for example on Wednesday it compares yesterday’s performance in Tallahassee to a typical Tuesday in Tallahassee. If the difference between the two exceeds your threshold, it lets you know.
And it does this automatically for every location where your ads are serving, no matter how many.
A Script That Reports When Keywords or Product Groups Spend Too Much
This script does something quite simple: it looks for product groups or keywords that have spent more than a certain amount with fewer than some conversions over a given date range.
This can be done in Automated Rules, but those can only trigger once per day.
That’s simply not frequent enough when dealing with high-spending accounts. So this script can do the same task 24 times a day.
A Script That Finds Anomalies in Performance
While the previous script looks at the lowest level elements of an account (keywords and product groups), this one looks at the account level to find unusual patterns.
This Google script compares normal performance at a given hour of the day for each day of the week and triggers an alert if the current metrics deviate too much from what’s expected.
A Script to Monitor Audience Search Behavior
Search behavior is constantly evolving. Users start using new phrases to look for what you sell while other search terms fall by the wayside.
This script helps you monitor these changes in behavior. It creates a report in a Google spreadsheet with search terms that have a significant increase or decrease in impressions.
An increase in impressions can indicate new opportunities for growth by adding the search terms as new keywords with their own ad text. A decrease can mean it’s time to reallocate budgets or revamp your strategy.
A Script That Monitors Google Grants Account Health
Google Grants accounts have their own policies and rules and a script can make it easy to be alerted as soon as one of these accounts deviates from Google’s expectations.
Issues that may not be a direct concern in other situations, like a lower account-level CTR, can trigger policy violations in Grants accounts so it’s worth keeping a closer eye on these accounts to protect the free ad budgets Google has given you.
3. Ad Maintenance Scripts
Writing great ads still takes some human intuition about what message may resonate with the target audience so ad creation is not typically something that lends itself well to automation.
However, once your ads are built, there is a lot of work that should be done like removing losing ads, updating special offers, and checking for broken landing pages. All these tasks are perfect for automations with scripts.
So here are some of my favorite scripts for maintaining a clean, well-optimized set of ads.
A Script to Delete All Disapproved Ads in an Account
Virtually all advertisers run into approval issues with Google. If you’re anything like me, you tend to ignore some of these disapprovals because you know there are still other active ad texts in the affected ad groups.
But over time, these disapproved ads can become annoying because they generate warnings, and generally clutter up the interface.
And, in some cases, I’ve even seen disapproved ads that were several years old cause issues because they were violating a new policy and Google was assuming that since the ad was not removed, it might still be something the advertiser intended to run at a future time, and the whole account got suspended.
This is a particular concern now that Google has a 3-strikes rule for policy violations.
A Script to Fix Capitalization Error in Ads
Going a step further than simply removing disapproved ads, you can also install a script to deal with basic disapproval issues, like when an ad is rejected by Google for using excessive capitalization.
This script looks for disapproved ads and resubmits them with proper capitalization.
4. Bid Management Scripts
Bid management is all about math, statistics, and predictions. So it’s no surprise then that letting the machines crunch the numbers is a great automation.
There also has been a strong move towards automated bidding from Google, especially smart bidding.
Luckily there are simple bid management scripts, too. So let’s start with those.
A Script to Bid to Impression Share
This script makes you gradually reach your impression share goals. It searches through your keywords and finds the ones that need adjustment.
Then it raises or lowers their bids in order to affect how often they show up in search results.
A Script to Bid by Weather
The weather-based bidding script is a classic example of the power of scripts. But even if you don’t care about the weather in your business, it still illustrates that scripts can be connected to proprietary business data or data outside of Google Ads.
And if the weather does matter to you, try Google’s bid by weather script.
A Script to Test Responsive Search Ads
You may have heard conflicting stories about the effectiveness of Responsive Search Ads (RSAs). On the one hand, you have Google telling you that it will help you get better results and should be considered seriously. They’ve even gone so far as to remove the button to create an expanded text ad from the main Google Ads interface.
On the other hand, you have experts saying RSAs are bad for conversion rates.
Ultimately, as with almost everything in PPC, there is no one right answer. Results will vary and depend on a lot of other factors.
So the best we can do is to measure our own accounts and make optimization decisions based on what we find. This script offers one way to tackle that — it measures if RSAs help or hurt your account.
5. Inventory Scripts
Scripts won’t write any award-winning ads, but when all you need is a quick account buildout from structured data and the ability to sync ads with changes in pricing, scripts are perfect.
A Script to Build out an Entire Campaign From Your Spreadsheet
The classic use case I see a lot is automotive advertisers who want to build out ad groups for all the vehicles they sell.
Because the ad groups follow a fairly well-defined template based on attributes of the cars for sale, this is a perfect automation to build with a script.
All the data about what’s for sale goes in a Google spreadsheet, and the script follows the template for generating ad groups, ad texts, and keywords.
The result is a fully built-out campaign in minutes rather than hours.
A Script to Update Your Ads With the Latest Prices and Discounts
Once you’ve created a campaign based on inventory, it makes sense to deploy ad parameters or ad customizers to make sure the ads show the right discounts and prices.
This is best done with a script or an API solution because ad parameters are not editable in the Google Ads UI and updating business data for customizers manually would likely take as much time as if you did it directly in the ads.
Ad scripts are here to stay and are an easy way to start automating more than the average user who relies entirely on the Ads UI.
This can help you get better results than the average advertiser without having to make a costly investment in an API solution.
The ones we covered here today are some of the best to get started with to let you get first-hand experience with the power of scripts.