Google Ad Grants – Free Reporting Google Ads Script (Updated 10/2022)

This Google Ads script helps you check if your Ad Grants account complies with the new Google policy

Posted by Vincent Hsu
on 18/04/2018

In the beginning of the year, Google made some important changes to it’s ‘Google Ad Grants’ program policy. We started by manually checking the accounts we manage, spending countless hours to find the needle in the haystack.  It was repetitive, boring, and definitely not easy to do without any mistakes, so a few months ago, Lou and Laure decided we should automate most of these checks and since it’s for nonprofits we decided the right thing to do would be to give it for free. Please keep in mind that this does not replace human review of your keywords to make sure they relate to the core mission of your nonprofit.


LATEST UPDATE : 05.10.2022 : Works with Google Ads ‘New experience’ : Updated some variable types (let, const) + switched from AWQL reports to GAQL v11 ( Should work fine till March/April 2023 when v11 sunsets). Added a new spreadsheet url for single keywords : The old one seemed to have too much simultaneous connections. Maybe it could be a good idea to copy the ‘single keyword spreadsheet’ to have your own version and avoid any future errors. Only checks for 2 ads are available if no RSA is in the ad group.

Here’s what the Google Ads script checks:

  1. Detect single-word keywords that are not branded or not in the official authorized list (this list is automatically updated once a week)
  2. Detect if campaigns with have bidding strategy set to ‘maximize conversion’ to allow bids higher than 2 dollars
  3. Detect if each campaign has at least 2 active ad groups with at least 2 active text ads or at least 1 RSA
  4. Detect if each account has at least 2 active sitelinks
  5. Detect if each campaign has geo-targeting .
  6. Detect keywords that have a quality score under 3
  7. Check  if CTR is over 5%

All the information you need will be stored in a Google Spreadsheet and you’ll also receive an e-mail that summarizes the report’s content. It should not take you more than 10 minutes to have it up and running.

Installation Guide

Step 1 : Copy the Reporting Template Spreadsheet in your Google Drive

  • The first thing you need to do is to make a copy of this Google Spreadsheet and rename it to something meaningful. Don’t forget to give read/write rights if you’re using a different Drive Account. At this point, the report might not look very exciting, but don’t worry our script will fill it with the data you need. For now, just save the url of your newly created spreadsheet (you will need it later on).

Step 2 : Copy the Script in your Google Ads account

  • Open your Google Ads account, click on the ‘tool icon’, navigate to ‘Scripts’ and add a new blank script by clicking on the big blue button with a plus.

  • Rename the script to something that makes sense, erase everything inside and copy paste the code below or copy/paste from inside the container (this installation guide is for the single account version)

Step 3 : Customize, Authorize & Schedule

  • Next you need to customize these 3 variables : SPREADSHEETURL, ALERTMAILS & BRANDEDKEYWORDS, this should be quite straigthforward.
    1. SPREADSHEETURL (on line 19) is the url of the spreadsheet you should have saved at step 1.
    2. ALERTMAILS (on line 21) contains the list of e-mail addresses that will receive a notification every time the script runs, you can add multiple e-mail addresses separated by commas :
       var ALERTMAILS =  ['[email protected]','[email protected]'];

      If you add multiple e-mails don’t forget to give the e-mail recipients sufficient access rights to the Google Spreadsheet.

    3. BRANDEDKEYWORDS (on line 23) should contain a list of single keywords related to your brand that the script should ignore in the ‘single keywords’ report tab, you can also add other keywords that you don’t want to see in your reports if you have a good reason to believe they are authorized. Keep in mind that single keywords that contain subsets of these keywords will not appear in your reports for example if you add  :
      var BRANDEDKEYWORDS = ['super','mybrand'];

      The single keyword ‘singlesuperword’ will not appear in the single keywords reports. Please also note that you do not need to include officially authorized keywords here since we already take them into consideration using this spreadsheet . This list is currently automatically updated weekly using the official list provided by Google (If you prefer to use your own list you can update line 340 with your own spreadsheet as long as the tab name has the exact same name and that the first column contains the list of authorized keywords).

    4. INCLUDEPAUSED (Optional : on line 25) if you’d like to include paused keywords and active keywords that are in paused campaigns or ad groups you can set this parameter to true or false if you do not want to include data from paused entities.
  • Once you’re done setting the parameters click on the ‘Authorize’ button to authorize the script to send you e-mail & read/write to the spreadsheets. Please note that this is a report only script, the script will not modify anything in your account & will not send anything to us or anyone else not defined in the ALERTMAILS variable.

  • Click on the PREVIEW link and wait for it to finish, if you followed the set-up correctly there should be no error alerts. After the execution of the preview you should receive an e-mail with a summary of the report and a link to the complete report spreadsheet. Click on the link and check that the report is filled with data.

  • You’re almost done! The last step is to save, close and schedule the execution of the report, once per week should be enough for most accounts. Click save and your done, you will now receive an e-mail every week and will be able to check regularly that your Google grants accounts is compliant with the new Google grants rules.

Final Thoughts

We hope that this script will save you as much time as it did for us by helping you quickly check where you’re account is not respecting the rules. Nevertheless we cannot guarantee that these rules will not have evolved by the time you read this, so it’s up to you to check. Also make sure you are targeting keywords related to the core mission of your nonprofit. We will try to keep this post up to date and will update the script accordingly (until the reports that Google provides to ad Grants account holders are updated). Please also keep in mind that we are not Google and cannot guarantee that the automated checks done on Google’s side are the same as the ones we implemented in this script.

Posted in : Google AdWords | Script | SEA

Let's get in touch

    This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.


    Subscribe to our newsletter (in french only).