Most SEO agencies lose clients not because the work was bad, but because the reporting never made the work legible. The client sees a 40-tab Looker Studio dashboard, skims two charts, and concludes they're paying $6,000 a month for "some traffic."
The short answer: structure SEO client reporting in four layers — a plain-language headline, business outcomes, SEO performance drivers, and work completed plus what's next. Deliver it monthly, keep the narrative under 900 words, and link the raw data instead of pasting it.
Below is the structure, the cadence that matches retainer size, the metrics that matter by client type, and two full worked examples.
Why most SEO reports fail
Three failure modes show up again and again in agency audits:
- The data dump. 28 pages of automated charts with no interpretation. The client has to do the analysis, which is what they hired you for.
- The activity log. "We published 6 blog posts, built 11 links, fixed 23 404s." True, but it answers "what did you do" instead of "what did it do for me."
- The highlight reel. Only the metrics that went up. Works until month seven, when the client's CFO asks why revenue is flat and nobody on your side has an answer ready.
A good report answers three questions in order: Is this working? Why? What happens next? Everything else is appendix.
The four-layer SEO client report structure
Layer 1: The headline (one paragraph, always first)
Three to five sentences, written by a human, stating the single most important thing that happened. No charts. Example:
"October was the strongest month since we started. Organic sessions grew 18% MoM to 41,200 and organic-attributed demo requests hit 63 (up from 44). The driver was the comparison-page cluster we shipped in August finally maturing — four of those six pages now rank top 5. One concern: product-category pages dropped 11% after the Shopify theme update on Oct 14. Diagnosis and fix plan in Layer 3."
If a CMO reads only this paragraph, they should still know where they stand. That's the test.
Layer 2: Business outcomes
Three to five metrics, maximum, tied to how the client makes money. Always show month-over-month and year-over-year, because SEO is seasonal and MoM alone will mislead you both.
- Ecommerce: organic revenue, organic transactions, organic AOV, non-brand organic revenue share
- Lead gen / local service: organic form fills, organic calls, qualified leads (from their CRM, not your form counter), cost per organic lead vs paid
- SaaS: organic demo requests, organic trial starts, trial-to-paid rate for organic cohort, pipeline value attributed to organic
- Publisher / affiliate: organic sessions, RPM, organic revenue, top 10 earning URLs
Pull the conversion numbers from the client's CRM wherever you can. An agency that reports 140 "leads" while the client's sales team logged 31 real opportunities is building a credibility bomb with a six-month fuse.
Layer 3: SEO performance drivers
This is where you explain why Layer 2 moved. Keep it to four or five blocks:
- Visibility: non-brand clicks and impressions from GSC, share of voice against 2-3 named competitors, keywords in positions 1-3 / 4-10 / 11-20
- Content performance: top 5 gainers and top 5 decliners by clicks, with a one-line reason for each
- Technical health: indexed vs submitted pages, Core Web Vitals pass rate, crawl errors, anything that changed since last month
- Authority: referring domains gained, with the 3 best links named and linked (not just a count)
- SERP context: AI Overview presence on target terms, new SERP features, algorithm updates in the window
The "positions 11-20" bucket is underrated in reporting. It's your leading indicator — when it swells, you can credibly forecast next quarter's traffic instead of just narrating last month's.
Layer 4: Work completed and what's next
Split it into two short lists: shipped last month (with the outcome each item is expected to drive) and shipping next month (with dates and owners). This is also where you surface blockers honestly — "we're waiting on dev to deploy the schema markup, 23 days outstanding" is a legitimate report line, and clients respect it more than silence.
If your delivery system already tracks phases, tasks and hours against the retainer, Layer 4 should be close to automatic. Agencies running work in a tool built for client projects rather than a generic task board — this is part of why we built PeakKR and why tool choice matters for agencies — can export last month's completed tasks and next month's scheduled work straight into the report instead of reconstructing it from memory on the 3rd.
Cadence: match reporting to retainer size
Over-reporting is expensive. A 90-minute report build plus a 60-minute call costs roughly $350-450 in loaded agency time. On a $2,000 retainer, that's 20% of the fee.
- Under $3k/month: one-page monthly summary (template-driven, 20 minutes), live dashboard link, quarterly 45-minute call.
- $3k-8k/month: monthly written report (4-6 pages), monthly 30-minute call, quarterly strategy session.
- $8k-20k/month: monthly report + monthly 60-minute call, plus a lightweight weekly async update (3 bullets in Slack or email). Quarterly business review with forecast.
- $20k+/month: all of the above plus a shared live dashboard the client's team actually uses, and a named analyst on the account.
The weekly async update is the highest-leverage habit on the list. Three bullets — shipped, in progress, blocked — sent every Friday prevents 80% of "what are you actually working on?" emails. It's the same logic behind async-first operating models for agencies: frequent small signals beat infrequent large ones.
Example 1: $4,500/month local multi-location client
Headline: "Lead volume up 22% MoM (148 → 181 calls). Growth came from the 11 new location pages going live Sept 2 — those pages drove 64 calls on their own. Chicago-West is still underperforming; GBP suspension appeal filed Sept 19, pending."
Outcomes: organic calls 181 (+22% MoM, +63% YoY) · form fills 44 · booked jobs from organic 29 (client CRM) · est. revenue $87,000.
Drivers: GBP views +31%; avg map pack position 4.2 → 2.8 across 14 locations; 11 new location pages indexed within 6 days; 3 citations cleaned up.
Next: review-velocity program (target: 8 reviews/location/month), two service pages, Chicago-West reinstatement follow-up on Oct 3.
Example 2: $11,000/month B2B SaaS retainer
Headline: "Traffic flat at 38k sessions, but organic demo requests rose 27% to 71. We traded volume for intent — the three bottom-funnel comparison pages now out-convert the blog 9:1."
Outcomes: demos 71 · trials 118 · trial→paid 14.4% (vs 11.2% site average) · attributed pipeline $340k.
Drivers:

Nick Quirk

