Google Ads Scripts: Automate & Outsource for Account Efficiency
Google Ads accounts can be hard work to manage, especially if you have dozens of accounts to look after. It is not unheard of for agency PPC Executives to be managing over 50 Google Ads accounts simultaneously. When this is the case, the selective use of Google Ads scripts can make life a lot easier.
There are other scenarios where it makes sense to outsource and automate specific tasks. For example, if you are working full time and run a WooCommerce eCommerce store as a side hustle - it could help to outsource phone answering to Moneypenny and automate the maintenance of your Google Ads account with scripts from Brain Labs Digital. You would save hours each week and could monitor calls and ads with automated reports sent via email.
Google Ads script can help you to:
- Enhance productivity
- Automate Repetitive Tasks
- Make changes automatically
- Make changes when you are not there
- Alert you to issues
- Fix issues automatically
Specific examples of what you can do with Google Ads Scripts:
- Adjust bids according to the weather
- Pause poorly performing Ads
- Pause ad groups for out of stock products
- Send weekly reports to key individuals
This article will run through, step by step, how to create and run your first Google Ads script. Before you begin the tutorial, you will need a website, a Google Ads account, and some active campaigns.
A great place to learn about Google Ads Scripts is Brain Labs Digital. They have a great library of scripts that you can use for free.
In this tutorial, we will look at setting up the Position Bidding Script.
This script automatically adjusts bids to ensure (as much as possible) that they appear in the desired positions. For example, if you have a keyword “size nine golf shoes” that you want to keep in position 1, the script will increase your bid each time a competitor outbids you (or “out quality scores you”) so that you secure position one again.
Note: Although we think this script is brilliant and saves us lots of time, always use scripts at your own risk as we cannot be held responsible for any dips in campaign performance!
Set up Google Ads
To begin with, you will need a Google account. If you have an android device, you probably already have a Google account set up. If not, head over to accounts.google.com to create one.
You will need to create a Google Ads account too. Go to Adwords.com and complete the necessary steps to register an account.
Add Labels to Keywords
The first thing that you will need to do for this script to work properly, is to add labels to the keywords that you want to automate bids for.
Click into a campaign, then click keywords, search keywords, and then click “columns” in the window that appears on the right-hand side – the text “columns” normally appear just below the graph and just above the table near the right.
Next click “Modify Columns” and then click “Attributes” and then check “label” and click “apply.”

To add a label, check specific keywords, then click “Label” at the top and then “Add new label”.
Now you can add the labels that you need for this script

Label the keywords, in accordance with the position that you want them to be in the search results pages.
For example, the keywords that you want to be position one, label all of these “Position 1.0”
Add the Script
- Copy the script from github
- Paste it into Notepad
- Edit the Options at the top to set the maximum bid, minimum bid, and first-page maximum bid:

- Go to “Tools & Settings” (Wrench Icon near the top navigation/menu bar)
- Click “Scripts”
- Click on the “+” addition symbol inside the blue circle
- Paste in the script
- Save and Preview the script
- Authorize when prompted
- Create a schedule/frequency, so that the script runs hourly

And that should be it!
Remember that although scripts make managing a Google Ads account much easier, it is still important to monitor the performance manually.
(Devdiscourse's journalists were not involved in the production of this article. The facts and opinions appearing in the article do not reflect the views of Devdiscourse and Devdiscourse does not claim any responsibility for the same.)

