6 Google Ads Scripts Every Account Should Be Using

I’m writing this the day after Halloween, which may be the perfect time to talk about Google Ads scripts since it’s a fairly scary subject to most people dealing with accounts.  But let me tell you…it doesn’t have to be.  With such an amazing, sharing community all around us, PPCers aren’t on their own…ever.  Trust me, I don’t know a thing about coding.  But since others do, using scripts for important tasks on accounts has become a copy/paste endeavor for the most part.

Without scripts, you have to take the time and energy to go and check everything out for yourself.  Not only is this inconvenient, but it also creates major lag time.  What if you made a mistake with something 2 weeks ago and haven’t had the time to check out your account in the last 2 weeks?  You may have made a costly error that you’re not going to catch right away.  But with scripts, you can make sure you do.

With that said, not every script is for every account.  In the PPC management world, we always say “it depends” because most of the time there are a lot of factors that go into what the best decisions are for particular businesses and accounts.

But, there are some things where it doesn’t depend.  With some things, no matter what, something needs to be monitored so that you can be saved from some potential big trouble.

That’s what I want to focus on here.  So far, I’ve implemented some scripts others have created that apply to every account I manage; and should be applied to every account YOU manage.  Here are 6 of them I use…

Negative Keyword Conflicts

Adding, moving, excluding…oh my!  With keywords being foundational to Search advertising, it’s inevitable that in the course of moving things around, we’ll make mistakes.  But without some kind of alert, we’ll likely miss the mistake and the associated traffic with the positive keyword we’ve added to an account.

If we’ve added a keyword to an account, it means we want traffic on it.  But, if there’s a negative keyword blocking it from showing, you won’t get that desired traffic.  If you’re thinking the Google Ads UI already shows you this information, you’d be right.  Except it leaves out if the conflict is coming from an account-level shared negative keyword list.  So, if you’re using those, this script is a must.

Also, the notification in the UI requires you to go check it.  With this script, you get an email with a populated spreadsheet after the script runs and finds conflicts in your account so you can go fix them and get the traffic you want.



High CPC Alerts

If you accidentally hit an additional key when you set a bid, or you set up automated rules to adjust bids and those bids get out of whack, there’s no way for you to know unless you get an alert.  This script acts as a fail-safe by allowing you to set a max bid and have the script send you an email notification with a populated spreadsheet of keywords with bids over your max.

So if you make this mistake, you won’t be overspending on the keywords for long.

Check for Empty Ad Groups

Recently an account of mine had a one-day sale.  I set up automated rules for sale ads to turn on and off and for the standard ads to do the opposite.  The next day I went into the account and the standard ads had not been re-enabled.  If I wouldn’t have checked myself manually, I wouldn’t have known and would have lost a ton of sales.

So, I went out and found this solution.  This script checks for any ad groups that don’t contain ads (and it does some other things too).  I run it every day.  Now when my sales are over, I just jump into this spreadsheet and check if there’s any ad groups that don’t have ads in them.  If it says zero, I’m good to go.



Broken Link Checker

What if developers switch URLs and don’t tell you?  What if the site goes down?  Both of these have happened to me many times.  If this happens, you’re paying for Clicks on ads that go nowhere.  Ouch.

With this script, you can check URLs every hour and get an email notification with a populated spreadsheet of the URLs that aren’t working.  This way, you can either change the URL in question or turn off the ads until the issue with your landing page is fixed.

Alert for Redirects

What if developers set up redirects and don’t tell you?  What if you take over a new account and all the final URLs have already been set?  How would you know that you had URLs that redirected to others?  The big issue here is redirects slow down site speed.  While the broken link checker prevents us from going to broken pages, it doesn’t check for redirects.  But, redirects actually hurt your account performance because they affect Quality Score.

This script will send you an email notification with a populated spreadsheet of all the final URLs you have in your ads or extensions that redirect to other URLs.  This way, you can always direct people to the appropriate live pages.

Anomaly Detector

Performance can change for a lot of different reasons.  While change can occur for desired and/or expected reasons, it can also change because of mistakes or unforeseen circumstances.  Whether due to a mistake or not, it’s good to know if your performance has drastically changed compared to what’s expected.  If this is the case, you can make sure it’s a change that isn’t unwarranted.  If it is, you can dive deeper and investigate to fix the issue.

With this script, you can compare account performance with comparable time periods in the past to see if there have been any drastic changes.  You can set thresholds for when to trigger the alerts so that you’re not getting alerts when there’s really nothing out of the ordinary.

This will make sure you’re notified right away if there might be something to be concerned about.



Don’t be scared

Each of these scripts has step-by-step copy/paste instructions that make it easy for almost anyone to implement in their accounts to make sure they perform how you want and expect them to despite our inevitable human errors.

With the PPC community by your side, you can become a scripter yourself and you don’t even need to know what you’re doing :).