Enhanced Script: Pause keywords with a low Quality Score


This AdWords Script generates a Google Sheet with a list of all the active keywords in your account that have a Quality Score lower than a predefined Quality Score. It also provides the option to pause these keywords.

This script provides other metrics like cost, impressions etc. for a given period of time to help you gauge the performance of keywords in your account prominently.


Example Use Cases

  • Get a list of keywords that fall below a certain quality score and optimize them
  • Do a regular clean up of your AdWords account by pausing keywords with very low Quality Scores

Settings and Customization

  • EMAILADDRESS:  tells the script the email addresses that should get a notification when it finishes creating the spreadsheet. To send to multiple recipients, separate the email addresses with a comma. Do NOT include the name of the person... only include their email address.
  • QualityScore: defines the threshold Quality Score for the keywords to be identified.
  • Pause: To pause keywords with a lower quality score, change the value of the field Pause to true.
  • Date_Range:  tells the script the date range to include in the calculation. E.g. 'LAST_30_DAYS'. You can also use the format 'YYYYMMDD,YYYYMMDD'.

Get This Script

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

9 thoughts on “Enhanced Script: Pause keywords with a low Quality Score

  1. Using the code of download script get this error in adwords :

    Invalid reporting query: INVALID_PREDICATE_ENUM_VALUE: ACTIVE. (line 31)

      1. We thought you're using Enhanced Scripts where you don't have to download the script again and any changes to the code are automatically taken into account :) For the regular version of the script, you'll have to download the script again and paste it in your account for the new changes to reflect.

        1. I use the regular version , and download latest version now with this new error:

          Service error: Spreadsheets (line 22)

          exactly this line: var workbook = SpreadsheetApp.create("Keywords with low Quality Score (" +

          I use enhanced scripts for this script now and works fine , thanks.

          I want ask you for new features so this script will be really useful.

          Simply add some new things to stop a word like:

          CTR < 3% for example or CTR 10 $
          Conversions = 0
          Cost > 30$

          So you can select some of them to do a intelligent script with human behavior.

          Because some times words with low QS give us conversions , or have great CTR ant we don't want stop it.

          With recent changes in QS , visible QS is different and we have to see other metrics , see last white paper from Google about QS June 2014.

          This script with this changes would be really really useful.

          1. Glad to hear it's working with Enhanced Scripts! I'll share this feedback with our scripts specialist and we'll keep you updated.

          2. Hi Enrique, Reason I haven't built this is twofold:
            1. I think this should be fairly easy to set up with an AW Automated Rule so there's not much of a value-add we could offer.
            2. Our Rule Engine can change bids in this scenario. It can't pause the kw yet but that is coming.
            Let me know what you think about Automated Rules though and if those don't work in this case...

          3. True, now with rules can do it.
            All except active rule only for keywords with for example 75 impresions in top position. This is great for determine if CTR is low or high for one keyword. This can't we do it with rules.
            And is importante only aply rule or script for [exact match]

  2. Still same error:

    Invalid reporting query: INVALID_PREDICATE_ENUM_VALUE: ACTIVE. (line 33)

    And the line is:

    var report = AdWordsApp.report("SELECT CampaignName, AdGroupName, KeywordText, Cost, Impressions, Conversions, QualityScore "+

Comments are closed.