|
| 1 | +# Evaluation of GDPR-Compliant Analytics Platforms with Custom Event Tracking |
| 2 | + |
| 3 | +**Recommendation, Feature Assessment, and Cost Projection (Multi-Client Use Case)** |
| 4 | + |
| 5 | +--- |
| 6 | + |
| 7 | +## 1. Executive Summary |
| 8 | + |
| 9 | +This document evaluates GDPR-compliant analytics tools that support custom event tracking for multi-client, multi-domain environments to replace current Matomo/Piwik. The focus is on cloud-hosted solutions to reduce infrastructure overhead. |
| 10 | + |
| 11 | +**Top Recommendation:** **PostHog Cloud** |
| 12 | +**Rationale:** Best combination of cost-efficiency (under €5,000/year for moderate traffic multi-client setup) and custom dashboard/event capabilities similar to Matomo/Piwik. |
| 13 | + |
| 14 | +--- |
| 15 | + |
| 16 | +## 2. Tools Included in This Evaluation |
| 17 | + |
| 18 | +| # | Platform | Reason for Inclusion | GDPR Reference | |
| 19 | +|---|----------|--------------------|----------------| |
| 20 | +| 1 | **Plausible Analytics** | Strong privacy positioning, predictable pricing, supports goals/events | https://plausible.io/data-policy | |
| 21 | +| 2 | **Fathom Analytics** | Fully GDPR-compliant, cookieless, basic event tracking | https://usefathom.com/legal/compliance/gdpr-compliant-website-analytics | |
| 22 | +| 3 | **Umami Cloud** | Lightweight, privacy-focused, supports event tracking | https://umami.is/features | |
| 23 | +| 4 | **PostHog Cloud** | Advanced event analytics, generous free tier | https://posthog.com/docs/privacy/gdpr-compliance | |
| 24 | +| 5 | **Countly Cloud (Managed)** | Enterprise-grade event analytics with GDPR configuration | https://countly.com/privacy-by-design | |
| 25 | + |
| 26 | +--- |
| 27 | + |
| 28 | +## 3. Feature Comparison: Customization & Dashboard Capabilities |
| 29 | + |
| 30 | +| Platform | Custom Dashboard | Custom Event Visualization | Third-Party BI Needed? | Notes | |
| 31 | +|----------|-----------------|----------------------------|----------------------|-------| |
| 32 | +| **Plausible** | Limited (built-in) | Yes | Not required | Custom events successfully tracked, but advanced reports like Matomo/Piwik are not possible | |
| 33 | +| **Fathom** | Limited | Basic custom events | Not required | Sign-up requires credit card; pricing depends on total page-views; not tested yet | |
| 34 | +| **Umami Cloud** | Limited | Yes | Not required | One key limitation of Umami is that, although we can send arbitrary properties using `window.umami.track("eventName", { prop1: value1, prop2: value2 })`, the dashboard only displays the event name and a simple count. It does not allow direct filtering or grouping based on custom payload properties such as step or case_id | |
| 35 | +| **PostHog Cloud** | Extensive | Advanced charts, formulas, funnels, cohorts | Not required | Closest match to Matomo/Piwik; custom events and dashboards tested locally | |
| 36 | +| **Countly Cloud** | Extensive | Fully custom dashboards, segments, funnels | Not required | Enterprise-grade; excluded due to cost | |
| 37 | + |
| 38 | +--- |
| 39 | + |
| 40 | +## 4. Cost Ranking (Cheapest to Most Expensive, Cloud Hosted, GDPR-Compliant) |
| 41 | + |
| 42 | +| Rank | Platform | Cost Level | GDPR Strength | Why | |
| 43 | +|------|----------|------------|----------------|-----| |
| 44 | +| **1** | **Fathom Analytics** | Low (based on page-views) | Very strong | Cost-effective if total page-views remain within plan limits | |
| 45 | +| **2** | **Plausible Analytics** | Low–medium | Very strong | Predictable per-site pricing, EU-hosted, cookieless | |
| 46 | +| **3** | **Umami Cloud** | Low–medium | Strong | Lightweight, simple event tracking | |
| 47 | +| **4** | **PostHog Cloud** | Medium | Strong | Free tier sufficient for moderate events; advanced dashboards | |
| 48 | +| **5** | **Countly Cloud** | High | Strong | Enterprise-grade; excluded due to cost | |
| 49 | + |
| 50 | +--- |
| 51 | + |
| 52 | +## 5. Estimated Monthly Cost in EUR (10 Client Scenario) |
| 53 | + |
| 54 | +**Assumptions:** |
| 55 | +- 10 client websites |
| 56 | +- Traffic per client: small–medium (50k–300k monthly pageviews) |
| 57 | +- Currency conversion: USD → EUR ≈ 0.92 |
| 58 | +- Fathom pricing depends on aggregated monthly page-views |
| 59 | + |
| 60 | +| Platform | Pricing Model | Estimated Monthly Total (EUR) | Notes | |
| 61 | +|----------|---------------|-------------------------------|-------| |
| 62 | +| **Fathom Analytics** | ~$15–45/mo depending on total page-views | €23–€41 | Assumes aggregated page-views ~200k–500k/month; monitor page-views to avoid cost spikes | |
| 63 | +| **Plausible** | €9–€29 per site | €90–€290 | Predictable per-site pricing | |
| 64 | +| **Umami Cloud** | €9–€25 per site | €90–€250 | Simple cloud-hosted model | |
| 65 | +| **PostHog Cloud** | Free tier up to ~1M events; paid >1M | €0–€80+ | Free tier sufficient for moderate traffic; scalable beyond | |
| 66 | +| **Countly Cloud** | Enterprise plans | €200–€600+ | Exceeds €5k/year for 10 clients; excluded | |
| 67 | + |
| 68 | +--- |
| 69 | + |
| 70 | +## 6. Top Recommendation (Cost + Feature Similarity to Matomo/Piwik) |
| 71 | + |
| 72 | +| Rank | Platform | Reason for Top Recommendation | |
| 73 | +|------|----------|-------------------------------| |
| 74 | +| **1** | **PostHog Cloud** | Best combination of cost & feature richness: supports custom events, segmentation, funnels, cohort analysis, and flexible dashboards — most similar to Matomo/Piwik. Cost remains controlled for moderate traffic multi-client setup. | |
| 75 | +| **2** | **Plausible Analytics** | Low-cost & GDPR-friendly; sufficient for simple custom events. Dashboard limited but ideal for medium-traffic clients or simpler analytics. | |
| 76 | +| **3** | **Umami Cloud** | Mid-level option: more flexible dashboards & custom events than Plausible, costs manageable; suitable for small to medium clients. | |
| 77 | + |
| 78 | +> **Note:** Fathom is cost-efficient but pricing depends on aggregated page-views; Countly excluded due to cost (> €5k/year). |
| 79 | +
|
| 80 | +--- |
| 81 | + |
| 82 | +## 7. Final Recommendation for Management |
| 83 | + |
| 84 | +- **Primary Platform:** **PostHog Cloud** |
| 85 | + - Best for multi-client setups needing flexible dashboards & event tracking similar to Matomo/Piwik. |
| 86 | + - Cost remains low for moderate traffic (free or paid tier). |
| 87 | + |
| 88 | +- **Secondary Platform:** **Plausible Analytics** |
| 89 | + - Default choice for clients with medium traffic or simpler analytics needs. |
| 90 | + - Predictable per-site pricing, cookieless, GDPR-friendly. |
| 91 | + |
| 92 | +- **Optional Lightweight Alternative:** **Umami Cloud** |
| 93 | + - For clients needing basic custom events and dashboards at lower cost. |
| 94 | + |
| 95 | +**Summary Table: Recommended Platforms Under €5k/year** |
| 96 | + |
| 97 | +| Platform | Annual Cost (10 clients) | GDPR | Custom Dashboard / Event Similarity to Matomo/Piwik | |
| 98 | +|----------|--------------------------|------|---------------------------------------------------| |
| 99 | +| **PostHog Cloud** | €0–€960+ | Strong | High: closest match to Matomo/Piwik | |
| 100 | +| **Plausible Analytics** | €1.080–€3.480 | Very strong | Moderate: simple custom events & built-in dashboards | |
| 101 | +| **Umami Cloud** | €1.080–€3.000 | Strong | Moderate: basic dashboards, custom events supported | |
| 102 | +| **Fathom Analytics** | €276–€492 | Very strong | Basic: limited customization; price depends on aggregated page-views | |
| 103 | +| **Countly Cloud** | €2.400–€7.200+ | Strong | High, but excluded due to cost | |
| 104 | + |
| 105 | +--- |
| 106 | + |
| 107 | +## 8. Developer Notes / Local Testing |
| 108 | + |
| 109 | +- **Plausible:** Successfully tracked custom events from local site; however, advanced custom reports like Matomo/Piwik cannot be generated. |
| 110 | +- **PostHog:** Local event tracking works as expected, including custom page-duration and user action events; dashboard supports flexible visualization. |
| 111 | +- **Umami:** One key limitation of Umami is that, although we can send arbitrary properties using `window.umami.track("eventName", { prop1: value1, prop2: value2 })`, the dashboard only displays the event name and a simple count. It does not allow direct filtering or grouping based on custom payload properties such as step or case_id. |
| 112 | +- **Fathom:** Cost depends on aggregated page-views; signed up with a credit card for testing. |
| 113 | +- **Countly:** Excluded due to cost. |
0 commit comments