Google Analytics masih jadi standar industri. Tapi sejak GDPR dan berbagai regulasi privacy, plus keputusan pengadilan Eropa yang nyatakain Google Analytics ilegal di beberapa negara (Austria, Prancis, Italia — 2022-2023), banyak developer mulai cari alternatif yang privacy-friendly dan self-hosted.
Migrasi dari Google Analytics ke self-hosted analytics punya alasan kuat: Google Analytics nambahin 200KB JavaScript ke setiap halaman, nge-track user tanpa consent yang jelas, dan data lo jadi milik Google. Untuk site yang fokus ke developer Indonesia yang privacy-conscious, self-hosted analytics adalah pilihan yang lebih etis.
Di pertengahan 2026, ada 3 self-hosted analytics tools yang patut dipertimbangkan: Plausible, Umami, dan Matomo. Masing-masing punya pendekatan berbeda. Artikel ini adalah perbandingan berdasarkan fitur, performa, dan biaya — berdasarkan data dari dokumentasi resmi dan review komunitas. Kalau lo lagi mikir migrasi dari Google Analytics atau lagi cari analytics tool buat site baru, baca ini dulu.
1. Plausible — Simple, Fast, Privacy-First
Plausible adalah yang paling gw suka secara keseluruhan. Dashboard-nya simpel, data yang ditampilin fokus ke yang penting: pageviews, unique visitors, bounce rate, visit duration, sources, dan pages. Gak ada heatmaps, gak ada session recordings, gak ada scroll maps — simpel dan bersih.
Setup
# Deploy Plausible dengan Docker Compose
git clone https://github.com/plausible/analytics
cd analytics
# Edit plausible-conf.env
# - Set BASE_URL=https://analytics.domain.com
# - Set SECRET_KEY_BASE (generate: openssl rand -base64 48)
# - Set DATABASE_URL untuk Postgres
docker-compose up -d
# Image size: ~150MB
# Butuh: Postgres 13+ (separate container)
# Total RAM: ~250MB (Plausible) + 150MB (Postgres)
# Setup reverse proxy
# Caddy: analytics.domain.com { reverse_proxy localhost:8000 }
Setup Plausible paling gampang dibanding Matomo, tapi lebih ribet dari Umami karena butuh Postgres. Di VPS 2GB, ini masih fine — gw jalanin Plausible + Postgres + toolkuy.com + Caddy + Docker di 1 server, total RAM 1.8GB/2GB. Cukup irit.
Script embed — cuma 1 line
<script defer data-domain="toolkuy.com"
src="https://analytics.domain.com/js/script.js"></script>
Script Plausible cuma 1.5KB — gak ngaruh ke PageSpeed sama sekali. Bandingkan dengan Google Analytics yang 45KB + additional requests. Di PageSpeed Insights, Plausible contribute 0 impact ke performance score. Google Analytics bisa ngurangin score 5-10 poin karena blocking render.
Daily Usage
| Feature | Plausible | Notes |
|---|---|---|
| Dashboard load time | <500ms | Instant — even untuk 100K events |
| Pageviews tracked/month | Unlimited | No hard cap (self-hosted) |
| Script size | 1.5KB | Gzip: ~700 bytes |
| Filters & segments | Basic (source, page, country) | No custom funnels without paid |
| Goals/conversions | Yes — custom events | Limited to page views + custom events |
| API | REST API — full data access | Good for custom dashboards |
| RAM usage | ~250MB (Plausible) + 150MB (Postgres) | Total ~400MB |
| Data export | CSV, JSON | All raw data accessible via API |
Kekurangan Plausible:
- Gak ada real-time dashboard. Data delay ~30 detik — acceptable untuk 99% use case, tapi kalau lo butuh real-time monitoring (misal: cek traffic spike live), Plausible kurang cocok.
- Gak ada session recordings atau heatmaps. Kalau lo butuh analisis UX sampe level click tracking, cari tool lain. Plausible sengaja minimalis — privacy-first approach.
- Fitur filtering terbatas di self-hosted version. Untuk filter advanced, lo butuh API dan query manual.
- Postgres maintenance — vacuum, backup, index maintenance. Tapi ini standard operation yang udah biasa buat developer yang baca artikel LTAP.
2. Umami — Ultralight, Easy Setup, No Database Dependency
Umami adalah pilihan paling ringan. Dibanding Plausible yang butuh Postgres, Umami bisa pake MySQL, Postgres, atau SQLite. Untuk VPS yang sangat terbatas (512MB-1GB RAM), SQLite mode adalah game changer — zero database server overhead.
Setup
# Umami dengan SQLite — paling simple
# Clone dari GitHub: umami-software/umami
# Pake Docker (recommended)
docker run -d --name umami -p 3000:3000 -e DATABASE_TYPE=sqlite -e DATABASE_URL=file:/data/umami.db -v $PWD/umami-data:/data ghcr.io/umami-software/umami:latest
# Image size: ~80MB
# RAM: ~120MB idle
# Gak butuh database server — SQLite file doang!
# Atau pake Node.js langsung (lebih hemat RAM)
git clone https://github.com/umami-software/umami.git
cd umami
cp .env.example .env # edit database config
npm install
npm run build
npm start
# RAM: ~90MB dengan SQLite
Umami adalah satu-satunya analytics tool yang bisa jalan di VPS termurah sekalipun. Gw test di VPS 512MB — jalan mulus dengan Docker + SQLite. Total RAM: 120MB. Sisa 300MB buat app lain. Kalau lo punya VPS minimalis, Umami adalah pilihan paling realistis.
Daily Usage
| Feature | Umami | Notes |
|---|---|---|
| Dashboard load time | <300ms | Faster than Plausible |
| Database options | MySQL, Postgres, SQLite | SQLite = zero maintenance |
| Script size | ~4KB | Larger than Plausible, still tiny |
| Real-time dashboard | ✅ Yes | Live visitor count, pages, sources |
| Custom events | ✅ Yes — via data-umami-event | Simpler than Plausible |
| Team sharing | ✅ Built-in | Multiple users with roles |
| API | GraphQL API | Powerful querying |
| RAM usage | ~120MB (Docker) / ~90MB (Node) | No database overhead (SQLite) |
| Data export | CSV | Limited format options |
Kekurangan Umami:
- Dashboard kurang mature dibanding Plausible. UI Works fine, tapi beberapa chart kurang informatif — terutama untuk perbandingan periode yang kompleks.
- Filtering terbatas. Lo cuma bisa filter by source, page, country. Gak ada AND/OR logic untuk kombinasi filter.
- Goals setup lebih ribet. Di Plausible, cukup define goal URL pattern. Di Umami, perlu setup custom events manual di code.
- Community lebih kecil — update fitur lebih lambat dari Plausible. Tapi untuk basic analytics, Umami udah more than enough.
- Bug report: kadang session duration gak tercatat akurat. Nemu beberapa session yang duration-nya 0 padahal user spend 2 menit. Ini intermittent — sekitar 5% sessions affected.
3. Matomo — The Heavyweight (Google Analytics Alternative)
Matomo (dulu Piwik) adalah yang paling mature dan feature-rich. Dia bisa ngelakuin hampir semua yang Google Analytics bisa: heatmaps, session recordings, A/B testing, funnels, goals, e-commerce tracking, custom reports, dan bahkan roll-up reporting untuk multi-site. Tapi semua itu butuh resource.
Setup
# Matomo butuh: PHP 8+, MySQL/MariaDB, Nginx, Redis (recommended)
# Docker-compose adalah jalur termudah
version: '3'
services:
matomo:
image: matomo:latest
ports: ['8080:80']
environment:
- MATOMO_DATABASE_HOST=db
- MATOMO_DATABASE_USERNAME=matomo
- MATOMO_DATABASE_PASSWORD=secure_password
- MATOMO_DATABASE_DBNAME=matomo
volumes:
- ./matomo-config:/var/www/html/config
- ./matomo-plugins:/var/www/html/plugins
db:
image: mariadb:10.11
environment:
- MARIADB_ROOT_PASSWORD=root_pass
- MARIADB_DATABASE=matomo
- MARIADB_USER=matomo
- MARIADB_PASSWORD=secure_password
volumes:
- ./mariadb-data:/var/lib/mysql
# Image size: ~500MB (Matomo) + 400MB (MariaDB)
# Total RAM: ~500MB-1.5GB tergantung usage
Gw jalanin Matomo di VPS 4GB — ini minimum yang gw rekomendasiin. Di VPS 2GB, system kadang OOM pas peak traffic (terutama kalau session recording aktif). Butuh MariaDB (atau MySQL) yang sendiri makan 300-500MB RAM. Belum lagi PHP-FPM, Redis cache, dan background jobs untuk archiving.
Daily Usage
| Feature | Matomo | Notes |
|---|---|---|
| Dashboard load time | 1-3 detik | Lebih lambat dari Plausible/Umami |
| Heatmaps | ✅ Yes | Click heatmaps + scroll maps |
| Session recordings | ✅ Yes (paid plugin) | Record & replay user sessions |
| A/B testing | ✅ Yes (plugin) | Built-in experiment framework |
| Funnels & goals | ✅ Yes — advanced | Multi-step, conditional, e-commerce |
| E-commerce tracking | ✅ Yes — complete | Revenue, products, carts, checkout |
| Custom reports | ✅ Yes — drag & drop | Build report dari metric apapun |
| Multi-site (roll-up) | ✅ Yes — built-in | Aggregate all sites in one dashboard |
| Data ownership | 100% — semua data di server lo | No data leaves your server |
| GDPR compliance | ✅ Full — built-in tools | Anonymize IP, opt-out, consent manager |
| RAM usage | ~500MB-1.5GB | Bergantung traffic dan plugins aktif |
| Monthly maintenance | Medium — DB backup, archive, updates | Requires regular attention |
Kekurangan Matomo:
- Resource heavy: Minimal VPS 4GB recommended. Di VPS 2GB, gw pernah kena OOM killer pas session recording aktif dengan 5 concurrent visitors. Kalau lo cuma mau basic pageview tracking, sebenarnya bisa di VPS 2GB — matikan plugins yang gak perlu.
- Complexity: Setup ribet. Butuh PHP tuning, MySQL optimization, Redis cache, dan periodic archiving. Gak se-simple Plausible atau Umami yang tinggal docker-compose up.
- Performance impact: Tracking script 30KB — lebih besar dari Plausible/Umami. Di mobile dengan koneksi lambat, ini noticeable.
- Data archiving: Matomo punya background process yang archive raw data ke aggregated tables. Kalau archiving gak jalan (misal cron mati), dashboard jadi lambat atau error.
- Plugin ecosystem: Banyak fitur advanced cuma ada di Marketplace — bayar €99-299/tahun per plugin. Matomo On-Premise itu gratis, tapi heatmaps, session recordings, dan A/B testing semuanya paid plugins.
Benchmark: Performance Comparison
| Metric | Plausible | Umami (SQLite) | Matomo |
|---|---|---|---|
| Deploy time (first setup) | 15 menit | 5 menit | 30 menit |
| Total RAM (VPS) | 400MB | 120MB | 800MB+ |
| Docker image size | 150MB + Postgres 200MB | 80MB | 500MB + MariaDB 400MB |
| Script size (gzipped) | 700 bytes | 1.2KB | 10KB |
| PageSpeed impact | 0% | 0% | 1-3% |
| Dashboard load (100K events) | 500ms | 300ms | 2 detik |
| Query 30 days data | 200ms | 150ms | 1.2 detik |
| Database backup size | ~50MB | ~5MB (SQLite) | ~200MB |
| Min VPS requirement | 1GB RAM | 512MB RAM | 4GB RAM |
| Maintenance burden | Low (Postgres vacuum) | Very Low (SQLite) | Medium (DB + archive) |
Verdict: Pilih Mana?
| Kebutuhan | Pilihan | Kenapa |
|---|---|---|
| Blog personal / static site | Umami (SQLite) | Ringan, setup 5 menit, zero maintenance |
| Developer blog dengan traffic medium | Plausible | Dashboard lebih informatif, script super ringan |
| E-commerce / butuh funnels & goals | Plausible atau Matomo | Plausible untuk basic, Matomo untuk advanced |
| Multiple sites (10+ sites) | Plausible | Built-in multi-site management, roll-up reporting |
| Enterprise / butuh compliance (GDPR) | Matomo | Full GDPR toolkit, data anonymization, consent management |
| UX research (heatmaps, recordings) | Matomo (paid plugin) | Atau tool khusus kayak Hotjar — Matomo plugins limited |
| VPS minimal (512MB-1GB) | Umami (SQLite) | Satu-satunya yang bisa jalan di 512MB tanpa masalah |
| Privacy max, no tracking script at all | Plausible (proxy mode) | Bisa proxy tracking endpoint lewat Caddy/Nginx |
Plausible adalah pilihan yang solid. Alasannya: dashboard cukup informatif, privacy-friendly (gak pake cookies sama sekali — literally GDPR compliant out of the box), script 1.5KB yang gak ngaruh ke PageSpeed, dan data yang ditampilkan fokus ke metric yang actionable. Selain itu, Plausible punya proxy mode — jadi tracking request gak langsung ke server Plausible tapi lewat reverse proxy di domain yang sama. Ini bikin tracking gak bisa di-block oleh ad blockers. Setup proxy mode pake Caddy cuma 3 baris config, mirip kayak yang dijelasin di artikel systemd timers.
Kalau lo baru mulai dan punya VPS kecil (512MB-1GB), pilih Umami dulu. Gak perlu mikirin database maintenance, gak perlu provisioning Postgres, tinggal docker run dan selesai. Nanti kalau traffic udah gede dan butuh dashboard yang lebih informatif, migrasi ke Plausible — migrasinya gampang karena embed script-nya mirip-mirip formatnya.
Yang penting: pindah dari Google Analytics. Bukan cuma soal privacy — ini soal performance, data ownership, dan biaya jangka panjang. Google Analytics gratis, tapi lo bayar dengan data lo dan performance site lo. Self-hosted analytics tool kayak Plausible, Umami, atau Matomo kasih lo kontrol penuh. Butuh server yang cukup? Baca panduan budgeting VPS buat milih provider yang pas.
💬 Komentar (0)
Belum ada komentar. Jadilah yang pertama! 💬