I think you will agree with me when I say, some PPC management tasks within Google Ads can be incredibly boring when you are doing the same tasks over and over.
Surely there must be an easier way.
Well, it turns out you can automate these tasks and much more, such as bidding and reporting.
In fact, you can easily cut your optimisation time in half.
In this post, I’m going to show you 153 Google Ads scripts that allow you to do just that and automate almost any process within Google Ads.
1) Quality Score Tracker by Wesley Parker. This is one of my favourite Google Ads scripts, which allows you to create a dashboard showing your account level Quality Score. This Google Ads script enters your account level Quality Score into a spreadsheet and graphs it, so you can see your score historically.
2) Analyse Quality Score in Detail by PPC Hero. This is a really cool Google Ads script that allows you to analyse Quality Score by breaking down its individual components – landing page experience, expected CTR and ad relevance – to show where you need to improve. Here are some of the charts that the script creates, which show the proportion of keywords in each of the three states (below average, average and above average).
3) Store Account Level, Campaign Level and Ad Group Level Quality Scores by Russell Savage. This Google Ads script provides a similar function as the one that was written by PPC Epiphany, allowing you to store campaign level and ad group level historical Quality Scores, as well as account level Quality Scores. If you have an account full of single keyword ad groups, this effectively allows you to historically map the Quality Score of your keywords.
4) Low Quality Score Keywords Report by Daniel Gilbert. This tool enables you to set a Quality Score threshold, and the script emails you to let you know where the keywords with a score equal or lower to that value are, so you can immediately address the problem.
5) Ad Performance Report by Google Developers. This Google Ads script pulls a report for the CTR statistics of your headline and your advert’s display URL, along with the number of instances that each headline and destination URL are found within your account. The code can also be easily converted to pull this data for the description lines 1 and 2, to see which ones are most effective.
6) Declining Ad Groups Report by Google Developers. This script compares the performance of your ad groups over multiple data ranges to highlight ad groups whose performance is worsening. This then creates a report in Google Sheets that looks something like this, with the performance of the ad group.
7) Mobile Page Speed Report by Google Developers. The loading speed of your website, particularly on mobile devices, is a factor within the Quality Score algorithm, so it is important to ensure that your web pages load quickly. Daniel Gilbert found that when testing the different factors within landing page experience, improving the landing page load speed made the largest impact.
8) Google Ads Account Summary Report by Google Developers. The account summary report is an at-a-glance record of the performance of an entire Google Ads account. Additionally, it sends an HTML-formatted daily email with current account statistics. An account manager could use a similar technique to email professionally formatted reports directly to clients.
9) Search Query Report by Google Developers. This Google Ads script allows you to generate a report of new possible negative keywords from your search query report. The report can be set up to find search queries using a certain criterion – for example, search queries with CTR lower than 1% – so you can add them as a negative keyword.
10) Advanced Keyword Analyser (Match Type, String Length and N-Gram) by Wesley Parker. Use this script to analyse your keywords by match type and keyword string length, and also look at how they perform within n-grams.
11) N-Gram Search Query Report by Dan Giblert. This is another of my favourite Google Ads scripts, because it allows you to undertake very detailed examination of your search term reports. It enables you to see the performance of certain terms within your SQR. So, for example, you can see the aggregate performance of all of the search queries containing the word “the”, for instance.
12) Find the Best Text for New Ads Using an N-Gram Analysis by Frederick Vallaeys. This script analyses the performance of commonly found word sequences to deliver additional insights about historical ad performance.
13) Automatically Put Pivoted Google Ads Data in a Spreadsheet by Frederick Vallaeys. This Google Ads script exports reports from Google Ads into Google Sheets and allows you to automatically pivot-table the data to enable you to more easily glean insights.
14) Kratu Report by Google Developers. This report allows you to see the performance of your clients’ Google Ads accounts based on a number of different factors, such as CTR, conversion rate, costs and so on, and is best suited for agency use. The report is displayed in the form of a heat map, making it easy to visualise.
15) Hour-by-Hour Trends Heat Map by Dan Gilbert. This Google Ads script allows you to see how your Google Ads performance changes hour by hour in the form of a heat map, so that it is easy to visualise. The script has also been updated so that you can see the performance of each device (mobile, desktop and tablet) hour by hour.
16) Device Level Heat Map Report by Daniel Gilbert. This is an advanced version of the script above that allows you to see performance of your account hour by hour and day by day. However, it now has the functionality to segment your reports by device, giving you greater insight.
17) Competitor Report Using Auction Insights by Daniel Gilbert. As the name suggests, this Google Ads script allows you to track your top five competitors over time using the Auction Insights function within Google Ads. The report that this script generates looks something like this.
18) Account Dashboard by Label by Frederick Vallaeys. I am a big fan of using labels for reporting, which is why I really like this Google Ads script. There are several ways you can use this script: you can view year on year performance to see if you are improving, and create new graphs for metrics such as revenue per impression, which you can’t see in Google Ads.
19) Adjective Analysis: Analyse Your Google Ads Search Queries by Daniel Gilbert. This Google Ads script can help you to determine which adjectives are your highest performers by analysing the performance of your search queries.
20) Word Association, N-Gram Analysers Script by Daniel Gilbert. This script automatically analyses account data to produce a report of all the phrases that are associated with your chosen terms. So, let’s say you choose “suitcase”, the report shows you all the fun ways people end up searching for that term, including all your favourite Google Ads metrics.
21) Performance by Match Type and Keyword Length by Frederick Vallaeys. This is a paid script created by Optmyzr that allows you to see the performance of your adverts based on their match type. This is very useful for identifying broad match problems and also for comparing the performance of keywords based on their length, to see if broad match is effective for your account.
22) Automate Monthly Presentation Making by Frederick Vallaeys. Automate the creation of your monthly presentation deck with this Google Ads script that copies data from Google Ads to a Google Slides presentation.
23) Automate Monthly Spreadsheet Reporting by Frederick Vallaeys. This script allows you to create a reporting template within Google Sheets and automatically populate it with data to save you time in your monthly and weekly reports.
24) Track Performance of Close Variant Match Types by Frederick Vallaeys. This Google Ads script delivers a detailed report on the impact of Google’s inclusion of ‘same meaning’ queries in exact match close variants.
25) Enhanced Ad Template Report by Wesley Parker. This tool enables you to see the performance of each element of your ad copy, so you can construct ads using the highest performing headlines, description lines and display URLS.
26) Lin-Rodnitzky Ratio Report by Frederick Vallaeys. This Google Ads script allows you to calculate your Lin-Rodnitzky ratio for your account, which gives you an indicator of how well your keywords and search queries are being managed.
27) Basic Campaign and Keyword Reporting by Russell Savage. This script creates five reports: Campaign Performance Summary for the Past 7 Days, Campaign Performance Month to Date, Campaign Performance for Last Month, Keyword Performance Summary for the Past 7 Days, and Daily Keyword Performance for the Past 7 Days.
28) Automated Google Ads Auditing by Russell Savage. This Google Ads script is based on the Google Ads audit checklist that was published by WordStream. It runs through your Google Ads account and performs several checks to ensure that the basics are all in place, then compiles a report.
29) Automated Google Ads Grants Auditing by Frederick Vallaeys. This tool alerts you of certain potential Ad Grants problems by looking at a mix of account structure requirements and account performance.
30) Quality Score vs CTR Analyser by Derek Martin. See the correlation between the distribution in CTR and conversions against Quality Score with this script, then use the results in your strategy going forwards when looking to improve your Quality Score.
31) Empty Ad Group Checker by Daniel Gilbert. This script enables you to scan your Google Ads campaigns for ad groups that don’t contain any adverts or keywords. It also runs through and checks that there are not too many keywords or too few adverts, and if there are any broad match keywords with no negative keywords to keep them in check.
32) Track Your Google Ads Spend Every Hour of the Day by Daniel Gilbert. The PPC world is always changing and there can be peaks and troughs. This Google Ads script emails you hourly with the current account spend, enabling you to quickly spot if there are any sudden changes, so you can act quickly to fix them.
33) How Fast Does Your Google Ads Data Update? by Daniel Gilbert. If you are using automated tools that work based on recent data, it is important to work out how recent the data within your Google Ads account actually is. In the interface, Google suggests that it may take up to three hours for your data to be updated, but in most cases, it is much quicker than that, and this script allows you to calculate the time it takes for your data to update.
34) Vallaeys Shopping Efficiently Score by Frederick Vallaeys. This Google Ads script checks the efficiency of how your Google Ads accounts are structured and how their bids are managed. It also suggests how your shopping campaigns can be improved.
35) Date Range Comparison by Frederick Vallaeys. This tool downloads reports including account data, campaign data, ad group data, keyword data and ad text data for the two time periods you specify, then combines them into a single Google Sheet that shows the percentage change for each item.
36) Report Google Ads Statistics to a Spreadsheet Hourly by Frederick Vallaeys. This Google Ads script enables you to write your stats for campaigns, ad groups and keywords you choose to a spreadsheet once per hour. You can use this hourly data to make sure things are running as expected and show that spend always picks up later in the day.
37) Export Reports into BigQuery by Google Developers. This script allows you to load your Google Ads reports into BigQuery to perform powerful big data analytics. BigQuery is Google’s fully managed, NoOps, low-cost analytics database.
38) MCC Performance Dashboard by Frederick Vallaeys. This tool enables you to create a dashboard for all of your clients within your MMC account. It allows you to see changes in performance by comparing the performance of the account for a given period against the previous period.
39) Track Expanded Text Ads Performance by Karooya. Use this script to easily track the performance of expanded text ads compared to standard ads. When you run this script, it provides data in a spreadsheet to compare key metrics and also graph expanded text ad versus standard text ad performance.
40) Track Google Ads Script Runs with Google Analytics by Russell Savage. This script allows you to track how many times your Google Ads scripts have been run throughout the day using Google Analytics.
41) Store Keyword Performance Report in Amazon S3 by Russell Savage. This is useful for people managing several accounts and allows you to create and store reports from multiple accounts in the same place.
42) Store Account Performance Report in a Google Doc by Russell Savage. This script enables you to store your Google Ads account performance report within Google Docs. The script then creates the column headers within the Google Sheets document and writes your Google Ads performance in every time the script runs.
43) Make Exact Match, Well, Exact by Daniel Gilbert. Effectively allowing you to reverse Google’s update that included misspellings and close variants in exact match, this script looks at the search queries produced by your exact match keywords and adds any that are not exactly the same as the keywords as negative keywords, to make exact match, well, exact.
44) Flag Non-Single Keyword Ad Groups by Wesley Parker. This script allows you to flag all of your ad groups that contain more than one keyword, ensuring that you keep to a single keyword ad group structure.
45) Save Your Grant Account from Suspension by Daniel Gilbert. This tool is designed to help you identify negative phrases to improve CTR and QS for grant accounts at risk of suspension.
46) A/B Split Testing Script That Allows You to Test Anything by Daniel Gilbert. This script allows you to test Google Ads campaign settings that you are unable to do using Google Experiments. You create two campaigns that are identical, then name one “Control” and one “Experiment”, and the script alternates between the two campaigns hourly. You can then see the results of the test in the Dimensions tab.
46) Rotate Ad Copy to A/B Test by Daniel Gilbert. This tool identifies the best ad in the experiment and shows you how much better your account would be doing if you paused the losing ads.
47) Keywords are Back for Google Shopping Campaigns by Daniel Gilbert. This script allows advertisers to specify the keywords that they want their Google Shopping ads to appear for using a spreadsheet. The script then looks at the search query data for your Google shopping campaigns, and if the keyword is not listed within the spreadsheet, it is added as a negative keyword.
48) ExecuteInParallel on More Than 50 Accounts Using Labels by Frederick Vallaeys. This Google Ads script allows you to overcome the limitation for people running MCC level scripts of 50 accounts, enabling you to run scripts across 1,200 different accounts per day.
49) See If the Same Search Queries Are Appearing in Multiple Ad Groups by Daniel Gilbert. This script allows you to keep on top of your search queries and determine if they are appearing in multiple ad groups. This ensures that if you bid down in one ad group, they don’t pop up in another ad group and continue to waste money.
50) Fill Empty Ad Groups with Ads by Daniel Gilbert. This Google Ads script enables you to fill empty ad groups with generic ad copy. This is only a temporary fix to ensure that you’re not missing out on valuable traffic and is labelled so that you can go back and make it more relevant.
51) Expanded Phrase Match Negatives: A Script for Misspellings by Daniel Gilbert. Here is a script that boosts your phrase negative keyword matching by finding the ones you’re failing to catch due to misspellings.
52) Pause Duplicate Broad Keywords by Daniel Gilbert. This Google Ads script allows advertisers to pause duplicate broad match keywords automatically. So, for example, if you have the broad match keywords “red nike shoes”, “nike red shoes” and “nike shoes red”, it would pause two of them so that there is only one running.
53) Pause Duplicate Ad Copies by Daniel Gilbert. Find duplicate ad copies within your account with this script. It then labels the best-performing ad copy with a label to keep it, and the poorest-performing duplicate with a label to pause it.
54) Landing Page Scanner by Daniel Gilbert. This script enables you to scan your landing pages for errors, such as 404s, out of stock products, search pages with no results, and old pages that are archived. The script then emails you with a report of all of the bad URLs.
55) Common Google Ads Mistakes Audit Tool by Daniel Gilbert. This Google Ads script allows you to check your work by scanning your accounts for some of the most common mistakes, such as excessive use of broad match and some common English misspellings and typos.
56) Rotating Ad Copy, Missing Traffic Calculator by Daniel Gilbert. Any good PPC manager is always testing new ads but many don’t correctly track when their split test has finished. This Google Ads script allows you to see how much more traffic and conversions you could potentially get by pausing the losing ad copy and going with the winner.
57) Apply Shared Negative Keyword Lists Everywhere by Daniel Gilbert. If you have a reasonably large PPC account that has over 500 campaigns, it can be very difficult to see if all of your shared negative keyword lists have been applied to all of your campaigns, as this is the limit that the Google Ads interface shows. This script allows you to bypass the interface and apply shared negative keywords lists everywhere automatically.
58) Check If You’ve Screwed Up Your Google Ads Accounts v.2 by Daniel Gilbert. This Google Ads script scans your accounts to identify some of the most common issues, including misspellings and outdated seasonal ads.
59) Copy Labels Between All Levels by Daniel Gilbert. Keep things organised with this script, which allows you to copy labels between levels, from campaign level down to ad level.
60) Copy Audiences to All of Your Campaigns by Daniel Gilbert. This script enables you to reduce the potential for human error when creating new campaigns by automatically copying audiences across all of your campaigns.
61) Stop Your Ads Showing Alongside Offensive Content Online by Frederick Vallaeys. With all of the issues with brand safety relating to programmatic and display advertising, this script allows you to keep your brand safe by stopping your ads appearing alongside offensive content.
62) Copy Google Ads Extensions to All of Your Campaigns by Daniel Gilbert. It can be a pain making sure that all of your campaigns have the right Google Ads extensions when you are managing large accounts, but this script makes your life a lot easier by automatically applying them to all of your campaigns.
63) Dynamic Ad Extensions by Daniel Gilbert. Although Google allows you to dynamically insert text into ads using Google Ads scripts, it does not allow you to change sitelinks and callouts in the same way. This script allows you to dynamically change the text within your sitelink and callout extensions using a spreadsheet, as shown below.
64) Expanded Text Ads Converter by Frederick Vallaeys. This Google Ads script allows you to update your old-format Google Ads adverts to the new expanded text ads version by pulling the organic page description from your website and using it to create the longer 80-character description.
65) Mirror Labels Between Keywords and Adverts by Daniel Gilbert. Solve labelling issues with this script, which copies labels within an ad group from ads to keywords or vice versa.
66) Pause Keywords with Low Quality Scores by Frederick Vallaeys. This Google Ads script allows you to create a list of keywords that have Quality Scores below a certain threshold. You can then create a strategy to improve their Quality Scores or pause them. The script goes through your account and pauses any keywords with very low Quality Scores.
67) Create Ads from a Spreadsheet by Frederick Vallaeys. This script automatically creates ad groups, ad texts, keywords and labels based on your template and a spreadsheet of your data. Some good applications would be to create ads based on your product inventory, or it could simply be used as an alternative to creating ads in the Google Ads Editor or the interface.
68) Delete Underperforming Ads by Frederick Vallaeys. Use this Google Ads script to reduce your ad groups down to the two best performing adverts before doing any new ad variation testing. It can also be used to go through a new account that you have just started to manage to pause underperforming ads.
69) Pause Overspending Locations by Frederick Vallaeys. This script looks at location data for a campaign and lets you disable specific granular locations when they exceed a certain level of spend for the month.
70) Automatically Exclude Placements with a Particular Domain by Frederick Vallaeys. This script auto-excludes certain placements that contain a particular string. For example, if you wanted to exclude all organisational domains, you could set it to exclude all placements with .org in the placement.
71) Account Auditor by Google Developers. This Google Ads script can help verify the structure of your campaigns, ad groups, ads and keywords. You define your intended structure using flexible ‘rules’ in a spreadsheet, and the script analyses your account and reports any entities that failed to satisfy your rules on a separate tab of the spreadsheet.
72) Ad Customizer by Google Developers. This script allows you to dynamically change the text within your ads using a data source, such as Google Sheets. An example use of this script would be to display the price and number of products in stock within the copy of your advert.
73) Automatic Placement Exclusion by Google Developers. Sometimes there are videos that have a different target audience from your ads, but you might not know that until you start accruing stats. Once you see that a specific placement just isn’t performing the way you want, you can eliminate it from your targeting.
74) Bulk Shopping Ad Group Creator by Google Developers. This Google Ads script allows you to bulk-create ad groups and product groups in existing shopping campaigns. It reads ad group settings (such as default bid and status) and product group hierarchies, along with bids from a spreadsheet, and creates them in Google Ads.
75) Keyword Labeler by Google Developers. This tool allows you to automatically apply labels to keywords that meet a specific criteria. Once the labels are applied, you can then easily filter the keywords in the Google Ads UI and apply your desired changes, or you can make changes to the keywords using another script.
76) Master Negative Keyword List Tool by Google Developers. This Google Ads script enables you to simplify the management of negative keyword lists using a spreadsheet. It allows you to ensure that your negative keyword lists are synced when you are dealing with large-scale accounts.
77) Sales Countdown Timer by Google Developers. This script calculates how many days and hours remain until the target date, then finds the specific ad group set up for this promotion, and updates the ad parameters of all keywords in this ad group with the results of the calculation.
78) Sales Countdown Calendar by Google Developers. Very similar to the sales countdown timer above, the sales countdown calendar extends the countdown timer concept to multiple events by integrating a calendar into the script.
79) Inventory Ad Management by Google Developers. This Google Ads script enables you to monitor your stock levels and pause/enable ads when they come in and out of stock, saving you time and reducing wasted spend by not displaying adverts for products that are not currently in stock.
80) Negative Keyword Conflict Checker by Google Developers. This script checks for negative keyword conflicts, where negative keywords in an account block keywords from showing. The script finds and saves all such conflicts to a spreadsheet and distributes an alert over email. The recipients can then take appropriate action, such as deleting the negative keywords causing the conflicts.
81) ETA Transition Helper by Google Developers. This Google Ads script allows advertisers to more smoothly transition between the standard text ad format and Google’s expanded text ad format. It copies your standard text ads to a spreadsheet and then helps you write expanded text ads based on them.
82) Large Manager Hierarchy Template by Google Developers. Overcome the problem of running scripts across more than 50 accounts in an MMC at a time with this script, which processes a different subset at a time and stores the intermediate results to Google Drive, so that subsequent executions know which accounts are left to be processed.
83) Spell Check Your Adverts by Russell Savage. This script allows you to put an end to spelling errors in your adverts. It calls the Microsoft API to use the spell check function from Microsoft Word to check for spelling errors within your ads.
84) See CPC Ranges for Each Keyword by Frederick Vallaeys. This Google Ads script generates a spreadsheet of your base bids with the actual min and max possible values, based on your various bid modifiers.
85) Pull Keyword Information from Landing Pages by Russell Savage. This is a script that allows you to use IBM Watson’s website analyser to generate keyword information from landing pages. It’s very similar to what the Google Keyword Planner does, but it gives you more landing page specific keywords.
86) Machine Learning for Google Ads by Russell Savage. This script enables you to model and predict the impact of things. For example, if the wind speed outside is 10 miles per hour, this script allows you to predict the CPC bid, so that you can calculate the correct bid modifiers.
87) Generate Keyword Suggestions from Amazon by Derek Martin. This tool works by pulling data from Amazon’s auto suggest to generate new keyword opportunities. The results can then be exported and, if you wish, you can add them as new keywords within your Google Ads campaigns.
88) Ad Copy Tester by Sean Dolan. Use this script to compare the data from two groups of adverts to see if there is a statistically significant change in CTR between them. The script ensures that the ads have at least 1,000 impressions, so that there is a sufficient sample size.
89) Copy Existing Ads with a New Destination URL by Derek Martin. This Google Ads script speeds up the split testing process by copying ads with a new destination URL. This allows you to change over your split tests much more quickly.
90) Perform Search Query Analysis with Google Sheets by Derek Martin. Analyse your search query reports using Google Sheets and make changes without having to download your SQR into Excel, then upload changes via the Google Ads Editor.
91) Find Underperforming Placements and Opportunities on Google Display Network by Derek Martin. This script analyses the performance of your placements on the Google Display Network and notifies you of them, so you can go in and exclude them.
92) Ensure the Date/Time Zone is Correct by Rankhammer. Use this to ensure that your scripts are running based on the time zone that your account is set to, not the time zone in the data centre that your script is running off. This is very useful if you are going to be pausing your ads at a certain time but the time zone of the data centre is not the same as in your account.
93) Keyword Suggestion Tool Using Google Autocomplete by Derek Martin. This Google Ads script enables you to generate keyword suggestions based on data from Google autocomplete. You can download the suggestions and add the relevant ones to your Google Ads account.
94) Identify Duplicate Keywords, Including Close Variants by Karooya. This tool allows you to identify duplicate keywords in all match types, including close variants, using a process called stemming. This can help you clean up your account after Google removed close match variants in 2014.
95) Pull Salesforce Data into Your Google Ads Campaigns by Russell Savage. This script integrates with the Salesforce API to query data and objects from your Salesforce instance and use it in your Google Ads campaigns.
96) Connect Zoho CRM Data with Google Ads by Russell Savage. This Google Ads script is very similar to the one above, which allows you to import data from Salesforce into Google Ads. This one has the ability to pull leads, contacts and potentials, and any other object data from Zoho into your Google Ads campaigns.
97) Save a File or Spreadsheet in a Specific Folder of GDrive by Russell Savage. Use this script to save information from Google Ads into a specific folder in Google Drive. It can be used in addition to other scripts that integrate Google Ads with the Google Sheets API.
98) Automated Creative Testing with Statistical Significance by Russell Savage. This is one of my favourite Google Ads scripts, as it allows you to create ad tests and monitor for statistical significance at scale. The script labels your ads when the test is complete and also emails you with the details of the test, so you can go in and make changes.
99) Disable Ads and Keywords for Out of Stock Items by Russell Savage. One of the easiest ways to waste money on Google Ads is to run ads for products that are no longer in stock. This script scans your landing pages for the words “out of stock” or similar, and if it finds them, it pauses the ads with a URL pointing to that page.
100) Use GDrive to Load a Single Google Ads Script into Multiple Accounts by Russell Savage. If you use a lot of the same Google Ads scripts in all of the accounts you manage, it can be time-consuming getting each one set up. This script allows you to use Google Drive to automate the process and copy scripts into multiple accounts automatically.
101) Figure Out When Your Ad, Ad Group, Keyword or Campaign Was Created by Russell Savage. This is another of my favourite Google Ads scripts, as it allows you to see when you created a new campaign, ad group or keyword, which makes it easier when you are trying to work out what has caused a change within your account.
102) Put Google Ads Data into Amazon S3 Using Scripts by Russell Savage. When you are pulling a huge amount of data into Google Sheets, things can become a bit unwieldy. This script allows you to pull data into Amazon S3 instead, where you can manipulate it in Excel or in a database.
103) Manage Match Types with This Structure Checker by Daniel Gilbert. If you run parallel campaigns with different match types, this script can help you automate your organisation to ensure nothing slips through unnoticed.
104) Put Current Crime Statistics in Your Creatives by Russell Savage. This Google Ads script interacts with the API of several different crime reporting data sets to allow you to display crime statistics for a certain area within your adverts.
105) Pause or Enable Campaigns, Keywords or Ads on a Specific Date by Russell Savage. As the name suggests, this Google Ads script allows you to pause or enable sets of keywords or ads on a specific date. This can be very useful if you are running a sale, and a promotion is going to end on a certain date.
106) Automate Your Ads Based on Your Baseball Team’s Schedule by Russell Savage. This tool allows you to automate pausing and enabling your ads based on whether your team is at home or away. It could, however, be adapted to make these changes based on a schedule such as a sale.
107) Merge Multiple Campaigns Together by Russell Savage. This was originally designed to help you merge campaigns together when Google Ads rolled out enhanced campaigns. However, it is still useful today, should you wish to merge two campaigns within your account together.
108) Manage Ads Based on Airport Delays by Russell Savage. This Google Ads script allows you to enable and pause Google Ads adverts based on airport delays. This would be useful for any business that is near an airport that may benefit from delays, such as restaurants, bars or hotels.
109) Fix Capitalisation Errors in Your Ads by Russell Savage. Another Google Ads script that I really like that Russell has created. It allows you to fix the common capitalisation errors that plague a lot of accounts, which can be very time-consuming to fix manually.
110) Auto Add ValueTrack Params to All Destination URLs by Russell Savage. This Google Ads script helps make sure all of your keywords are tagged with the appropriate ValueTrack parameters. You can use this to ensure that all of your tracking params are added correctly to your URLs.
111) Automating Maintenance Tasks with Google Ads Scripting Part 1 by Russell Savage. This is the first instalment of automating Google Ads tasks using scripts. It follows the monthly optimisation routes as set out in the Google AdWords for Dummies book.
112) Automating Maintenance Tasks with Google Ads Scripting Part 2 by Russell Savage. This is the second Google Ads script from Russell for automating maintenance tasks and increasing bids on cheap conversion keywords.
113) Stop Your Ads from Overspending by Daniel Gilbert. Stop Google from spending twice your daily budget using this script, which can help you keep your budget under control.
114) Update Ads for the New Year by Russell Savage. Every year, you always see one advertiser who has the last year’s dates within their adverts. Don’t be that person; this script allows you to automatically update the years displayed in your ads.
115) Update Your Keywords for the Holiday Season by Russell Savage. This Google Ads script has a similar function to the one above, but instead of updating the ad copy, it updates the keywords from one year to the next automatically.
116) Automatically Pause Ads with Low CTR by Russell Savage. Most advertisers create at least two ads per ad group to split test them, but they rarely remove the lowest performing advert. Using this script, you can find the worst performing ads in all your ad groups and pause them (if there is at least one other ad in the ad group).
117) Delete All Disapproved Ads in an Account by Russell Savage. This script focuses on account maintenance. Over time, large accounts might build up thousands of ad groups with ads that might be disapproved. Sometimes, it makes sense to remove those and then slowly build and deploy new creative.
118) Pause Ad Groups with No Active Keywords by Russell Savage. This script can be useful in helping you identify ad groups that contain no active keywords and pause them to maintain your account more effectively.
119) Set Ad Params at the Ad Group Level from a Google Sheet by Russell Savage. This script allows you to set your ad parameters at ad group level. Simply load it with the ad group name, param 1 value and param 2 value in columns A, B and C respectively (with column headers), and you are ready to go.
120) Hourly Bidding by Daniel Gilbert. This Google Ads script allows you to change the bids within your account 24 times per day. Google only allows for six bidding windows per day, but this script provides a workaround by setting a new set every hour based on specified bid modifiers within Google Sheets.
121) Bid Based on Forex Rates by Wesley Parker. This script was built for the travel sector and allows you to bid based on the forex rates between two currencies. When the exchange rate is strong, the cost of a holiday increases, and you may want to test increasing your bids.
122) Automatically Apply Bid Modifiers by Daniel Gilbert. This automatically goes through your account and sets the correct bid modifiers for devices, locations, in-market audiences and remarketing lists, allowing you to almost fully automate modifier bidding.
123) Stop Underspending Your Free Ad Grant Budget by Daniel Gilbert. This script emulates standard delivery but allows you to turn certain keywords on or off, depending on whether you’re on track to hit your budget.
124) Manage Bids Based on Keyword Match Type by Frederick Vallaeys. Implement this Google Ads script to use stacked bidding at scale and manage how you bid at keyword level based on match type.
125) Pause When Things Spend Too Much by Frederick Vallaeys. This Google Ads script allows you to set budgets for campaigns, ad groups and ad copy for weekly, daily or monthly periods. You get notifications via email when changes are made or when an account exceeds a total cost for the period.
126) Calculate and Set Mobile Bd Modifiers Automatically by Frederick Vallaeys and Russell Savage. This script enables you to calculate and set mobile bid modifiers automatically. You have a choice of two metrics to base the bidding decisions on: revenue per click (RPC) or return on ads spend (ROAS).
127) Bid Testing by Google Developers. A script that enables you to work on the level of bidding that works best to achieve your goals. It allows you to systematically adjust your bids so that you can find the sweet spot for your keyword bids.
128) Multi Bidder by Google Developers. A script that offers functionality similar to that of Automated Rules based on a spreadsheet. Each row in a spreadsheet is, in effect, equivalent to an entire Automated Rule. Managing 100 rules – a difficult task in Google Ads – becomes a lot easier.
129) TV Schedule Bid Coordination by Google Developers. This Google Ads script works by creating a spreadsheet with the times and dates of your TV adverts and the bid adjustment that you want to use. It runs hourly to change the bid modifiers and can be updated at any time.
130) Weather-Based Bidding by Google Developers. Many industries are heavily affected by the weather. For example, we have found that a lot more people search for boilers when the weather is cold. This script allows you to pull data from a weather API and then increase bids or decrease them based on the weather.
131) Flexible Budget Tool by Google Developers. This Google Ads script allows you to set a budget for different marketing initiatives. For example, if you want to spend £5,000 on your spring sale, this script dynamically adjusts your campaign budget daily with a custom budget distribution scheme. That means, for instance, you could tell Google Ads to spend the bulk of your budget within the last five days, when conversion rates are highest.
132) Recurring Monthly Budget by Frederick Vallaeys. This script allows you to set monthly budgets in Google Ads for advertisers who spend the same amount every month. It allows you to distribute your budget to the highest performing days of the month to maximise performance.
133) Pause Account When Monthly Budget Reached by Sean Dolan. Use this script to pause your adverts when your account monthly budget limit is reached. To make it work, you must set the cut-off variable to the maximum amount that you want to spend that month on Google Ads.
134) Automate Your In-Market Audience Bidding by Daniel Gilbert. This script automatically applies bid modifiers to in-market audiences based on their performance.
135) Stop Running Out of Budget by Daniel Gilbert. This script takes preventative measures when you’re on a limited budget to avoid letting Google spend more of your daily budget than you want.
136) Monthly Budget Prediction by Sean Dolan. This allows you to use the PPC Hero monthly projection tool to email yourself or your client a projected PPC spend for the month.
137) Update Your Bids from Google Sheets by Russell Savage. When managing large-scale Google Ads accounts, changing bids from a spreadsheet can be a lifesaver. This script integrates with the Google Sheets API to allow you to change bids from a spreadsheet.
138) Unique Bidding Rules for Each Campaign by Russell Savage. This Google Ads script is designed to help you manage bidding rules across a series of accounts. It enables you to automatically adjust the bids for each campaign based on a set of rules.
139) Update Ad Params from Google Sheets by Russell Savage. This cool tool allows you to change the parameters within your advert based on values in Google Sheets. This has a huge range of applications, from displaying how many places are left on course within your ads to simply displaying the price of a product.
Alerts and stop buttons
140) Emergency Stop Button for Google Ads by Frederick Vallaeys. This Google Ads script allows you to pause your account if there is an issue with your website. I hope nobody needs this script, but it’s a good one to have at the ready in case a site issue happens, especially during the holidays, when CPCs can skyrocket.
141) Advanced Anomaly Detection by Frederick Vallaeys. This is an adaptation of the Google Anomaly Detector. It has been adapted for MCC accounts, making it perfect for agencies or advertisers managing adverts across several accounts.
142) Landing Page Watch Dog by Frederick Vallaeys. This Google Ads script creates a report of all of the landing pages that can’t load or have 404 errors. It then generates a spreadsheet with a list of all the potentially broken landing page URLs used by ads or keywords in your account, and allows you to optionally delete or pause any of these items.
143) Granular Account Analogy Detector by Frederick Vallaeys. This tool allows for very granular identification of the areas of your account that are producing anomalies, unlike some of the other Google Ads anomaly detector scripts.
144) Be Alerted of Disapproved Ad by Text Message by Derek Martin. This Google Ads script alerts you by text message of any disapproved adverts. You can then either go into your Google Ads account immediately to fix them or call Google to try to get them approved.
145) Get Alerted When Keywords or Product Groups Spend Too Much by Frederick Vallaeys. This is a simple script that queries for keywords or product groups that have exceeded a specific amount of cost, and have fewer than a specified number of conversions to show for that cost.
146) Campaign Over CPA Target Alert by Sean Dolan. This Google Ads script alerts you when your campaigns are over your CPA limit, which is useful if you have very strict CPA goals that you need to keep to.
147) Find Anomalies in Your Campaign Spending by Daniel Gilbert. Use this script to check for overspending or underspending in your Google Ads account by finding changes in spending.
148) Budget Tracker by Wesley Parker. The budget tracker script allows you to track your budget towards a specific target. It also sends you email warnings daily to see what percentage of your budget you have spent.
149) Check Your Ads Are Pointing to the Right Domain by Daniel Gilbert. This Google Ads script checks to ensure that your sds are pointing at the right URL. For example, making sure your ads go to DemandMore.com as opposed to DemandMore.co.uk.
150) Changes in CTR Alert by Sean Dolan. Use this script to track changes in CTR using the Google Sheets API. This is a good tool for diagnostics, as you can compare your data here to data in Google Analytics, so you can see if a difference in user behaviour may have triggered this.
151) Make Calls and Send Text Messages to Your Phone from Google Ads Scripts by Russell Savage. This script takes alerts to the next level. Sometimes, you can’t read your emails for one reason or another, so Russell has created this fantastic script that can call you and send you text messages with alerts.
152) Finding Anomalies in Your Keywords, Ad Groups and Ads by Russell Savage. This tool enables you to detect adverts, keywords and ad groups that are not performing as well as others in that ad group or campaign.
153) Account Anomaly Detector by Google Developers. A script to alert the advertiser whenever a Google Ads account is suddenly behaving too differently from what’s been historically observed. When an issue is encountered, the script sends the user an email.
There you have it, the most comprehensive list of Google Ads scripts online that you can simply copy and paste into your account to start reaping the benefits of custom automation.
If you have any questions about the scripts within this guide, please don’t hesitate to ask below in the comments section.