Playbook
Playbook/Sales mastery

Monthly Client Report — Templates & Cadence

128 min read1,536 words

The monthly report is the single biggest churn-prevention tool you have. Clients don't cancel because the work is bad — they cancel because they forgot what they're paying for.

Send a report every month. Same day, same format. Even when there's nothing to report.


The cadence

  • Send by the 5th of every month for the prior month
  • Email format. NOT PDF (too formal, takes longer for them to open)
  • Plain text or lightweight HTML
  • Subject line: [BusinessName] — [Month] report
  • Always end with a question that invites a reply

Three templates by tier

Template A — Starter ($97/mo) report

Short. They're paying $97. Don't pretend to do $400 worth of analysis.

Subject: [BusinessName] — March report

Hey [FirstName] —

Quick monthly check-in:

✅ This month
- Site loaded fast (avg 1.3s on mobile, target <2s)
- Backups running daily, all good
- Security patches applied (March 8, March 22)

✏️ What I changed
- Updated your Easter hours
- Replaced the team photo per your request

🎯 One suggestion
You should respond to that 4-star review from "Anna B" — quick reply, takes 2 min, looks great to future searchers. Want me to draft it?

That's it. Anything you want me to look at this month?

— [YourFirstName]

Template B — Growth ($197/mo) report

The main one. Real metrics, real changes, real recommendations.

Subject: [BusinessName] — March report

Hey [FirstName] —

Here's where things stand this month:

📈 Site this month
• Visits: 412 (vs February: 348, +18%)
• Top page: /menu — 247 views
• Top traffic source: Google organic (61%)
• Avg load time: 1.4s ✓
• Bounce rate: 38% (industry avg ~50%)

✏️ Changes I shipped
• Updated holiday hours for March
• Added new menu item: Spicy Teriyaki Bowl
• Replaced the team photo with the one you sent
• Compressed all photos (page size down 22%)

🌐 Google Business Profile
• Profile views: 1,847
• Direction requests: 89 (vs February: 73)
• Calls from listing: 34
• New reviews this month: 4 (avg 4.7★)
• I responded to 3 of them; one is waiting on a quick reply from you (link below)

🎯 Suggestion this month
Your Sunday hours show "closed" on Facebook but "10am-5pm" on Google — Facebook is wrong. I'll fix it this week. Bigger thing: you've gotten 4 5-star reviews mentioning the açaí bowls. **Worth featuring those more on the site.** I can mock up a small "fan favorite" section if you want — 30 min of my time, no extra charge.

Want any of that, or want me to dig into something specific?

— [YourFirstName]

Template C — Pro ($397/mo) report

The full enchilada. SEO, ads, social, strategy.

Subject: [BusinessName] — March report + April plan

Hey [FirstName] —

Big report this month. Highlights at the top, details below if you want them.

🔥 Highlights
• 73 inbound calls attributed to the site (vs Feb: 58)
• Ranking #2 for "[main local keyword]" (was #4 last month)
• Google Ads: $620 spend → 27 leads → 8 estimated bookings
• Social: 4 posts, 1.4K total reach, +18 followers

📈 Site this month
• Visits: 2,140 (+12% MoM)
• Conversion: 3.4% of visitors call or fill the form
• Top traffic source: Google (52% organic, 19% paid)
• Avg load time: 1.2s ✓
• Mobile bounce rate: 31% (good)

✏️ Changes shipped
• Updated holiday hours
• Added new service page: [name]
• Refreshed pricing on the [other service] page
• Compressed all photos (-25% page weight)
• Added schema markup for FAQ section (better Google snippets)

🌐 Google Business Profile
• Profile views: 4,230
• Direction requests: 188
• Calls from listing: 79
• Photo views: 1,020
• Reviews: +6 this month (avg 4.8★) — I responded to all
• Optimization: I uploaded 12 new photos, added 4 service descriptions

🔍 SEO progress
• Organic visits: 1,114 (+22% MoM)
• Ranked top 3: 8 keywords (up from 6)
• Backlinks: 4 new this month (chamber of commerce, 2 local blogs, 1 industry directory)
• Site health: 100/100 Lighthouse, 0 broken links, 0 indexing issues

📣 Social
• Instagram: 4 posts, 1.4K reach, +18 followers
• Top post: [content] (314 likes)
• Recommendation: more behind-the-scenes — performs 3× better than product shots

💰 Google Ads
• Spend: $620 (in line with budget)
• Clicks: 218
• Cost per lead: $23 (target was $35 — under target)
• Conversions: 27
• Best-performing ad: [headline] — 4.1% CTR
• Worst: [headline] — pausing it next month

🎯 Plan for April
1. Test new ad creative variant (your "before/after" angle)
2. Pitch [local blog] for a feature article — they cover small business in [region]
3. Push for 3 more reviews this month — I'll send you the template message
4. Add a "FAQ" page targeting [specific question your prospects ask]
5. 30-min strategy call — let's pick one of these times: [link]

Anything else? Reply or just hit me with what you're thinking.

— [YourFirstName]

What to include vs. exclude

Always includeSometimes includeNever include
Site uptime / load timeConversion rate (if you have form data)Vanity metrics with no business meaning
Visits MoMBranded vs. non-branded search splitBounce rate without context
What you actually did this monthDetailed SEO ranking changes"Engagement" numbers
One concrete recommendationA/B test resultsEmpty platitudes ("things are looking great!")
GBP metrics (Growth+)Top performing contentCharts they have to interpret themselves

The rule: every number you include should answer a question they'd ask. If they wouldn't ask it, don't include it.


What to do when there's nothing to report

This will happen. Quiet months. No traffic spikes, no major changes, no fires.

Send the report anyway. Format:

Subject: [BusinessName] — March report

Hey [FirstName] —

Quiet month. Quick recap:

• Site running clean — 1.3s loads, 100% uptime
• Updated [hours / one small thing]
• 287 visits, 3 calls from the site
• No critical issues

Honestly the most valuable thing I'd do this month is [specific thing]. Want me to?

— [YourFirstName]

Quiet reports are powerful. They prove you didn't forget about them, and they invite the next conversation.


How to source the metrics

MetricWhere it comes from
Visits, sources, top pagesGoogle Analytics 4 (free) or Plausible/Fathom
Avg load time, performancePageSpeed Insights API or Lighthouse CLI
GBP views/calls/directionsGoogle Business Profile insights (free)
Search rankingsFree tier of Ahrefs Webmaster Tools or SerpRobot
ReviewsManual count, or Birdeye/Podium for paid clients at scale
Ad performanceGoogle Ads dashboard
Social metricsInstagram/Facebook insights, manual entry
Site healthLighthouse, broken-link checker

For Starter clients, you can skip analytics setup entirely and just report what you observed (load time + what you did). For Growth, GA4 + PageSpeed is enough. For Pro, add ranking tracking + ad reporting.

Time investment per report:

  • Starter: 5 minutes
  • Growth: 15 minutes
  • Pro: 30–45 minutes

At scale, this is 1–2 hours of reporting per week for 20 clients. Worth every minute — it's your retention insurance.


The annual review (Pro tier only)

Once a year, do a longer 30-min call instead of just an email report. Prep:

  1. YoY comparison — visits, leads, calls, ad ROI
  2. What worked — list specific wins
  3. What didn't — what we tried that flopped
  4. Recommendation for next year — 2-3 strategic moves
  5. Pricing review — bring this up if you're going to raise prices

If they're up for it, this is also when you ask for:

  • A written testimonial
  • Permission to use their site as a case study
  • Referrals to similar businesses

Annual reviews close 80%+ of upsells (Growth → Pro) when timed right.


A note on dashboards

You'll be tempted to build a fancy client-facing dashboard with real-time metrics.

Don't, for at least 12 months.

The reasons:

  • Most owners never log in (industry data: <10% of dashboards get checked monthly)
  • Building one costs you a week of dev time
  • The monthly email achieves the same goal with 1% the effort
  • It anchors them on "tools" instead of "results"

When you have 50+ clients and reporting becomes a bottleneck, build a dashboard or use a white-label tool (Whatagraph, AgencyAnalytics). Until then, send the email.


Tracking that you sent it

Add a column to your CRM:

  • "Last report sent" (date)
  • "Last report opened" (yes/no — if you have email tracking)
  • "Reply received" (yes/no)

If a client hasn't replied to 2 reports in a row → send a check-in email or schedule a quick call. They're either too busy (fine), getting ready to cancel (act now), or not actually reading (problem to solve).