Tools Review

Self-Hosted Website Analytics 2026: Plausible vs Umami vs Matomo untuk Developer

Self-Hosted Website Analytics 2026: Plausible vs Umami vs Matomo untuk Developer

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

FeaturePlausibleNotes
Dashboard load time<500msInstant — even untuk 100K events
Pageviews tracked/monthUnlimitedNo hard cap (self-hosted)
Script size1.5KBGzip: ~700 bytes
Filters & segmentsBasic (source, page, country)No custom funnels without paid
Goals/conversionsYes — custom eventsLimited to page views + custom events
APIREST API — full data accessGood for custom dashboards
RAM usage~250MB (Plausible) + 150MB (Postgres)Total ~400MB
Data exportCSV, JSONAll 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

FeatureUmamiNotes
Dashboard load time<300msFaster than Plausible
Database optionsMySQL, Postgres, SQLiteSQLite = zero maintenance
Script size~4KBLarger than Plausible, still tiny
Real-time dashboard✅ YesLive visitor count, pages, sources
Custom events✅ Yes — via data-umami-eventSimpler than Plausible
Team sharing✅ Built-inMultiple users with roles
APIGraphQL APIPowerful querying
RAM usage~120MB (Docker) / ~90MB (Node)No database overhead (SQLite)
Data exportCSVLimited 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

FeatureMatomoNotes
Dashboard load time1-3 detikLebih lambat dari Plausible/Umami
Heatmaps✅ YesClick heatmaps + scroll maps
Session recordings✅ Yes (paid plugin)Record & replay user sessions
A/B testing✅ Yes (plugin)Built-in experiment framework
Funnels & goals✅ Yes — advancedMulti-step, conditional, e-commerce
E-commerce tracking✅ Yes — completeRevenue, products, carts, checkout
Custom reports✅ Yes — drag & dropBuild report dari metric apapun
Multi-site (roll-up)✅ Yes — built-inAggregate all sites in one dashboard
Data ownership100% — semua data di server loNo data leaves your server
GDPR compliance✅ Full — built-in toolsAnonymize IP, opt-out, consent manager
RAM usage~500MB-1.5GBBergantung traffic dan plugins aktif
Monthly maintenanceMedium — DB backup, archive, updatesRequires 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

MetricPlausibleUmami (SQLite)Matomo
Deploy time (first setup)15 menit5 menit30 menit
Total RAM (VPS)400MB120MB800MB+
Docker image size150MB + Postgres 200MB80MB500MB + MariaDB 400MB
Script size (gzipped)700 bytes1.2KB10KB
PageSpeed impact0%0%1-3%
Dashboard load (100K events)500ms300ms2 detik
Query 30 days data200ms150ms1.2 detik
Database backup size~50MB~5MB (SQLite)~200MB
Min VPS requirement1GB RAM512MB RAM4GB RAM
Maintenance burdenLow (Postgres vacuum)Very Low (SQLite)Medium (DB + archive)

Verdict: Pilih Mana?

KebutuhanPilihanKenapa
Blog personal / static siteUmami (SQLite)Ringan, setup 5 menit, zero maintenance
Developer blog dengan traffic mediumPlausibleDashboard lebih informatif, script super ringan
E-commerce / butuh funnels & goalsPlausible atau MatomoPlausible untuk basic, Matomo untuk advanced
Multiple sites (10+ sites)PlausibleBuilt-in multi-site management, roll-up reporting
Enterprise / butuh compliance (GDPR)MatomoFull 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 allPlausible (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! 💬

Komentar akan muncul setelah moderasi.