Account Structure Audit
Finds the structural gaps that stop ad groups from serving: ad groups without active ads, without an RSA, without keywords, keyword-stuffed themes, and multi-RSA ad groups.
by Google (original concept), chiliad (GAQL rewrite)·web.archive.org/web/20230204180002/https://developers.google.com/google-ads/scripts/docs/solutions/account-auditor
Overview
Account Structure Audit sweeps every enabled Search ad group and reports five structural checks: ad groups with zero enabled ads (serving nothing), ad groups without an enabled Responsive Search Ad, standard ad groups with zero active keywords (DSA ad groups are exempt), ad groups holding more keywords than your threshold (themes that broad rarely match one ad well), and ad groups running multiple enabled RSAs (informational — consolidating assets into one strong RSA usually beats splitting them).
Setup
- 1Open your Google Ads account and go to Tools → Bulk Actions → Scripts.
- 2Click the + button to create a new script and paste the code below.
- 3Adjust MAX_KEYWORDS to your structural standards (default 30).
- 4Set EMAIL_ADDRESS to receive the report; leave blank for logs only.
- 5Preview once to verify, then schedule weekly.
Configuration Variables
| Variable | Default |
|---|---|
MAX_KEYWORDS | 30 |
EMAIL_ADDRESS | (empty) |
Expected Output
=== Account Structure Audit === Enabled ad groups audited: 87 --- NO ACTIVE ADS (1) --- Shoes — Generic > Trail --- NO ENABLED RSA (2) --- Brand — Exact > Legacy ETAs Sneakers > Promotions --- NO ACTIVE KEYWORDS (0) --- (none) --- MORE THAN 30 KEYWORDS (1) --- Generic — Broad > Catch-all (112 keywords) --- MULTIPLE ENABLED RSAS - INFO (3) --- Brand — Exact > Core (2 RSAs) Email sent to you@example.com
Notes
Search campaigns only — Shopping and PMax have different structural rules. An ad group with only disapproved ads still counts as having ads; run a disapproved-ads check alongside this one to catch that case.