Running an agency means juggling dozens of client accounts, each with its own website, audience, and reporting needs. When you add privacy regulations like GDPR, CCPA, and ePrivacy into the mix, the complexity multiplies fast. The traditional approach of dropping Google Analytics on every client site and calling it a day no longer works. Cookie consent banners reduce data accuracy, clients face legal exposure, and you spend more time explaining compliance gaps than delivering insights.
A privacy-compliant agency analytics stack solves these problems at the root. By choosing tools that respect visitor privacy by design, you eliminate cookie consent requirements, reduce legal risk for your clients, and actually get more accurate data. This guide walks through exactly how to build that stack, from tool selection to client onboarding to pricing models that keep your agency profitable.
Why Agencies Need Privacy-First Analytics
The case for privacy-first analytics at the agency level goes beyond ideology. It is a practical business decision with direct financial implications.
Client Liability for GDPR Violations
When your agency installs Google Analytics on a client’s website, that client becomes a data controller under GDPR. If the implementation violates privacy laws, your client faces fines of up to 4% of annual global turnover or 20 million euros, whichever is higher. Multiple European Data Protection Authorities have already ruled that standard Google Analytics implementations transfer personal data to the US illegally. As the agency that set it up, you share responsibility and reputational damage.
Privacy-first tools like Matomo, Plausible, and Fathom either process data entirely within the EU or do not collect personal data at all. This eliminates the transfer issue and dramatically reduces your clients’ legal exposure.
Cookie Consent Complexity Across Client Sites
Managing cookie consent platforms across 20, 50, or 100 client sites is an operational nightmare. Each site needs its own consent configuration, regular audits to ensure compliance, and ongoing maintenance when consent platform vendors change their interfaces. Studies consistently show that 30 to 50 percent of visitors reject analytics cookies when presented with a compliant consent banner. That means your reports are based on incomplete data from the start.
Cookieless analytics tools bypass this entirely. No cookies means no consent banner needed for analytics, which means you capture data from every single visitor. Your reports become more accurate, and you eliminate an entire category of operational overhead.
Simplified Reporting
When every client site runs the same privacy-compliant analytics tool, your reporting workflow becomes standardized. You are not juggling different Google Analytics 4 property configurations, dealing with consent mode v2 discrepancies, or explaining why one client’s data looks different from another’s. One tool, one workflow, consistent data quality across all accounts.
Multi-Site Dashboard Setup
The foundation of any agency analytics stack is the ability to manage multiple client sites from a single interface. Here is how the major privacy-first analytics tools handle multi-site management.
Matomo Multi-Site: One Installation, Many Sites
Matomo’s architecture is built for agencies. A single self-hosted Matomo installation can track hundreds of websites. Each site gets its own tracking code, its own set of goals and funnels, and its own user permissions. The “All Websites” dashboard gives you a bird’s-eye view of every client property, with key metrics like visits, pageviews, and revenue displayed in a sortable table.
You can assign team members access to specific sites only, which is critical when junior analysts should see Client A’s data but not Client B’s. Matomo’s role-based access control supports view, write, admin, and super user permission levels per site.
Plausible Sites API
Plausible takes a simpler approach. Each site exists as an independent property in your Plausible account. The Sites API lets you programmatically create and manage sites, which is useful when onboarding new clients at scale. You can list all sites, create new ones, and delete old ones through straightforward API calls. While Plausible lacks Matomo’s granular user roles, it offers shared links that give clients read-only access to their own dashboard without needing a Plausible account.
Umami Teams Feature
Umami, another strong open-source contender, introduced a teams feature that lets you organize websites into team workspaces. Each team can have its own members and websites, making it suitable for agency structures where different account managers handle different client groups. Umami’s interface is clean and minimal, which some agencies prefer for client-facing presentations.
Multi-Site Capabilities Comparison
| Feature | Matomo | Plausible | Umami |
|---|---|---|---|
| Unlimited sites (self-hosted) | Yes | Yes | Yes |
| Centralized multi-site dashboard | Yes (built-in) | No (API only) | Yes (teams view) |
| Granular user roles per site | Yes (4 levels) | No (owner only) | Yes (2 levels) |
| API for site management | Yes | Yes | Yes |
| Client self-service access | Yes (user accounts) | Yes (shared links) | Yes (user accounts) |
| White-label option | Yes | No | Partial (self-hosted) |
White-Label Reporting with Matomo
For agencies that want to present analytics under their own brand, Matomo is the clear winner. Its white-label capabilities are the most mature in the privacy-first analytics space.
Custom Branding
Matomo’s White Label plugin lets you replace all Matomo branding with your agency’s logo, colors, and name. The header logo, favicon, and even the login page can be customized. When a client logs into their analytics dashboard, they see your agency’s brand, not Matomo’s. This reinforces your agency’s value and creates a more professional impression.
Scheduled PDF Reports
Matomo can automatically generate and email PDF or HTML reports on a daily, weekly, or monthly schedule. Each report can be customized to include specific metrics and segments relevant to that client. You configure it once, and the client receives a branded analytics report in their inbox without any manual effort from your team. For agencies managing dozens of clients, this automation is essential.
Custom Domains
When self-hosting Matomo, you control the domain. Setting up analytics.youragency.com takes minutes with a simple DNS configuration and SSL certificate. Clients access their dashboards through your domain, see your branding, and never know they are using Matomo unless you tell them. This is a significant advantage over cloud-hosted solutions where the vendor’s domain is always visible.
Custom Report Widgets
Matomo allows you to build custom dashboards using widgets. You can create a client-specific dashboard that shows only the metrics that matter to them: organic traffic trends, top landing pages, goal completions, and e-commerce revenue. Remove the noise, present the signal, and your clients will actually read the reports you send.
Plausible for Agency Use
Plausible may lack white-label features, but it compensates with simplicity and speed. For agencies whose clients value clean, understandable data over feature depth, Plausible is an excellent choice.
Shared Links for Client Access
Plausible’s shared links feature generates a unique URL that gives anyone read-only access to a site’s dashboard. You can optionally protect it with a password. This is the fastest way to give a client access to their analytics: no account creation, no permission configuration, just a link. Send it in your onboarding email and the client can check their stats immediately.
Embedded Dashboards
Shared links can also be embedded as iframes in your agency’s client portal or reporting platform. The embedded dashboard is fully interactive, with date range selectors and filtering. This lets you build a unified client portal where each client sees their analytics alongside other deliverables like SEO reports and social media metrics.
API for Custom Reports
Plausible’s Stats API provides access to all dashboard data programmatically. You can pull metrics like visitors, pageviews, bounce rate, and visit duration, filtered by any dimension including source, page, country, or device. This makes it straightforward to build custom report templates that pull live data from Plausible and format it however your agency needs.
Limitations: No White-Label
The main drawback for agency use is that Plausible does not offer white-label capabilities on its cloud plan. The dashboard always shows Plausible branding, and shared links use the plausible.io domain. Self-hosting Plausible Community Edition gives you domain control but still shows Plausible branding in the interface. If brand presentation is critical to your agency’s positioning, Matomo remains the better option.
Client Onboarding Workflow
A standardized onboarding workflow ensures consistent quality and reduces the time to get new clients up and running. Here is a proven five-step process.
Step 1: Audit the Client’s Current Analytics
Before changing anything, document what the client currently has. Check for existing Google Analytics or other tracking scripts, review what goals and conversions are configured, and note any custom events or e-commerce tracking. This audit ensures you do not lose historical context and helps you configure the new tool to match or exceed what the client had before.
- List all current tracking scripts on the site
- Document configured goals and conversion events
- Export historical data from Google Analytics if available
- Identify any third-party integrations that depend on analytics data
Step 2: Choose the Right Tool
Not every client needs the same tool. A small business with a brochure site might be perfectly served by Plausible’s simplicity. An e-commerce client with complex funnels and revenue tracking needs Matomo’s depth. Match the tool to the client’s actual needs, not your personal preference. Consider factors like budget, technical complexity the client can handle, and whether they need features like heatmaps or session recordings.
Step 3: Install Tracking
Deploy the tracking script on the client’s website. For most privacy-first tools, this is a single lightweight JavaScript snippet added to the site header. If the client uses WordPress, most tools offer official plugins. For single-page applications, ensure the script handles client-side navigation correctly. Always verify the installation by checking that data appears in the dashboard within a few minutes of adding the script.
Step 4: Configure Goals and Events
Set up goal tracking to match the conversions identified in Step 1. This typically includes form submissions, button clicks, file downloads, and e-commerce transactions. In Matomo, use the Goals section to define URL-based or event-based goals. In Plausible, configure custom events using their simple JavaScript API. Test each goal by triggering the conversion yourself and confirming it registers in the dashboard.
Step 5: Set Up the Reporting Schedule
Configure automated reports or shared dashboard access based on the client’s preferences. Some clients want a weekly email summary. Others prefer a monthly PDF report they can share with their board. Many just want a dashboard link they can check whenever they feel like it. Document the reporting arrangement in your client agreement and set calendar reminders to review report delivery periodically.
Pricing Models for Agency Analytics
Understanding the cost structure helps you price your services correctly and choose between self-hosted and cloud deployments. For a detailed guide on self-hosting, see our complete self-hosted analytics guide.
Self-Hosted Cost Breakdown
Self-hosting gives you the most control and the best per-site economics at scale. Here is what to budget:
10 client sites: A basic VPS with 2 CPU cores, 4 GB RAM, and 80 GB SSD storage handles 10 low-to-medium traffic sites comfortably. Expect to pay $20 to $40 per month for the server. With your time for maintenance factored in at roughly 2 hours per month, your effective cost is $2 to $4 per site per month plus labor.
50 client sites: You will need a more capable server: 4 CPU cores, 16 GB RAM, and 320 GB SSD. Budget $80 to $150 per month. Consider splitting the database to a separate managed database service for better performance. Effective cost drops to $1.60 to $3 per site per month, but maintenance time increases to roughly 4 hours per month.
100 client sites: At this scale, consider a dedicated server or a small cluster. Budget $200 to $400 per month for infrastructure. You will want automated backups, monitoring, and ideally a staging environment. Per-site cost is $2 to $4 per month, but you should also budget for occasional specialist help with database optimization and server tuning.
Cloud Pricing Comparison
| Provider | 10 Sites | 50 Sites | 100 Sites |
|---|---|---|---|
| Matomo Cloud | $190/mo | $950/mo | Custom pricing |
| Plausible Cloud | $69/mo (combined pageviews) | $149/mo | $289+/mo |
| Fathom | $25/mo (combined pageviews) | $79/mo | $149+/mo |
When Self-Hosted Saves Money
Self-hosting becomes cost-effective at around 10 to 15 sites, depending on traffic volume. Below that, cloud plans are simpler and often cheaper when you factor in your time. Above 20 sites, self-hosting almost always wins on cost, especially with Matomo where per-site cloud pricing adds up quickly. The break-even calculation should include your hourly rate for server maintenance, not just the hosting bill.
Building Custom Client Dashboards
For agencies that want maximum flexibility and a fully branded reporting experience, custom dashboards built with open-source tools offer the most control. Our in-depth tutorial on building dashboards with Grafana and Matomo covers the technical setup in detail.
Grafana + Matomo API for Custom Branded Dashboards
Grafana is a free, open-source visualization platform that connects to virtually any data source. By pointing Grafana at Matomo’s Reporting API or directly at Matomo’s MySQL database, you can build stunning, fully branded dashboards that update in real time.
The advantages for agencies are significant. Grafana supports multi-tenant setups where each client gets their own dashboard with their own branding. You control every visual element: colors, logos, chart types, and layout. Dashboards can combine analytics data with data from other sources like Google Search Console, social media APIs, or your CRM, giving clients a unified view of their digital performance.
Set up Grafana with anonymous access enabled for specific dashboards, assign each client dashboard a unique URL, and you have a professional reporting portal that costs nothing beyond your existing server infrastructure.
Plausible Embed Approach
If you use Plausible, embedding dashboards is more straightforward but less customizable. Generate a shared link for the client’s site, then embed it in your portal using an iframe. The dashboard is interactive and always shows live data.
Here is an example of how to embed a Plausible shared link in your client portal:
<iframe
plausible-embed
src="https://plausible.io/share/example.com?auth=YOUR_SHARED_LINK_TOKEN&embed=true&theme=light"
scrolling="no"
frameborder="0"
loading="lazy"
style="width: 1px; min-width: 100%; height: 1600px;"
></iframe>
<script async src="https://plausible.io/js/embed.host.js"></script>
Replace YOUR_SHARED_LINK_TOKEN with the token generated in your Plausible site settings. The embed=true parameter removes the Plausible header, and the theme=light parameter ensures consistency with most portal designs. The embed host script handles automatic height adjustment so the iframe resizes to fit the content without scrollbars.
While this approach is quick to implement, remember that you cannot customize the dashboard layout, change colors to match your brand, or combine data from multiple sources in a single view. For agencies that need that level of customization, the Grafana approach is worth the additional setup effort.
Bottom Line
Building a privacy-compliant agency analytics stack is not about sacrificing features for compliance. It is about choosing tools that were designed for the modern privacy landscape from the start. Matomo gives you the depth and white-label capabilities that larger agencies need. Plausible offers simplicity and speed for agencies that value clean data and easy client access. Umami sits in between with a solid feature set and a clean interface.
The practical path forward is this: start with one tool, standardize your onboarding workflow, and automate your reporting. Self-host once you pass 15 to 20 client sites to control costs. Layer Grafana on top when clients demand custom branded dashboards. Every component in this stack is open source or privacy-first by design, which means you are building on a foundation that aligns with where privacy regulation is heading, not fighting against it.
Your clients hired you to make their digital presence work better. Giving them accurate, complete analytics data without legal risk is one of the most valuable things you can deliver. A privacy-first analytics stack makes that possible at scale.
