Digital Marketing

PPC Automation: Everything You Need To Know From Scripts To Software

PPC automation can be a daunting subject to tackle, regardless of whether you’re a novice or an expert digital marketer.

From setting up advanced tracking, to integrating multiple channels and platforms for a more holistic view of your marketing efforts (not to mention the automation of simple PPC management, etc) the list of possible uses of PPC automation is seemingly endless. And with every possible usage, comes a long list of possible problems…

This post will walk you through what you need to know about PPC automation, from implementing your own scripts to taking it one step further with automation platforms themselves.

Let’s get started!

Is Automation The Future Of Digital Marketing?

The short answer? No.

It’s the present.

Everyone, from the most dedicated local agency to the biggest of the big dogs, needs to find ways to make their digital marketing efforts more efficient today. As in right now.

Automating tasks that don’t require human thinking -- for example, collecting data on an experiment over time -- gives account managers more context and more perspective. Most importantly, it gives them more time to hunt for strategic improvements and big wins.

Sounds good, right? So what is PPC automation?

What Is PPC Automation?

PPC automation uses tools like scripts and third-party software to control your Google Ad campaigns.

Scripts, for example, are snippets of JavaScript code that trigger functions in your Google Ads account based on performance and/or external data.

In the Google Ads Editor, scripts usually look something like this:


Custom script for tracking Quality Score at the account level – image source

We can see why that would seem intimidating. But don’t get distracted by the piles of code -- stay focused on why PPC professionals use automation in the first place.

Why Bother With PPC Automation?

Automation tools like scripts are meant to help remove some of the data-driven drudgery of your PPC reporting and analysis. And if you can learn how to use them (with, say, a helpful guide leading the way) you can take your paid ad efforts to a whole new level.

By automating account maintenance processes, you can focus more on optimizing the performance of your paid ads. Scripts alone can drastically reduce manual data entry and collection tasks in your campaigns.

Furthermore, automation can catch details or opportunities that you might miss in the avalanche of data created by any given PPC campaign. If you don’t notice a keyword’s low performance, for example, a script can automatically stop running ads if that keyword falls below a certain threshold.

Overall, automating daily, weekly, and monthly routines can help you maintain perspective and focus on changes that matter.

Different Types Of PPC Automation

As mentioned above, PPC automation ranges in both intensity and investment. With the help of certain tools and a few quick tactics, you can automate certain parts of your PPC campaigns. However, with a little extra investment, you’d be amazed how you’ll be able to customize your digital marketing efforts.

Below are the basic types of PPC automation:

  • Integrations/ Reporting - Using integrations to automate your reporting and combine data will help save time in multiple ways (1. You won’t have to manually export spreadsheets to compare data from different sources, and 2. Integrating your different data sets may yield insights into what types of behaviors are actually leading to leads and revenue).
  • Scripts - Scripts, both custom and open for communal use online, can help customize which parts of your campaigns you automate and what data you use/ analyze.
  • Custom Builds - Taking it one step further with custom builds and coded automations with the help of a developer can give you the ultimate level of customization. While it may require the heaviest overheader and level of expertise, the results are often the most unique.
  • Comprehensive Softwares - These platforms allow you to customize, automate, and — most importantly — manage your campaigns on the highest levels without the heavy overhead of custom builds. Depending on which platform you choose, it can be very worth the investment.

In the end though, it’s the level of resources, time, and expertise you’re willing to commit towards your PPC automation that will determine which type of automation style you choose to go with. 

All About PPC Scripts

Scripts can seem like a lot to take on if you don’t have a coding background. The good news is that there are plenty of existing scripts are available to copy-and-paste into your account. We’ve found, however, that a little customization goes a long way, even with pre-built scripts.

What Is A Script?

To get you started, let’s take a look at the seven most common elements of scripts:

  1. Functions
  2. Variables
  3. Objects
  4. Entities
  5. Selectors
  6. Methods
  7. Iterators

1) Functions
Function is where the script code starts, and will be required in every script you use. The Function element of your script should look something like this:

function main( ) {code to execute}

2) Variables
The next part of the script are the Variables, which serve as containers that store data values. They’ll typically be expressed as “var” something and will be the place you’ll start customizing. You can use your Google Ads data to trigger Variables, as long as they correspond to specific Objects and Entities in your Google Ads account.

3) Objects
Objects tell the script to look in Google Ads for the data you want. There are four types of Google Objects for pulling data: AdsApp, SpreadsheetApp, MccApp, and UrlFetchApp. You’ll probably use AdsApp the most when you add Objects to your scripts.

4) Entities
Entities within the AdsApp Object make things more interesting, if only because there are lots to choose from. You can pull in Entities from your account on multiple levels, including campaigns, ad groups, and keywords. Entities also include Ad params, Labels, Ad Schedules, Budgets, and even some targeting.

Combining Variables, Objects, and Entities gives you code snippets like the one below:

var keywords = AdsApp.keywords( )

5) Selectors
Selectors filter the data that your script pulls from your Google Ads account. For example, when keywords are your Variable, Selectors are the filter that puts the right keywords in the script.

The following Selectors are the most common, and can be used with each other to further refine and customize your information:

  • withCondition( )
  • withIds( )
  • forDateRange( )
  • orderBy( )
  • withLimit( )

By now, your script should look something like this (with some added Selectors):

function main( ) {
var keywords = AdsApp.keywords( )
.withCondition(“clicks > 50”)
.orderBy(“Conversions DESC”)

6) Methods
Methods provide commands in your code like “Get,” “Set,” “Add,” and other actions that you can automate. The complete list of Methods is available here.

7) Iterators
Iterators create a feedback loop that keeps your script running. The hasNext() and next() Iterator, for example, signal the script to launch again as long as viable data keeps coming in.

When you put all the moving parts together, you get something that looks like the image below:


The annotations help translate the script. – image source

Now that you can break your PPC scripts down into parts, you can modify existing scripts to work for your campaigns — or even write your own.

Once your script is ready, you can add it to your Google Ads account using the “Bulk operations” tab:


The scripts window allows you to manage existing scripts and create new ones.

So, having run through the basics of what make up all Google Ads scripts, let’s take a look at the different types of scripts and their features/benefits.

Automating Across Ad Platforms

Before we get into the nitty-gritty of PPC automation, we should mention that these tools aren’t limited to Google Ads anymore.

For example, Bing has always had an Ad Editor, but they rolled out a beta version of scripts in 2018 that offers some of the same functionality as Google Ads. It’s new, but the principles are the same -- if you are running multiple Bing accounts and campaigns, you can save time by incorporating scripts to apply negative keyword lists, adjust bids, and enable or pause entities based on specific events.

All that being said, Google Ads is still the most effective place to create, customize, and launch scripts. (Bing even has a built-in feature to ‘translate’ Google Ad scripts into Bing scripts by finding and replacing proprietary bits of the code.) The information below is all based on Google Ads for simplicity’s sake, but if you’re running paid ads on Bing, some of these scripts can help you there too.

Scripts come in all shapes and sizes. From reporting to automating to adjusting, you can make all kinds of things happen with the right lines of code.

With that in mind, here are some examples of our three favorite types of scripts...

1) Reporting Scripts

Reporting Scripts are just what they sound like: Scripts implemented into your reporting tool that help give you a better, more in depth look at your users’ on site behavior. Some may help you understand how your users behave on specific pages, while others may give you feedback on how Google views the front end of your ads.

Basically, if you want to automate any form of reporting, these are the scripts you’ll be using.

Our favorite reporting scripts (in no particular order) are heatmaps, Quality Score tracker, and ad spend report.

Heatmaps are a script for improving analysis before your bidding gets started.

Another super popular script that digital marketers use en masse is the heat maps tool. Not all scripts are for automating actual bid adjustments, etc. Some are for By looking at visual representations of user’s search behavior, you can get a different perspective on metrics like click-through rate:


CTR fluctuations based on time and weekday – image source

Quality Score Tracker
Google Ads is as hush-hush about the ingredients of Quality Score (QS) as KFC is about the Colonel’s original recipe. But making the ingredients a secret doesn’t mean you can’t use Quality Score to your advantage. The team at the PPC Epiphany blog created a script to track Average QS, with a visual dashboard to go with it:


You can correlate QS to impressions – image source

This script track the QS for all your keywords, so you can even go back for some historical analysis. And you can customize the script with the specific Selectors you want to use, just like we discussed earlier.

Ad Spend Reports
PPC account managers love this script. It sends recurring emails with account updates on key performance indicators (KPIs) like:

  • Ad Spend
  • Conversions
  • CPA
  • Recommended Daily Spend
  • Current Daily Spend
These top-level reports are helpful for managing and prioritizing multiple accounts and campaigns and can be customized for any given timeframe:


This script really depends on how you customize the time frame.

This script can send daily updates, but experienced PPC teams know that your variations need enough time to reach statistical significance before you can commit to the results. (Check out the full script here.)

2) Management/Adjustment Scripts

Now, even if you have the right reporting scripts in place and have automated your data so you know (more or less) what’s going on at all times in your accounts, that doesn’t mean you can actively be managing them and making changes 24/7.

Or can you?

These management/adjustment scripts will allow you to continually set rules and parameters for your accounts to run themselves.

Zero Impressions Pause
This simple but helpful script automatically pauses any ads for keywords generating zero impressions.

Eliminating poor performers from an ad group early can save your budget from wasted clicks and traffic. Thanks to Russell Savage for this one (and the “Broken URLs Report” you’ll see in a minute).

Pause Low CTR Script
When you’re testing a bunch of different ad variants across multiple campaigns and accounts, it can be hard to keep track of every ad.

If you test a losing variant and forget to delete or stop the test, you might find your budget dollars slipping away to fund these stinkers.

Certified Knowledge’s script to Pause Ads with Low CTR is a simple solution:

Screen Shot 2019-04-18 at 3.25.35 PM

A real short snippet of code, at that – image source

This script will automatically pause the lowest performing ad in your campaign if one or more variants are present. Constantly pruning your worst performers is an effective way to keep your campaigns on track.

Declining Ad Groups Report
A personal favorite for keeping our clients’ ad groups up to par, the Declining Ad Groups Report script produces a spreadsheet that automatically populates with ad groups that are trending downward:


This script can also provide a multi-account view – image source

The script is pre-built and looks for three specific events in your ad groups:

  • The ad group is enabled (on) and is part of an active campaign.
  • CTR (click-through-rate) has decreased.
  • The CTR has been falling for three consecutive weeks.
The “three weeks” criteria is useful because it won’t notify you immediately when an ad group starts to dip, ensuring a higher rate of statistical significance. In other words, if an ad group appears on this spreadsheet, you’ll need to address it sooner rather than later.

24/7 Bidding
Google Ads breaks bidding times down in four-hour blocks. If that isn’t detailed enough for you, however, Brainlabs has a script for customizing bids by the hour.

With their spreadsheet, you can avoid bidding on keywords at the wrong time, like “pizza delivery” at 9:00 in the morning. Brainlabs’ template even makes it easy to reference in your script:

Screen Shot 2019-04-18 at 3.26.46 PM

This spreadsheet would be the Object in your script – image source

3) Diagnostic Scripts

These scripts combine the first two types to allow a far more customizable (and oftentimes more useful) form of automation. While they may have taken some time to develop in the beginning, they’ve more than proven themselves worth it at this point.

These diagnostic scripts will actually help you optimize within your campaign via testing, reporting, and change management to help identify new opportunities and help implement new changes to optimize towards your specific goals.

N-Gram Script
We love the N-Gram script for growing and optimizing our Single Keyword Ad Groups, which we use to isolate targeted keywords to a singular search term.

Bringing your search term to keyword ratio closer to a 1:1 correlation gives you more control over the types of searchers viewing your ads.

The downside? You have to deal with a lot of ad groups.


I mean…a lot of ad groups – image source

To grow these ad groups and prevent overlap, we use negative keyword lists, which is where the N-Gram script comes in so handy. (The entire script is available in this Google Doc.)

By pulling 1-word, 2-word, and 3-word strings from search queries in a certain time frame, you can extract negative keywords within the account and look for new SKAG opportunities.


You can edit the script in the red sections. Nice, right?

You’ll need your own Google Doc to send your data somewhere, and it should look something like the screenshot below:


You can continue to filter your new search terms within this spreadsheet.

If you’re like us and tons of keywords and/or search terms is your thing, you could do a lot worse than the N-Gram script.

Ad Copy A/B Test Script

This custom script that we created in-house goes beyond data collection and actually dips into analysis -- just a little bit.

By tracking active campaigns and analyzing specific datasets, this script applies a “Winner/Loser” tag to ad variants based on performance metrics.

By reducing your “analysis overhead,” you’ll be able to make quicker decisions about ad tests and move onto more fruitful optimization efforts quickly.


Instead of clicking through to each CTR and Conversion Rate, “Winners” and “Losers” appear at the ad level – image source

The script doesn’t require editing beyond adding your own performance thresholds. You can also filter campaigns by label to find your winners and losers more easily.

Now, as I mentioned at the beginning of this post, PPC automation goes beyond the use of scripts and different tools to help ease the management of your campaigns. If you really want to take your campaigns to the next level in terms of automated scheduling, customization, and management, there are full-scale software at your disposal for that very purpose.

Taking It One Step Further With Full-Scale Software

Now this is all a lot to take in. And, depending on your level of digital marketing expertise, you may or may not be ready to take on such a large project.

So keep in mind, you can manage all these integrations and automation on your own, or….

You can find a comprehensive platform that handles all of these things for you! I wonder if I can think of one…. ;)

Timelining Ads For Split Testing & Ad Variance
One of the biggest perks of using a comprehensive automation platform like AdStage is that it allows for easy management of your ad timeline(s). You can schedule and split test your different ad variants to save time with large scaling testing initiatives.


Here’s a screenshot of what an ad timeline might look like - image source

This can be helpful for a few reasons:

  • For starters, it helps keep your campaigns safe from ad fatigue — where your users are overexposed to the same ad experience or creative and grow “numb” or “blind” to your brand’s presence online. This is the exact opposite of standing out from the crowd; it’s fading away into the background.
  • The second is that it allows you to really think your ad testing through to the end. Especially if you’re testing certain offers against others, considering when you’re running these tests may help you save some serious budget burn if you can find you’re winning CTA before your seasonal rush.

And ad scheduling is only one of the aspects of PPC automation tools that make them worth considering.

Continuous & Automated Reporting/ Alerts
Most automation platforms also boast the ability to set up automatic alerts to keep you informed and in tune with your campaigns’ performance.

By setting certain rules and custom thresholds for the platform to keep an eye on, you can be notified whenever your metrics drop below a certain point.

This way even random brakes to your site or Google updates that you didn’t catch in time won’t decimate your ROAS without you knowing what’s happened.

Custom Rules For Automated Optimization
With the new options in Automate, AdStage is now allowing you to actually convert alerts you’ve set in your campaigns to actual rules that they follow. These custom rules can now be turned into automated optimization across the board.


You can see here how you can take winning alerts and instantly make them rules - image source

This way, the positive effects of your automation can start to compound as your saved time from the alerts is now also serving as smoke test for future automation rules that you can use across your entire ad strategy.

Cross-Network Tracking
Lastly, these PPC automation platforms allow for the much-needed and much-easier integration of multiple networks’ data. In today’s post-digital marketing world, we all have to agree that the paid advertising experience goes beyond just PPC in the Google Search Network.

Online advertising is a holistic, digital experience these days that spans across social media, multiple search networks, and even email.

While scripts and custom builds may offer you some form of customized visibility into your campaigns, neither can compete with the birds-eye-view of cross-network tracking that platforms like AdStage can offer you.

And with that type of visibility, who knows what type of insights you may be able to find and implement in your campaigns.

Conclusion: Save The Management For The Robots, And Insights For You

Automation can save you valuable time, resources, and brain power, simple as that.

But the biggest wins from automation don’t just come from the savings, they come from where you can re-invest those savings in resources and brain power within your campaigns.

Without wasting time and energy on the minutiae of your PPC campaigns, you can free up both fiscal and mental space for what really counts — new, needle-moving changes that will generate new leads, new revenue, and increased ROI.


AdStage Team