Ad Copy Text QA
Proofreads every enabled RSA for outdated years, double spaces, repeated punctuation, placeholder text, policy-risky ALL-CAPS words and stray spaces — the embarrassing details reviews always miss.
by Dmytro Tonkikh·chiliad.io
Overview
Ad Copy Text QA reads the headline and description texts of every enabled Responsive Search Ad and runs six editorial checks: year references older than the current year (the January classic), double spaces, repeated punctuation like '!!' (also a policy risk), placeholder fragments (tbd, lorem, xxx, [insert), fully capitalized words that risk editorial disapproval, and leading/trailing spaces. Acronyms you legitimately use go in ALLOWED_CAPS so they stop triggering.
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.
- 3Add your industry's acronyms to ALLOWED_CAPS (e.g. 'HVAC', 'CBD') so they aren't flagged.
- 4Set EMAIL_ADDRESS to receive the report; leave blank for logs only.
- 5Preview once to verify, then schedule weekly (or daily in January, when outdated years bloom).
Configuration Variables
| Variable | Default |
|---|---|
ALLOWED_CAPS | ['USA', 'SEO', 'SEM', 'PPC', 'CRM', 'ERP', 'SAAS', 'B2B', 'B2C', 'VIP', 'FAQ', 'IOS', 'GmbH'] |
CHECK_YEARS | true |
EMAIL_ADDRESS | (empty) |
Expected Output
=== Ad Copy Text QA === Responsive Search Ads checked: 46 Ads with findings: 2 Brand — Exact > Core (ad 712345678901) - OUTDATED YEAR (2025) in headline "Best Prices 2025" - DOUBLE SPACE in description "Free shipping on all orders." Sneakers > Promotions (ad 712345678903) - ALL-CAPS WORD (SALE) in headline "Huge SALE This Week" Email sent to you@example.com
Notes
String checks only — this is a lint pass, not a spell checker, so it produces near-zero false positives but won't catch genuine typos in normal words. Dynamic ads (DSA) and PMax assets are out of scope; only Responsive Search Ad text is checked.