How To Track Your Daily Quality Score

The importance of Quality Score is a hotly debated topic in the PPC world. However, I can say with confidence that this metric is one that would be good to keep an eye on. No, it shouldn’t be a main focal point for you or your client, but it’s helpful to track when you’re looking for ways to improve account efficiency. For those who are unfamiliar with what Quality Score is, check out Google’s article on it.

According to Google, Quality Score can affect your ads’ auction eligibility, ad position, and most importantly, your CPCs. Larry Kim, Founder and CTO of WordStream, wrote an excellent blog post on the impact Quality Score can have on your CPCs. Without going into too much detail, keywords with a higher Quality Score get a nice discount from Google, while keywords with a lower Quality Score are actually charged more, which is why it’s a good idea to keep track of it regularly. Here are some other use cases for tracking QS:

  • Ad copy testing
  • Landing page testing
  • Keyword expansion/relevance

Now onto the good stuff. To start tracking your QS on a daily basis, you’ll be using an AdWords script. I can’t take credit for writing this, but I do use it for a few of my clients and have found it incredibly useful. Here’s the step-by-step:

  1. Create a spreadsheet in your Google Drive. Be sure to create three tabs within the spreadsheet – Account, Campaign, and AdGroup. Keep the URL for the sheet handy as you’ll need it in a sec. (I’d also suggest you add as many rows as possible to the bottom of each tab, since these things will fill up quickly.)
  2. Log in to your AdWords account and click on Bulk Operations.
  3. Click Create and manage scripts.
  4. Click the red + SCRIPT button.
  5. Clear out the example script and paste in the contents of this document: QS Tracker Script.
  6. In the fourth line, be sure to replace the “YOUR URL HERE” with the Google Drive spreadsheet URL you created earlier. Note that you do need to keep the quotation marks on each side of the URL.
  7. Preview the script if you’d like, and click Save whenever you’re ready.
  8. Click the Create schedule button on the Scripts screen and choose the option to run it Daily.

And voila! Your Google Sheet will fill up with Quality Score magicalness on a daily basis. All you need to do now is copy and paste it into an Excel sheet or whatever other way you might find it most useful. Here’s a sample spreadsheet you can use:

Quality Score Tracker

Just paste your QS data into the Raw Data tab and use the pivot tables to track your QS by Account, Campaign, or Ad Group.

Hope that helps! Here’s a meme:

Meme

Tags:
Point It About the author
Comments:
  • Kemal
    Reply

    Hi Phu,

    Great and very inspiring article! I will definetely bookmark this post and make use of it in my future work with QS-improvements. The final link with the Excel sheet with pivot table does not work – would you be able to fix this?

    Thanks again for a great article!

    Best regards
    Kemal

    October 20, 2014 at 2:23 am
  • Kemal
    Reply

    Hi Phu,

    Great and very inspiring article! I will definetely bookmark this post and make use of it in my future work with QS-improvements. The final link with the Excel sheet with pivot table does not work – would you be able to fix this?

    Thanks again for a great article!

    Best regards
    Kemal

    October 20, 2014 at 2:23 am
  • Ramiro
    Reply

    Hi, I found your script quite useful, but at first I couldn’t get it to work. If anyone has some errors, you must
    1- When placing your spreadsheet URL, paste it exactly as you get it from sharing settings in Google Drive.
    2- The part of the script that adds new rows has an error. You have to remove “+1” from sheet.insertRows(last_row+1,to_write.length-numRows+last_row);

    This would be the chunk of code:

    // Super fast spreadsheet insertion
    function _writeDataToSheet(sheet,to_write) {
    var last_row = sheet.getLastRow();
    var numRows = sheet.getMaxRows();
    if((numRows-last_row) < to_write.length) {
    sheet.insertRows(last_row,to_write.length-numRows+last_row);
    }
    var range = sheet.getRange(last_row+1,1,to_write.length,to_write[0].length);
    range.setValues(to_write);
    }

    April 10, 2015 at 10:00 am
  • Ramiro
    Reply

    Hi, I found your script quite useful, but at first I couldn’t get it to work. If anyone has some errors, you must
    1- When placing your spreadsheet URL, paste it exactly as you get it from sharing settings in Google Drive.
    2- The part of the script that adds new rows has an error. You have to remove “+1” from sheet.insertRows(last_row+1,to_write.length-numRows+last_row);

    This would be the chunk of code:

    // Super fast spreadsheet insertion
    function _writeDataToSheet(sheet,to_write) {
    var last_row = sheet.getLastRow();
    var numRows = sheet.getMaxRows();
    if((numRows-last_row) < to_write.length) {
    sheet.insertRows(last_row,to_write.length-numRows+last_row);
    }
    var range = sheet.getRange(last_row+1,1,to_write.length,to_write[0].length);
    range.setValues(to_write);
    }

    April 10, 2015 at 10:00 am
  • Jake
    Reply

    Hi, thanks for this, how do you use this to track keyword QS as well as the 3 mentioned? I have added a keyword tab hoping that would work however it doesn’t seem to do the trick. Any help will be much appreciated.

    January 20, 2016 at 5:36 am

Leave a Comment: