Case study · 04
Monthly Google Ads Performance Analysis
Automates previous-calendar-month analysis, deterministic KPI calculation, constrained AI observations and structured stakeholder reporting.
System overview — a simplified portfolio diagram showing the governed path and human-control boundary.
Project overview
A clearer route from problem to action.
I designed a repeatable monthly reporting workflow that retrieves or safely mocks ad data, calculates KPIs in JavaScript and uses only aggregated evidence for constrained, schema-validated observations.
Business challenge
The friction behind the workflow
Repeated exports, spreadsheet calculations and report assembly can delay monthly reporting and produce inconsistent outputs.
How it works
From input to controlled outcome
- 01
Calculate the exact previous calendar month.
- 02
Use sanitised mock data or query SearchStream when live mode is explicitly enabled.
- 03
Normalise rows and calculate weighted KPIs deterministically.
- 04
Prepare minimal aggregated evidence for structured analysis.
- 05
Validate or fall back to a deterministic report, then archive idempotently.
Designed value
What the system is built to improve
- A consistent monthly reporting process
- Fewer spreadsheet calculation errors
- Clearer results for non-technical stakeholders
- An idempotent historical reporting record
Responsible AI & human control
Automation supports judgement. It does not replace it.
- Mock mode on by default
- External writes and notifications off by default
- Zero denominators handled explicitly
- AI cannot invent or calculate metrics
- Unique report key prevents duplicate periods
My contribution
Architecture, logic and safeguards
I defined the requirements, architecture, Google Ads query, deterministic KPI calculations, reporting structure, mock fixtures, fallback reporting and guarded archival.
Current validation status
Mock fixtures and KPI logic have been validated offline. Live Google Ads, OpenAI, Google Sheets and Slack execution remains untested.