A Closer Look at AdWords Scripts

A few weeks ago, Google announced the introduction of AdWords Scripts. It’s not really news nor is it an epiphany, but since I couldn’t find any article going much beyond the official announcement, I wanted to share my own thoughts on the subject.

finding-adwords-scriptsIf you already have access, you can find the AdWords Scripts on the left menu on the AdWords interface under the heading Automation.

If you don’t have it yet, you can request access by submitting this form. You can do this for as many accounts as you like and it seems that Google grants access to everyone. You won’t be notified though.

Scripting AdWords Scripts

AdWords Scripts are written in JavaScript. The easiest way to write scripts is by using the web interface Google has created. The IDE colours and indents your code and even offers the available functions as a drop down menu. This makes learning and exploring a lot easier.

In addition to the incredibly helpful drop down menus the button Show examples leads to nice collection of code snippets and a few complete scripts. Before running a script for real you can also use the Preview button to try out the script in a dry run (which applies no changes to your campaigns) for up to 30 seconds. With that much built-in help the official documentation becomes more or less redundant.

Integrating other Services

Besides some basic functionality directed towards AdWords campaigns, there are three other services from the Google Apps Script infrastructure that can be used in AdWords Scripts:

  • Google Spreadsheets
  • The URL fetcher lets you access external URL’s
  • The Mail service lets you send simple text emails (apparently up to 500 per day)

By using these services you could theoretically write some very complex applications. The URL fetcher in particular opens up all kinds of possibilities since it can be used to communicate with the outside world. There’s a very popular tutorial called Bid by Wheather which demonstrates how to access wheather data and manipulate bids accordingly (fair warning: reality is much more complex than this tutorial).

For practical use, I think spreadsheets are the most interesting service of the three. The obvious application here is to output statistics and generate reports. The service can be used to insert charts into spreadsheets, but there is an easier way to generate great looking reports (as demonstrated in the tutorial Create a keyword performance report): First, create the spreadsheet manually and include all the charts you want – that’s your template. Then use a script to update the stats the charts are based on – now you have a complete report.

Another application for spreadsheets is to use them as a primitive kind of database. Since you can read from spreadsheets, too, they can be used to remember things in between script runs.

Limits of AdWords Scripts

In theory you could write some complex applications and automate your reporting with AdWords Scripts. However, there are some limitations which drasticly restrict the usefulness of scripts.

The biggest restriction is probably that AdWords Scripts only offer a rudimentary functionality when it comes to AdWords itself. Everything revolves around campaigns, adgroups, keywords, and ads. Most functions are there to retrieve statistics, but only some basic statistics are available (conversion value, for example, is not). There are also a few functions to manipulate things, but it’s not a very long list:

  • Campaigns: activate, pause, change budget
  • AdGroups: activate, pause, set bid, add keyword, add ad
  • Ads: activate, pause, delete
  • Keywords: activate, pause, delete, set bid, set destination URL

That’s it. This covers the basics, but aspects like campaign settings aren’t supported. You can’t add campaigns or adgroups, you can’t change names or use labels. More importantly, things like ad extensions, product targets, and everything about the display network are completely missing.

Another limitation comes in the form of the maximum execution time of five minutes. This should be plenty, but AdWords scripts aren’t exactly fast.

I’ve played a little with the iterators and I’ve found that going through 10,000 keywords without doing anything already takes around two minutes. If you simply log the name of every keyword the script doesn’t even get through half of those keywords before it gets aborted after five minutes. This limits the use of complex applications which do a little bit more than just logging keyword names.

Another limitation is that scripts, although filed unter Automation, can’t be fully automated: If you want a script to run you have to start it yourself. Scheduling a script to run every day at midnight isn’t possible – yet. Eric Koleda from Google mentioned that they are working on that, but couldn’t offer a timeline.

AdWords Scripts vs. AdWords API

While AdWords Scripts are a very cool feature, they hardly offer any new possibilities. The good old AdWords application programming interface provides access to almost everything you can do on the AdWords interface itself. There are even a few features that are only available through the API. One of those features is ad parameters, which works well in combination with keyword insertion. I was a little bit surprised that AdWords Scripts doesn’t support this feature as this would’ve made a great selling point.

Using the API allows you to code in an environment of your own choice. This could be a server somewhere or simply your own computer. The programming language isn’t predetermined and neither are the tools and services you can use besides the API. There are hardly any restrictions as to when and how long programs can run. There are some fees for using the API, but these are usually negligible.

The big advantage of AdWords Scripts over the API is that they are simple. There’s a post from the Google Ads Developer Blog that compares the code for adding a keyword. Via the API it’s 15 lines of code, in AdWords Scripts it’s just one line.

Bottom Line

AdWords Scripts are cool, but to be honest, I don’t really know what to do with them. The interface is really nice and a great help for beginners to learn how to code. Plus, it’s definitely much more fun than the API. But what can you really do with these scripts?

Google has published a nice selection of complete scripts, but none of these seem useful to me. I mean, I don’t need a script to download statistics – the AdWords interface lets me do this much quicker and easier. The same goes for enabling or pausing things. And for adding or changing things the AdWords editor is a much better choice.

In the end, limited functionality and limited execution time limit AdWords Scripts to simple applications. On the other side, for many of those simple applications there are easier ways than writing a script to accomplish the same result.

There are some more advanced things you could do with AdWords Scripts, but then there’s the question of why not using the API directly? Sure, it’s more complicated, but who wants to implement something like a wheather based bid management that can’t handle more than a hundred keywords due to time constraints?

Still, there is one great thing about these scripts: They’re easy to publish and share. This makes them a great thing for the AdWords community – if the community is in fact willing to share. The question remains whether we can find enough useful applications for scripts…

About Martin Roettgerding
Martin Roettgerding is the head of SEM at SEO/SEM agency Bloofusion Germany. On Twitter he goes by the name @bloomarty, and you can find him regularly on #ppcchat.

  • Hi Martin,

    First time here, love the site. Your article resonates with my own reaction to the Adwords scripts: “The question remains whether we can find enough useful applications for scripts…” Without much coding experience their simplicity is welcome, but I’ve never had a problem finding someone who could implement the API for me.

    My hope is that the community gets creative with the scripts in combination with other G Apps features. If you come across anything, please don’t hesitate to share!

    Danny

    • Martin Roettgerding

      Hi Danny,

      just wanted to say a late thanks for your comment. Hope you’ve seen the other script…

  • Alex Lam

    Hi Martin,

    Thank you for this very helpful summary. It is disappointing that “ad parameters”
    was not included. It would have been a very powerful inclusion.

    http://adwordsapi.blogspot.ca/2009/11/more-dynamic-ads-with-ad-parameters.html

    Your summary saved me a lot of time wasted looking for it in the new tool.

    Regards,

    Alex

    Toronto Canada

  • RJ

    Great article, thanks for the write up. Just want to clarify that you can send HTML e-mails through AdWords Scripts too, rather than just simple text e-mails.

    • Martin Roettgerding

      Oh, great to know – thanks!

  • Ton F.

    Thank you for the great article.
    It’s almost 2 years old and recently support for shopping campaigns has been added.
    Unfortunately I still have to agree to the essence of your article: Adwords Scripts are still very limited – they can now run 30 minutes but are somewhat slow, so I found that not much can be done – basically nothing useful 😉

  • Hi Martin,
    I’ve just stumbled across this and wondered if, five years later, you’ve changed your mind on the utility of AdWords Scripts?

    • Martin Röttgerding

      Hi Charles,
      Yes, you could say that. Google has added so much things over the years – scripts are now powerful and easy to use.