Enhanced Script: Collect Hourly Stats for AdWords


Collect Hourly AdWords StatsHave you ever wanted a way to get more granular stats for AdWords than what's available from the AdWords website? Well then this AdWords automation script is for you... It saves stats for campaigns, ad groups and keywords you choose to a spreadsheet once per hour. It can even save the maximum CPC and the Quality Score, two elements whose historical values are not saved inside AdWords.

Example Use Cases

  • Keep track of attributes that the AdWords system does not provide historical data for. For example, use this script to record the Quality Score of your most important keywords every hour. AdWords does not store historical QS so the only way to get this data is to save it.
  • Understand the delivery curve for your ads so you can understand if most of your budget is spent at a particular time of the day. The next time your boss wants to know why the account spend seems low for the day, you can use this hourly data to make sure things are running as expected and show that spend always picks up later in the day.
  • Monitor your top 10 most important keywords more closely than the rest of your account by automatically putting their latest stats into a spreadsheet which you can then use to feed into a dashboard.
Automatically get stats for your most important campaigns, ad groups and keywords from AdWords every hour.
Automatically get stats for your most important campaigns, ad groups and keywords from AdWords every hour.

Under The Hood

This script runs once per hour and stores the daily stats for the selected items at that time. Because stats can be delayed and because the script may run at any time during the hour, you will see an hour-by-hour progression in the recorded stats but you will not see stats for specific hours. Usually scripts will run at the same time every hour so you might see stats for today through 8:23am on one line and then stats for today through 9:23am on the next line.

Because this script stores a lot of data in Google Spreadsheets, you should frequently create a new spreadsheet to make sure it doesn't reach its limits. For example, create a new spreadsheet weekly or biweekly depending on the amount of data you're collecting. This script can be adapted to automatically start a new spreadsheet on a predefined cycle but that requires storing the current spreadsheet URL somewhere (for example in a label or in another spreadsheet).

Get This Script

You can run this script from the Enhanced Scripts™ section in your Optmyzr account.


  • Vasso Vassiliades

    I want to check whether i could use this to setup a notification on the hour that we reach a certain converted click number that is specified. e.g. client has capacity of 10 enquiries/converted clicks, when this is reached i get notified and ideally would like to auto pause the campaign from then for the day and autostart the next day!