Improving Your Account Through Google Ads Scripts

Written by Jacob Fairclough, Senior Account Analyst

Google Ads Scripts are a fantastic way to automate many tasks in Google Ads. Scripts work directly within your account and require little development overhead. They offer the opportunity for self-service automation without the reliance on third party tools or platforms.


Scripts are great but how do you get started? The best way to become more comfortable using scripts is to actually use them. Thankfully many scripts are plug and play, requiring little customization to test and implement in your own accounts.


In this whitepaper, we’ll cover when and why to use a script and we’ll provide selection of ready-to-use examples. Most of the primary examples are created and fully supported by the Google Ads developer team. This means that all of these scripts are up-to-date and contain full instructions.


There are many types of scripts but they can be broken into two major buckets. The first bucket is reporting and the second is optimizing.



Reporting scripts collect and store data from your accounts. They can also format the output, creating ready-to-deliver reports. These scripts do not make changes to your account, they merely pull and output the data.


While this isn’t the most exciting case, it is often the most practical and one that everyone in PPC should come to love.



Reporting always has a time investment and often requires the same exact steps week-after-week.


While it may not feel like an enormous time drain, it adds up over time. Since it’s never anyone’s first choice of task, it also imposes a cognitive drain in relation to your desire to put it off. Do you really want to keep doing the same thing over and over again anyways? Reporting scripts may also be used to collect subsets or views of data so you always have it on hand.


Need a weekly update on performance by country across a select group of accounts? If so, you could write a script to access only those accounts in your MCC and sums up the metrics by country. You could also break down performance by match type, brand, or average position.


From Keyword Performance Report, from Google


Reporting scripts are also utilized for historical tracking. One of the most straightforward and popular scripts is quality score tracking. Quality score is an ever changing number. Google Ads does not store historical tracking data. Your only option is to regularly record the quality score of your keywords. Why not write a simple script to paste the data into a sheet every day or week? The same goes for quality score factors, which can only be accessed via the reporting API and not the interface.


Quality Score Factors Script, from PPC Hero



If you’d like to start from scratch, identify something you do repeatedly. Are you pulling the same report, formatting it, and pasting it into the same report? Start there. Alternatively set up simple e-mail notifications that update you on daily changes.


Declining Ad Group Report Output, from Google



For example, the script above pulls basic campaign metrics for the multiple date ranges and compares the current metrics to the previous periods. The example above was used for its clean output but you can easily build something similar.


For example, pull metrics for yesterday and the day before. If clicks, impressions, cost, or conversions is off by 20%, send an e-mail alert. It may sound complicated but you can piece together simple examples of code, learn how to put them together, and build something greater than the sum of the parts. Once you get a grasp of it, it’ll be second nature and you can expand to fuller featured scripts.



If you’d rather get started learning by example, the Google Developer Solutions page has you covered. These scripts exist at both the MCC and account level and provide a range of options and formats that you don’t see in the interface.


There is a wealth of starter options under the report section. You can collect daily metrics, segment ad performance, or look at different views of keyword performance.


Each of these pulls the data and outputs a report via Google Sheets. The sheets not only ease you into handling script output but teach you valuable lessons in formatting and manipulating spreadsheets.


Of course you could pull all of this data on your own. The question to ask is: is it worth your time to pull manually? Or would you regularly pull these reports without hesitation? Even if the answer is yes to both of those, scripts can help your pull even more reports more efficiently.



Scripts can also be used to make changes in your account. These involve manipulating the way your account runs – from pausing keywords, to changing bids, to creating new campaigns. These types of scripts are often more account specific, requiring knowledge about the specifics of the account and tailored to the account in question.



The benefits of optimization are easier to highlight than reporting. Using these scripts means less things you need to do in your account.


No need to adjust mobile modifiers or routinely upload bid changes through the editor. You could also use scripts to audit your search query reports, keep your negative keyword list up to date and ensure your converting queries are added as keywords.



Unlike reporting scripts, these scripts make actual changes in your accounts and may alter performance or targeting. They can take care of manual tasks, automate processes, and speed up your workflow.


Oftentimes you’ll want to build these for each account. Every account has different goals so one solution will not work for every account.

Going back to the Google Developer page, we can utilize some of these fully featured scripts to get started.



Multibidder is one of the best choices for optimizing your account. It takes a familiar concept, automated rules, and upgrades them to be more user friendly and adaptable.


The multibidder script functions off of a spreadsheet containing all of your declared bid rules. Rather than creating rules one-by-one in the interface, you can load all of them via a single spreadsheet.

Multibidder Set Up Template, from Google

This makes it easier to both create rules and review them at a later date. If you are creating similar rules for multiple campaign groups, it also makes it easy to copy and paste them in a spreadsheet.


This means you only have to change a cell or two, rather than create a new rule for every instance.


Despite its outward simplicity, this is a powerful script. Establishing rules helps you limit inefficiencies and progressively edit bids. It may not be breathtaking but it can easily save 10% or more on your average CPCs. Not a bad outcome for setting up a few rules in a spreadsheet.



You may even decide to tackle budgets next. While the Flexible Budget script won’t work for every account, it lays a firm foundation for how to handle budget distribution automatically. There is no need to change budgets every day or set up a list of automated rules.



Although it sits on the border of functioning versus reporting, the Account Audit script is another useful tool. Based on rules for your account it scans your account and flags any errors. These are fantastic for peace of mind. You will no longer miss an ad group with too few ads or missing sitelinks.


Rather than trying to revolutionize your account, focus on where you can eliminate repetition and tedium through automation. This frees you up to work on more important initiatives and generate better solutions rather than wasting your energy on routine tasks.



Once you’ve explored the Google Developer’s page, you may wonder what’s next. Below are a couple pointers from PPChero.


Getting Started With Google Ads Scripts


Manage Shopping Ads


Identify Ad Groups with Missing Sitelink Extensions


Getting Started with AWQL (Google Ads Query Language)



JavaScript is one of the most popular languages in the world and has extensive support through classes, tutorials, and user generated resources such as StackOverflow.


Google Ads Scripts Workshop


Codecademy – JavaScript


Mozilla Developer Network – JavaScript


Google Ads Scripts – Code Snippets


The largest hurdle in scripts is moving from using other scripts to creating and modifying your own. There are plenty of learning opportunities out there, so keep looking and keep learning!