Whether you DIY for your small business, head PPC for a Fortune 500, or manage 25 client accounts at your agency, Google Ads scripts can be a big help. In this article, I’m going to provide you with what I believe are the most useful Google Ads scripts.

Selecting the best scripts wasn’t easy and was mostly based on where I see the biggest potential time savings and/or opportunity to increase campaign performance.

I’ll explain why I believe each script is so useful, and I’ll let you know where I feel there is room for improvement.

I am aware that 4 of the 10 Google Ads scripts are from Brain Labs Digital. What can I say? They do great work over there.

1. Search Query N-Gram Performance Script  – Brain Labs Digital

This N-Grams script inspects your search terms data and produces a detailed report on how different word combinations perform. Importantly, the script doesn’t rely just on the combinations provided in the search terms report but builds its own combinations (N-grams) for much deeper analysis.

The resulting report can help you discover new keyword ideas to implement in your campaigns. Likewise, it can identify poorly performing combinations to enhance your negative keyword strategy.

My big knock on this script is the very cumbersome installation. It would be great if a manager account version existed that could be deployed on select accounts as needed.

2. Find Poor Performing Ads – Karooya

This ad split testing script outputs your search ads (RSAs and ETAs) per ad group and highlights winners and losers. This allows you to easily update/replace ads where needed without having to manually review every single ad in your account.

The script includes many configurable settings such as reporting date range, test confidence level, whether to send email notifications and more. Most importantly, the script measures conversions/impression, which is more inclusive than just looking at conversion rate or cost/conversion. Here’s a good article from Adalysis about conversions/impression which explains why you should be using this to determine winning and losing creatives.

ads split test

The script also works for Google manager accounts and has been saving my agency many hours of work every month for years.

It’s a bit uncertain how Google Ads pros are going to handle the sunset of ETAs. Whether we end up running single RSAs or replacing our ETAs with “pinned” RSAs will be interesting to see. As of yet Google hasn’t provided any clear recommendation. But it’s nice to know that if you choose the latter, that this script will continue to work just fine.

3. GMC Disapproval Checker Script – Brain Labs Digital

Brain Labs script for shopping campaigns scans your Merchant Center feed for disapproved products. If the percentage of disapproved products exceeds your preset target threshold, an email notification is sent out. This can be an absolute lifesaver as you may be oblivious to major feed issues until you notice your sales tanking days later.

Once you install the script you can set it to run daily and rest easy that you’ll be informed if your feed health is going sidewise.

An idea to enhance this script would be to also report if the number of products decreases suddenly. This would cover cases where products expire or are otherwise removed from the feed. In the meantime, we love and use the script for all of our Google shopping clients.

Note – the current version of the script (published by Brainlabs as of May 5th, 2022) isn’t working. A quick fix is to replace this line of code as follows:

if (product[‘destinationStatuses’][0][‘approvalStatus’] == ‘disapproved’) {

to this…

if (product[‘destinationStatuses’][0][‘status’] == ‘disapproved’) {

4. Weather-Based Campaign Management – Google

The splendid weather-bidding script direct from Google modifies bids based on the weather report. Virtually any business offering weather dependent services can benefit from this script. Do you fix leaky roofs, offer indoor go-karting, canoe rentals, have an outdoor patio? You get the idea.

The concept behind this script is to increase bids in weather-friendly geos when people are more likely to engage for your services.

The script works based on weather parameters you set in a Google Sheet including the general conditions (sunny or rainy), temperature range, amount of precipitation, and wind speed. Next, you build out your weather locations and matching geocodes. These are the regions where Google will fetch the weather information from.

Lastly, you create a list of the target campaigns, bid modifier, and whether to match geo targets from your weather locations list, or to apply to all target locations in your campaign. Once you’ve got everything configured you simply set the script to run on a schedule, I recommend hourly.

The only downside of this script is that Smart Bidding ignores location-based bid adjustments. Therefore you’ll have to stick with old fashioned manual or ECPC bidding for now if you want to use this one.

5. Google Display Placement Analyzer – Derek Martin

There are numerous scripts out there that facilitate “analyzing” or identifying poor quality display placements. Most of the scripts can easily be replaced by a bit of manual placement filtering. Basically, you just look for placements with very low CTRs (poor quality/relevance) or very high CTRs (basic click fraud schemes), or sites that convert way too often (sophisticated click fraud schemes).

But this placement analyzer script is different.

Instead of looking at Google Ads performance metrics, the script pulls in SEO metrics from Moz. By looking at page authority, domain authority, # of backlinks, and age of the site, you can easily determine if this site was created recently.

This highlights any sites that are likely set up expressly for click-fraud and facilitates removal. The only caveat with this script is that you must have a Moz account to run it. We’d love to see additional integration options such as with Ahrefs and SEMrush. And, since we’re a SEMrush agency, we may get around to building that functionality ourselves.

6. Tracking Template Automation – Digishuffle

If you use third-party UTM, ValueTrack, or custom parameter tracking this tracking template script might be great for you. We routinely implement tracking templates for our clients, and typically this can be done in a snap at the account level. More often than not, we’re using this to pass the {keyword} variable to CallRail or another tracking tool.

But say you want to track your CRM leads through to closing and report on what campaign led to the sale. Google already facilitates passing the campaign ID as a ValueTrack parameter, but you cannot pass the campaign name. This is also true for ad groups.

This can make reconciling your reports messy and time-consuming. Therefore, you need to add tracking templates for each campaign. Want to track ad group names too and have hundreds or thousands? I think you’re seeing the work add up here.

Implementing this script will automatically add the appropriate campaign or ad group names in your custom tracking templates for your entire account. And you can selectively tag campaigns using keywords.

7. Auction Insights Script – Brain Labs Digital

The auction insights report in Google Ads can be really useful for understanding what’s going on with your competition. But the report only offers a static snap-shot in time with no easy way to see trends over time. Wouldn’t it be great if you could visualize how you and your competition have trended over the past 3, 6, or 12-months?

With this auction insights script that’s exactly what you can do. We’d love to have a manager version of this script for our agency, it’s on our internal (but admittedly lengthy) to-do list.

8. Display Excluder – Ads Scripts

This is by far my favourite display placements management script. Unlike many others, it allows you the flexibility to preemptively block irrelevant sites. In addition, you can monitor your placements, identify unwanted trends, and action them by updating the script.

Ads Scripts placements exclusion script automatically finds and blocks display placements based on keywords you include and/or TLDs (domain extensions) you exclude.

In terms of keywords, you can enter as many as you wish. All placement domains containing those keywords will be blocked. For example, if you include the word “game” the following placements would all be blocked: games.net, freegames.com, gamerheaven.com. Want to block all email app placements in one go, including Gmail? Add “mail” and you’re off to the races.

With respect to TLDs, the script comes with a default list of allowed domain extensions. Most of the major ones are there but feel free to add others you feel are relevant. For example, .ca isn’t listed, if you advertise to Canadians it’s probably wise to add that one. Our own best practice is to review existing placement extensions and ensure we include all that appear to be relevant and high-quality.

The script also allows you to set the date range for review. The default is 30-days which should be fine in most situations; any placement that hasn’t run in the past month probably isn’t doing any harm.

Once you have installed the script I recommend setting it to run daily. As this script can cut a lot of placements it’s a good idea to closely monitor performance after the initial run. You may find that you’re suddenly not filling your budget and need to make some adjustments like increasing your target audience size.

9. Bulk Radius Targeting – Optimization Up

If you run national campaigns for a brick & mortar chain you know the pain of managing hundreds or thousands of radius-based location targets. As the name implies, the bulk radius targeting script will assist you to create your radius targets in bulk.

The script pulls in latitude, longitude and radius info from a Google sheet and applies them to your target campaigns. This can save you many hours of manual data entry, believe me, I know… we use this at my agency for a few clients.

This is also great for situations when you want to evaluate the performance of different radius targets such as 5 km vs. 10 km. You can enter the same latitude/longitude into your sheet and apply multiple radius targets.

10. Automatically Apply Bid Adjustments – Brainlabs Digital

Most of the world has moved on from manual bidding, why haven’t you?

Okay, I get it, there are some situations (or clients) that require you stick with manual bidding. In this case, you are saddled with regular keyword bid tweaking and maintaining bid adjustments across devices, locations, audiences, and more. All of that work will eat into your quality time, and this bid adjustments script can save you by automating most of those adjustments.

The really great thing about this script is that you can set a number of parameters to control which campaigns are included, which adjustment types to make, the date range to review, and more. When this baby is running it’ll almost be as if you’re using Smart bidding.

The script will work for manual and ECPC bidding strategies, although you really don’t need to make any adjustments other than for devices when using ECPC.


These Google Ads scripts and hundreds of others like them, can save you a ton of time and help you boost campaign performance. But like any tool, only use what’s useful for your particular situation. Have a favorite script you’d like to share? Please add it in the comments below.