Compliance Script for Google Ad Grants

1 minute read

In January 2018, Google Ad Grants substantially changed their policy requirements for grantees. (See Google’s Ad Grants Policy Compliance Guide). Since maintaining our Google Ad account is not an explicit part of RIM’s mission, we developed a script to evaluate our account for compliance to these policies. The script runs every morning around 6am and emails a report that delivers the results of each test (PASS/FAIL). In the event that a test fails, enough detail is provided to allow us to remedy the problem.

Example Email

[PASS]: Account CTR for last 30 days is 14.06%.
[PASS]: Account CTR for last month is 10.12%.
[PASS]: Account has at least TWO sitelink extensions.
[PASS]: Account uses geo-targeting.
[PASS]: All ad links working.
[PASS]: All sitelink extensions links working.
[PASS]: AdGroup Center has at least TWO active text ads.
[PASS]: AdGroup Drop-ins has at least TWO active text ads.
[PASS]: Campaign Rooted In Mindfulness has at least TWO active ad groups.
[PASS]: All keywords have quality scores greater than 2 (or no quality score).
[PASS]: No single word keywords.
[PASS]: At least one conversion in last month (2 conversions).

What do we test?

We test everything that can be easily automated. An account that passes all the following tests will not necessarily be in compliance with the Ad Grants program. There are other compliance criteria that this script does not evaluate, and

Google reserves the right to grant or deny an organization’s application or participation at any time, for any reason, and to supplement or amend these eligibility guidelines at any time. -Google Ad Grants Terms and Conditions

Account Structure

  1. For each campaign, are there at least two active ad groups?
  2. For each ad group, are there at least two active text ads?
  3. Does the account have at least two sitelink extensions?
  4. Does the account use geo-targeting?

Account Performance

  1. Is the click-through rate (CTR) for the account above 5% over the last 30 days?


  1. Does the account NOT have any single-word keywords?
  2. Does the account NOT have any keywords with a quality score less than or equal to 2?
  1. Does the account NOT have any broken links?


GitHub hosts the latest version of the compliance script: