Microsoft Clarity for Agencies: Automated Client Reporting
Agencies managing 10, 20, or 50 client websites face a reporting challenge: clients want clear, actionable insights about their site's UX — not raw data dumps. Microsoft Clarity provides excellent behavioral data for free, but turning it into professional client reports is a manual, time-consuming process. Here's how to set up Clarity across client sites and automate the reporting that keeps clients happy.
Why Agencies Should Use Clarity
For agencies, Clarity solves a specific problem: it provides high-value UX insights at zero cost per client. When you're managing margins across dozens of accounts, paying per-seat or per-session fees for heatmap tools quickly becomes unsustainable.
Here's what makes Clarity compelling for agencies:
- Unlimited sessions, unlimited projects, free: No per-client licensing costs, no traffic caps. Add Clarity to every client site without budget negotiations.
- Automatic frustration detection: Rage clicks, dead clicks, quick backs, and excessive scrolling are detected automatically. No manual setup required per client.
- Session recordings and heatmaps: Visual evidence that clients understand instantly. Showing a client a heatmap is worth ten slides of data tables.
- Quick setup: One JavaScript snippet per site. You can have 20 client sites sending data within an hour.
Multi-Project Setup for Agencies
Clarity uses "projects" to separate different websites. Each project has its own dashboard, recordings, and data. For agencies, the recommended setup is:
One project per client domain
- Log into Clarity with your agency Microsoft account
- Create a new project for each client website
- Name projects consistently: "ClientName — domain.com"
- Install the project-specific tracking code on the client's site
Team access management
Clarity lets you add team members to specific projects. For agencies, this means:
- Account managers get access to their specific client projects
- UX analysts get access to all projects for cross-client analysis
- Clients can optionally get read-only access to their own project
Tip: Create a naming convention early and enforce it. When you have 30+ projects, "John's site" and "test project 2" become impossible to manage. Use "ClientName — primarydomain.com" consistently.
What Clients Actually Want in Reports
This is where most agencies struggle. You have access to rich behavioral data in Clarity, but clients don't want:
- Raw session counts
- Generic metrics without context
- Screenshots of Clarity's dashboard
- Data without recommendations
What clients do want:
- Specific problems identified: "Users on your pricing page rage-click the comparison table on mobile because feature descriptions aren't expandable."
- Prioritized recommendations: "Fix the mobile checkout form first — it has 3x more rage clicks than any other page."
- Before/after comparisons: "After the header redesign, scroll depth on the homepage increased from 38% to 57%."
- Visual evidence: Heatmap screenshots and annotated recording clips that prove the findings.
- Business impact framing: "The dead click on the pricing CTA potentially affects 340 visitors per week."
Building a Client Report from Clarity Data
Here's a practical framework for a monthly or bi-weekly client UX report using Clarity data.
1. Executive summary (1 paragraph)
Write 2-3 sentences covering the overall site health: total sessions, engagement rate trend, and the single most important finding this period.
2. Key metrics dashboard
| Metric | This Period | Previous Period | Trend |
|---|---|---|---|
| Total Sessions | 12,450 | 11,200 | +11% |
| Engagement Rate | 62% | 58% | +4pp |
| Avg. Scroll Depth | 47% | 44% | +3pp |
| Rage Click Rate | 4.2% | 5.1% | -0.9pp |
| Dead Click Rate | 8.7% | 8.3% | +0.4pp |
3. Top issues found (3-5 items)
For each issue, include:
- What the problem is (specific page + specific behavior)
- How many users it affects (session count or percentage)
- Visual evidence (heatmap screenshot or recording clip link)
- Recommended fix with priority level
4. Page-level analysis
Cover the client's 5-10 most important pages individually. For each, report scroll depth, frustration signals, and any notable behavior patterns from recordings.
5. Impact of previous recommendations
If the client implemented fixes you recommended last period, show the before/after data. This demonstrates ROI and justifies continued UX work.
The Manual Reporting Problem
The framework above produces excellent reports. The problem is time. For a single client, building this report takes:
- 15-20 minutes logging into Clarity and pulling metrics
- 30-45 minutes watching session recordings and identifying patterns
- 20-30 minutes capturing screenshots and building the report document
- 15-20 minutes writing recommendations
That's roughly 90 minutes per client. With 15 clients, you're spending over 22 hours per month just on Clarity reporting. At agency billing rates, that's a significant cost — and most of the time is spent on data gathering, not analysis.
Automating the Data Collection
Clarity offers a data export API that can pull metrics programmatically. This eliminates the manual dashboard-checking step, but has limitations:
- Rate limits: 10 API requests per day per project
- Data window: Maximum 3 days of historical data per request
- No recording access: The API provides metrics, not individual recordings
To build a complete picture, you need to collect data daily and accumulate it over time. This is feasible with a script but requires infrastructure to run reliably.
Basic automation approach
# Daily collection script (simplified)
import requests
import sqlite3
from datetime import date
PROJECTS = {
"client-a": "project_id_1",
"client-b": "project_id_2",
# ... all client projects
}
for client, project_id in PROJECTS.items():
response = requests.get(
f"https://www.clarity.ms/export-data/api/v1/"
f"project-live-insights",
headers={"Authorization": f"Bearer {API_TOKEN}"},
params={"projectId": project_id, "numOfDays": 1}
)
# Store in database
save_to_db(client, date.today(), response.json())
White-Label Reporting
Agency clients expect reports that look like they come from your agency, not from a third-party tool. White-labeling Clarity data means:
- Branded report templates: Use your agency's logo, colors, and typography in the report output.
- Custom terminology: Translate Clarity's technical terms into language your clients understand. "Rage clicks" might become "user frustration events" for a less technical audience.
- Client-specific context: Frame metrics around the client's goals. "Scroll depth on your lead generation pages increased" is more meaningful than "average scroll depth is 52%."
- No tool branding: The report should present insights, not advertise Clarity.
How ClarityInsights Solves the Agency Problem
ClarityInsights was designed with multi-project workflows in mind. Instead of manually pulling data from each client project, it automates the entire pipeline:
- Multi-project data collection: Connect all your client Clarity projects. Data is pulled daily and accumulated automatically.
- AI-powered analysis: Each week, an AI analyzes the collected data per client and generates prioritized findings — not just metrics, but specific issues with recommended fixes.
- Automated email reports: Weekly reports are sent automatically, saving you from building them manually.
- Per-page breakdown: Reports include page-level analysis so you can identify which specific pages need attention for each client.
For an agency with 15 clients, this replaces 22+ hours of monthly reporting work with a setup that takes 30 minutes once.
Client Onboarding Checklist
When adding a new client to your Clarity-based reporting workflow:
- Create Clarity project: Use your naming convention (ClientName — domain.com)
- Install tracking code: Add the Clarity snippet to the client's site, ideally through their tag manager
- Configure masking: Set appropriate content masking mode (especially important for e-commerce or form-heavy sites)
- Identify key pages: List the 5-10 most important pages for this client (homepage, pricing, checkout, top landing pages)
- Set up custom tags: If the client has specific user segments (logged in vs. anonymous, plan types), configure custom tags
- Baseline report: Wait 2 weeks for data, then generate a baseline report before making any changes
- Define KPIs: Agree on which Clarity metrics the client cares about (engagement rate, frustration signals, scroll depth on key pages)
Tip: Send the first report with a 15-minute walkthrough call. Once clients understand what the metrics mean and how to read the report, they'll look forward to receiving them — and they'll trust your recommendations more.
Pricing Your UX Reporting Service
Since Clarity is free, the cost of offering UX reports is primarily your time. Agencies typically price this in one of three ways:
- Bundled: Include basic UX reporting in your monthly retainer. Use it as a differentiator — "we include behavioral analytics that other agencies charge extra for."
- Add-on service: Offer detailed UX reports as a $200-500/month add-on. This works well when you include specific recommendations and implementation support.
- Project-based: Sell UX audits as one-time projects ($1,000-3,000) using Clarity data to identify issues and recommend fixes.
With automated reporting, the marginal cost of adding another client approaches zero — making this a high-margin service for agencies at any pricing model.
Stop analyzing Clarity data manually
ClarityInsights sends you AI-powered weekly reports with per-page analysis, frustration signals, and prioritized recommendations.
Join the Waitlist