Set up automated monthly client reports for retainer justification
You manage 12 Webflow sites on monthly retainers. Every month the same ritual: screenshot Lighthouse, paste into a Google Doc, write three paragraphs of "here's what we did," send. Four hours of your life gone, and half the clients don't even read it.
This guide automates 90% of that work using Site Health's Weekly Digest + a Claude summary, so you can send a polished Monday recap in under 15 minutes per client.
1. Enable Weekly Digest per site
For each client site, go to the site detail page and scroll to Automation Settings. Toggle on Weekly Digest.
The digest fires every Monday at 10:00 UTC and contains:
- Week-over-week score deltas (Performance, SEO, A11y, Best Practices)
- CWV trend arrows (LCP/CLS/INP direction)
- Newly-detected regressions (pages whose scores dropped >5 points)
- Summary of scans completed in the window
Do this in one sitting across all 12 sites. It takes ~90 seconds per site and sets up every future Monday for free.
2. Route each digest to the client's inbox, not yours
This is the key trick. In the digest settings, use the custom email override field and enter the client's email (e.g., [email protected]), not your agency inbox.
Now the client gets the digest direct from [email protected] every Monday morning. Branded professionally, consistent cadence, zero effort from you.
When white-label branding ships, the digest will send from your domain. For now, the Site Health footer is subtle and clients generally don't complain — but be upfront on the kickoff call so it doesn't feel like a surprise.
3. Let Site Health track the month
During the month, your normal activity is already being recorded:
- Scheduled daily scans run at 09:00 UTC
- Publish webhooks trigger a scan on every Webflow publish
- Regression alerts email you (not the client) if anything drops sharply
- Scan annotations let you leave inline notes on the trend chart (e.g., "Swapped hero image to AVIF") — these show up as markers the client can see
By month-end, you have 30 days of daily data points per site, every publish event captured, and annotations documenting everything you shipped.
4. At month-end, run a fresh manual scan
On the last working day of the month, trigger a manual scan on each site (strategy: Both). This ensures the Monday digest that goes out captures the most up-to-date numbers — including any last-minute fixes you shipped on Friday.
Batching this: open all 12 site detail pages in tabs, hit Run Scan on each. They queue with deduplication protection (SCAN_ALREADY_ACTIVE prevents doubles). Total hands-on time: ~3 minutes.
5. Generate a comprehensive shared report
Monday morning, open each site detail page and hit Share report:
- Expiry: 30 days
- Strategy toggle: On
Grab the URL. This is your polished artifact — print-ready, mobile/desktop togglable, scan history included.
6. Let Claude write the narrative
Connect Site Health to Claude.ai (see the Claude.ai connector guide). Then in a Claude conversation:
"Analyze the latest scan for studio-brava and give me a 3-paragraph client update. Paragraph 1: what improved this month with specific numbers. Paragraph 2: what regressed or still needs work. Paragraph 3: what we're focusing on next month."
Claude calls the Site Health MCP tools (get_site_scans, get_scan_details, get_regression_report), pulls the data, and hands you a draft. 60 seconds per client. Paste into an email template, edit to taste, send alongside the shared report link.
A sample digest email
The weekly digest clients get looks like this (rendered as inline HTML, 560px max width, branded header):
Subject: Your weekly Site Health digest — studiobrava.com
Overall health: 87 (+3 from last week) ↑
Performance 91 +2 ↑
SEO 96 -1 ↓
Accessibility 88 +5 ↑
Best Practices 92 0 →
Core Web Vitals (CrUX)
LCP: 2.1s (Good) ↓ 0.3s faster
CLS: 0.04 (Good) → unchanged
INP: 180ms (Good) ↓ 40ms faster
Recent activity
- 7 scans completed
- 2 Webflow publishes detected
- 0 regressions flagged
[View full report →]
Clean, scannable, same structure every week. Clients build familiarity with the format; by month three they know exactly where to look for the number they care about.
The math
- 12 clients × 20 minutes saved per month = 4 hours/month reclaimed
- At $150/hr billable, that's $600/month in recovered capacity
- Plus: the digest running every Monday means clients feel the retainer, not just once a month but every single week
Bonus: regression escalation
If any site regresses sharply mid-month, the regression alert email hits your inbox (not the client's) with a page-level table of what dropped. That's your signal to proactively Slack the client: "Hey, noticed /pricing LCP jumped from 2.1s to 3.8s after Friday's publish — taking a look now." That proactive message is worth more than any monthly report.
Outcome
Reports go out like clockwork without you touching them. Clients feel informed every week, not just once a month. You bill the same retainer and reclaim a half-day per month for actual fix work — or for landing your 13th client.