Using AdWords Scripts for PPC Campaign Management

Few understand the power of AdWords scripts, and even fewer use them to capacity. Did you know that you can use AdWords scripts to automatically update bids based on specific parameters on an hourly basis? That you can pull out converting search terms, to then be added back as exact match keywords? All with an incredible amount of flexibility?

Going Down the Rabbit Hole

A few months ago I attended a conference where Frederick Vallaeys from Optmyzr gave a talk about AdWords Scripts. I was intrigued, to say the least. What were these scripts capable of? How much data can you export using the API? I found a fantastic programmer with an understanding of AdWords, and went to work testing the boundaries of AdWords Scripts.

We started with something simple – can I replace my AdWords reporting tool, for which I pay $150 per month, with AdWords scripts? We wrote down all the KPIs that we wanted to track and all the different reports clients want to see, and voilà, we had an in-house reporting solution. One that we can change and customize as we see fit, and that can be adapted as our needs change and evolve. This script tracks the performance of the campaign day over day, month over month, year over year, and comparing two different time periods.

performance-comparison

Using Google Spreadsheets as the Foundation

Next we wanted to find a solution where we had a high degree of control. We had seen scripts that automatically made changes, and the results were seen in the scripts logs. But this was difficult to manage as there was no human oversight. Instead, we decided to incorporate Google spreadsheets as an intermediary for every script. Our goal was to marry automation with human intervention for the perfect combination of expediting account management while automating anything plausible.

Using AdWords Scripts to Optimize Directly

Instead of using AdWords Editor or the Campaign Management tool directly, we use the same spreadsheets to upload all the data to AdWords. So all of the items mentioned above can be changed and controlled directly through the spreadsheet. The scripts have two settings: Export, and Change. The first time we run them, they export all the data to the spreadsheet. Then, when we determine the changes we want made, we run it again to execute the changes.

Filtered Data

Our next script was a script that allows us to pull out our data. Think filters that export to Google Drive. Why do this when you can see filtered views on the AdWords interface? The benefit of mirroring filters with an AdWords scripts is that we can export all of that data into a spreadsheet. So the first step of that script is to export the filtered data, for a human to review.

From there, we can do any one of a number of things:

  • Pause the keyword
  • Raise/Decrease the Bid by a multiplier
  • Move the KW to a new or different ad group
  • Label the KW to be managed by a Bidding Script

keyword-manager

For every account, our first step is to determine what are the parameters – what is the average CTR? What is the max CPA? What is the average number of impressions? Based on this data, we write our rules. Here are a few examples:

QS less than or equal to 2, No Clicks, less than 20 Impressions, Position worse than 4

  • Our goal for these keywords is to increase the bids to see how they perform with a better average position

QS less than or equal to 2, No Clicks, less than 20 Impressions, Position Better than 4

  • These keywords are losers so they get paused

CTR greater than 5, Converted Clicks greater than 5, QS greater than 7

  • These are winners so we use a bidding script to keep them in Positions 1 – 2

CTR greater than 5, Converted Clicks greater than 5, QS less than 5

  • We move these to their own ad group, and perhaps change the landing page, to improve CTR and focus on raising QS

Clicks greater than 20, Click Conv Rate greater than 5, cost per Converted Clicks less than 20, CTR greater than 2

  • These are winners so we use a bidding script to keep them in Positions 1 – 2

And on and on it goes. The first, and arguably most important task, is to get the best set of filtered results so you can start working with these keywords.

Testing the Limits

The two scripts mentioned were the first two, and from there, we’ve continued to develop different scripts. Here are a few examples:

  • Bid Manager: We create labels based on specific parameters, then the script updates bids on an hourly basis. Some of the labels are Bid to Position 1, Bid to Position 2, Multiply by 2. Each label has parameters, such as a max and min limit.

    bid-manager

  • Label Manager: Since the entire management system is based on labels, it’s of utmost important to maintain the labels properly. The label manager exports all of the labels for the entire account, and from the same script we can add or delete labels.

    label-manager

  • Converting Keywords Manager: This script pulls out search terms into a spreadsheet. From this same spreadsheet we can add the keyword as a campaign or ad group negative, to the same ad group as an exact match, or to a new campaign or ad group as an exact match.

    sqr-manager

  • Quality Score Tracker: This script grabs all of the keywords in an account and records the quality score on a daily basis. This way you can see how quality score is changing over time.

    quality-score-tracker

So there you have it. AdWords Scripts are an incredibly versatile, powerful tool to use in campaign management. Our use of these scripts has led to incredibly increases in CTR, lowering of CPA, and overall improvements of all of our accounts. We are seeing week over week and month over month increases that are absolutely astounding.

Do you have any AdWords scripts that you are currently using? What are your favorites? Are there any ideas for scripts you’d like to have someone develop? Share with us, we love to collaborate!

Related reading

merchant-promotions
average-quality-score-ad-data
ad-network-comparison
linkedin logo
Simple Share Buttons