SEM Auditor
Automated Google Ads account audits with prioritised findings
- Rule design, product and AI-assisted development
- September 2026

The figures in the screenshots belong to a fictional sample account, not a client.
Overview
A tool that reads a Google Ads account — via CSV or the API — runs 13 audit rules and produces a report with a health score and actionable recommendations.
My own tool to speed up SEM campaign analysis. Screenshots use the fictional sample account “Jardín&Hogar”.
- audit rules
- 13
- account health score
- 0–100
- priority levels
- 3
- inputs: CSV or Google Ads API
- 2
Built with generative AI assistance. The audit engine is deliberately deterministic: explicit rules and configurable thresholds, so every finding can be explained.
No public demo: this project runs locally.
Auditing a Google Ads account is slow and repetitive.
Checking budget-limited campaigns, keywords that spend without converting or badly structured ad groups means exporting reports, cross-referencing them in spreadsheets and repeating the same checklist every time.
I wanted that review to be systematic: the same rules, the same thresholds, the same output format and a clear way to decide where to start.
From raw data to a prioritised list.
Input
Exported CSVs (ES/EN headers, comma or dot decimals) or the Google Ads API
Normalise
data_loader → AccountData
Rules
13 checks with configurable thresholds
Score
100 − severity-weighted penalty
Report
Standalone HTML via Jinja2
What it checks.
- Budget and impression share
- Budget-limited campaigns and impressions lost to ad rank.
- Wasted spend
- Campaigns and keywords with significant spend and zero conversions; search terms that should be negatives or show non-commercial intent.
- Bids and quality
- Low Quality Score keywords, CTR below the account average and device imbalances.
- Structure
- Keywords duplicated across campaigns and ad groups that are too small or too large.
- Ads
- Ad groups with fewer than three active ads and ads with low or average Ad Strength.
A report you can read in two minutes.
Fictional sample account “Jardín&Hogar”, generated to test the tool.


Why it is built this way.
- CSV first
- The recommended path needs no credentials: anyone with account access can export and audit. The API is optional.
- Explainable rules
- Every finding shows its evidence and affected examples. A support tool, not a replacement for a specialist’s judgement.
- Zero friction
- Double-click launchers for Windows and macOS, a desktop window, and a CLI for those who prefer it.
Formalising judgement is the hard part.
Writing the code was the fast part. What took time was turning specialist intuition (“this keyword spends too much”) into rules with defensible thresholds and concrete recommendations.
That same logic — explainable rules, severity and priority — became the foundation of the SEO Auditor I built afterwards.