I used to spend 12 hours per month on client reporting. Data gathering, analysis, commentary, formatting, deck building. It was the least interesting part of the job.

So I built a system to automate it. The system pulls data from GSC, Analytics, and my time tracking, analyzes it with Claude, and generates a formatted deck.

Clients say the insights are better. I spend 2 hours reviewing and approving.

Here's what the system does and how I built it.

The old process (12 hours)

1. Pull GSC data (30 min) — Download impressions, clicks, positions for the month 2. Pull Analytics data (30 min) — Sessions, users, conversions 3. Gather backlink data (60 min) — SEMrush competitor analysis, new backlinks 4. Calculate year-over-year changes (60 min) — Manually creating spreadsheets with growth rates 5. Write analysis (300 min) — "Traffic is up 15%. Impressions are down 5%. Here's why..." 6. Build PowerPoint deck (180 min) — Copy-paste data into slides, format tables, add charts 7. Send and present (30 min)

Total: 660 minutes (11 hours) of me staring at spreadsheets.

What I automated

Data collection: API calls pull GSC, Analytics, and SEMrush data automatically. No download, no spreadsheet hunting. Takes 5 minutes.

Analysis: Claude reads the data and generates:

  • High-level summary (what moved, what didn't)
  • Root cause analysis (why did traffic drop? why did rankings improve?)
  • Recommendations (what to do next month)
  • Risk assessment (where are we vulnerable?)
  • Takes Claude about 90 seconds per report.

    Formatting: The system takes Claude's analysis and populates a Google Slides template. Title slides, data slides, charts, interpretation. All automatically formatted.

    Takes 120 seconds.

    The stack