Weekly Client Reporting Automation
A fully automated client report that pulls live data, generates AI-written narrative summaries, and delivers a clean PDF to clients every Monday — without a human writing a word.
- reporting
- AI writing
- client ops
Context
An agency managing 14 client accounts was producing weekly performance reports manually. Each report took 45–60 minutes: pulling GA4 data, formatting it, writing the narrative, exporting to PDF, and sending it.
That is 10+ hours per week on reporting. The reports themselves were high-quality, but the value was in the data and the narrative — not the formatting work.
What the automation does
Every Monday at 7:00 AM:
- Pulls current-week metrics from GA4 for each client
- Compares to prior week and prior month averages
- Feeds the data into Claude with a narrative prompt tailored per client
- Generates a 3–5 paragraph narrative with highlights and context
- Assembles data + narrative into a styled PDF
- Emails each client’s PDF to the correct recipient
- Logs delivery status and any anomalies to Airtable
Total elapsed time: ~4 minutes for 14 clients.
Workflow diagram
The narrative prompt
The key to making AI-generated narratives trustworthy is the prompt structure. The prompt includes:
- The client’s goals and KPIs (pulled from their Airtable record)
- This week’s numbers with deltas
- Instructions to highlight what is notable, not just describe every number
- A constraint: no more than 4 paragraphs, no bullet points
- A tone specification per client (e.g., “technical and precise” vs “accessible and optimistic”)
Sample narrative output:
Traffic this week reached 12,400 sessions, up 18% from last week and 34% above the monthly average. The driver was a spike in organic search on Tuesday and Wednesday — likely attributable to the product update post published Monday afternoon, which ranked quickly for several target keywords.
Conversion rate held steady at 3.1%, translating the traffic lift into 384 goal completions versus 278 last week. The contact form remains the primary conversion point (61% of completions). The new pricing page, launched mid-week, contributed 23 additional form submissions — a strong early signal.
One item to watch: mobile sessions grew 22% but mobile conversion rate is lagging at 1.8% versus 3.9% on desktop. This gap has widened slightly over the past three weeks and may warrant a mobile UX review.
Error handling
Three scenarios require special handling:
GA4 API failures: If the data pull fails, the workflow sends an internal Slack alert and skips that client’s report. The client receives a brief note that their report is delayed.
Anomalous data: If any metric is more than 3 standard deviations from the 90-day average, Claude is instructed to flag it explicitly rather than treating it as normal variation.
Missing client config: If a client’s Airtable record is missing required fields, the workflow halts and alerts the ops team.
Outcomes
- Reporting time per week: 10+ hours → ~20 minutes (review + send approval)
- Client satisfaction with reports: unchanged (clients do not know they are AI-generated)
- Error rate in first 60 days: 2 delivery failures, both caught by monitoring
The 20 remaining minutes are a light review step — one person scans each report before it sends. This is a deliberate choice. The AI is excellent at narrative, but a human sanity check on the numbers before client delivery is worth the time.