OSSウェブアナリティクス比較:Plausible vs Umami vs PostHog でGA4を置き換える
オープンソースラボ編集部 ・ 2026年6月13日
OSSウェブアナリティクス比較:Plausible vs Umami vs PostHog でGA4を置き換える
Google Analytics 4(GA4)はデータをGoogleのサーバーに送信するため**プライバシー規制(GDPR・CCPA)**対応が複雑になります。Plausible(軽量・シンプルなプライバシーファーストアナリティクス)・Umami(シンプルなセルフホストGA4代替)・PostHog(プロダクト分析・機能フラグ・A/B テスト統合)はOSSのアナリティクスツールです。
GA4からの移行を検討する理由
- プライバシー規制対応: EU圏ユーザーへのGA4利用でGDPR違反リスク(オーストリア・フランスでGA4違法判決)
- Cookieレス対応: Cookieバナーが不要になるファーストパーティデータ収集
- データ所有権: 自社サーバーにデータを置くことで第三者にデータが渡らない
- 広告ブロッカー対策: セルフホストのファーストパーティドメインはブロックされにくい
主要ツールの概要
Plausible Analytics
2019年にEUで公開された軽量プライバシーファーストのアナリティクスツールです。GitHubスター21k+。JavaScriptスクリプトのサイズはわずか1KB(GA4の45KBと比較)。Cookieを使わずIPアドレス+User-Agentのハッシュでユニークビジターを識別するため、Cookieバナーが不要です。シンプルなダッシュボードで直帰率・ページビュー・リファラー・デバイスを確認できます。
# PlausibleをDockerで起動
git clone https://github.com/plausible/community-edition.git plausible-ce
cd plausible-ce
# 設定ファイルを作成
cat > plausible-conf.env << 'EOF'
BASE_URL=https://analytics.yourcompany.com
SECRET_KEY_BASE=$(openssl rand -base64 48) # ランダムキーを生成
TOTP_VAULT_KEY=$(openssl rand -base64 32)
EOF
docker compose up -d
# WebUI: https://analytics.yourcompany.com
<!-- PlausibleのトラッキングスクリプトをHTMLに追加 -->
<!-- 1KB の軽量スクリプト、Cookieなし -->
<script
defer
data-domain="yoursite.com"
src="https://analytics.yourcompany.com/js/script.js">
</script>
<!-- カスタムイベントのトラッキング -->
<script>
// ボタンクリックを計測
document.getElementById('cta-button').addEventListener('click', function() {
plausible('CTA Click', {props: {button: 'hero-cta', plan: 'enterprise'}});
});
// フォーム送信を計測
document.getElementById('contact-form').addEventListener('submit', function() {
plausible('Form Submit', {props: {form: 'contact', page: window.location.pathname}});
});
</script>
# Plausible Stats APIでデータを取得
import requests
from datetime import datetime, timedelta
PLAUSIBLE_URL = "https://analytics.yourcompany.com"
API_KEY = "your-plausible-api-key"
SITE_ID = "yoursite.com"
headers = {"Authorization": f"Bearer {API_KEY}"}
# 過去30日のページビューとユニークビジター
response = requests.get(
f"{PLAUSIBLE_URL}/api/v1/stats/aggregate",
headers=headers,
params={
"site_id": SITE_ID,
"period": "30d",
"metrics": "pageviews,visitors,bounce_rate,visit_duration",
}
)
stats = response.json()["results"]
print(f"30日PV: {stats['pageviews']['value']:,}")
print(f"ユニークビジター: {stats['visitors']['value']:,}")
print(f"直帰率: {stats['bounce_rate']['value']}%")
# トップページ一覧
pages = requests.get(
f"{PLAUSIBLE_URL}/api/v1/stats/breakdown",
headers=headers,
params={
"site_id": SITE_ID,
"period": "30d",
"property": "event:page",
"metrics": "pageviews,visitors",
"limit": 10,
}
).json()["results"]
for page in pages:
print(f"{page['page']}: {page['pageviews']:,} PV")
Umami
2020年に公開されたGo/Next.js製のシンプルなウェブアナリティクスです。GitHubスター24k+。GA4に似た直感的なUIでページビュー・リファラー・ブラウザ・OSを確認できます。マルチサイト対応で複数ウェブサイトを1つのダッシュボードで管理でき、チームメンバーへのアクセス権付与も可能です。PostgreSQLまたはMySQLで動作します。
# docker-compose.yml - Umami
version: '3.8'
services:
umami:
image: ghcr.io/umami-software/umami:postgresql-latest
ports:
- "3000:3000"
environment:
DATABASE_URL: postgresql://umami:umami_password@db:5432/umami
DATABASE_TYPE: postgresql
APP_SECRET: your-random-secret-here
depends_on:
db:
condition: service_healthy
restart: always
db:
image: postgres:15-alpine
environment:
POSTGRES_DB: umami
POSTGRES_USER: umami
POSTGRES_PASSWORD: umami_password
volumes:
- umami_db_data:/var/lib/postgresql/data
healthcheck:
test: ["CMD-SHELL", "pg_isready -U umami"]
interval: 5s
timeout: 5s
retries: 5
volumes:
umami_db_data:
<!-- UmamiのトラッキングスクリプトをHTMLに追加 -->
<script
async
src="https://analytics.yourcompany.com/script.js"
data-website-id="your-website-id-from-dashboard">
</script>
<!-- カスタムイベントのトラッキング -->
<script>
// data-umami-event属性でクリックイベントを自動計測
</script>
<button data-umami-event="購入ボタンクリック" data-umami-event-plan="pro">
Proプランを購入
</button>
<!-- JavaScriptでイベント送信 -->
<script>
umami.track('フォーム送信', {form: 'newsletter', source: 'footer'});
</script>
PostHog
2020年に公開されたオールインワンのプロダクトアナリティクスプラットフォームです。GitHubスター24k+。セッションレコーディング・機能フラグ・A/Bテスト・ファネル分析・コホート分析を統合。Mixpanel(月$25〜)・Amplitude(月$61〜)のOSS代替として機能します。
# PostHogをDockerで起動(推奨: 8GB RAM以上)
git clone https://github.com/PostHog/deployment
cd deployment
./deploy.sh # セットアップスクリプトが走る
# WebUI: http://localhost:8000
// PostHog JavaScript SDKの初期化
import posthog from 'posthog-js'
posthog.init('your-posthog-key', {
api_host: 'https://analytics.yourcompany.com',
session_recording: {
maskAllInputs: true, // 入力フィールドをマスク
maskInputOptions: { password: true }
},
capture_pageview: true,
autocapture: true, // クリック・フォーム・ページ遷移を自動キャプチャ
})
// カスタムイベント
posthog.capture('商品購入', {
product_id: 'prod-123',
price: 9800,
currency: 'JPY',
category: 'Software'
})
// 機能フラグでA/Bテスト
if (posthog.isFeatureEnabled('new-checkout-flow')) {
// 新しいチェックアウトフローを表示
showNewCheckout()
} else {
showOldCheckout()
}
// ファネル分析用のユーザー識別
posthog.identify('user-12345', {
email: 'user@example.com',
plan: 'pro',
company: 'Acme Corp'
})
機能比較表
| 比較項目 | Plausible | Umami | PostHog |
|---|---|---|---|
| セットアップ難易度 | 低 | 低 | 高 |
| スクリプトサイズ | 1KB | 2KB | 50KB+ |
| セッションレコーディング | ❌ | ❌ | ✅ |
| 機能フラグ・A/Bテスト | ❌ | ❌ | ✅ |
| ファネル・コホート分析 | 限定的 | 限定的 | ✅(高機能) |
| プライバシー特化 | ✅(最強) | ✅ | △ |
| 必要メモリ | 1GB〜 | 512MB〜 | 8GB〜 |
アナリティクスデータをGrafanaダッシュボードと統合するにはDevOpsカテゴリ/categories/devopsのGrafanaと組み合わせてください。マーケティングデータの管理・CRMとの連携にはMarketingカテゴリ/categories/marketingのツールを参照してください。
FAQ
Q. GA4からPlausibleに移行する場合のデータ引き継ぎは可能ですか?
A. 残念ながらGA4の過去データをPlausibleにインポートする公式方法はありません。移行後は新しいデータのみPlausibleで計測します。移行中の並行運用(GA4とPlausibleを両方設置)を2〜4週間行い、傾向が一致することを確認してからGA4を削除するのがベストプラクティスです。過去データの参照はGA4のプロパティを削除せず「データ収集を停止」するだけに留めておくと18ヶ月間はGA4で履歴を確認できます。
Q. Plausibleはサーバー側レンダリング(SSR)・Next.jsで使えますか?
A. はい。Next.jsではNext Scriptコンポーネントを使います。
// app/layout.tsx または pages/_app.tsx
import Script from 'next/script'
export default function RootLayout({ children }) {
return (
<html>
<head>
<Script
defer
data-domain="yoursite.com"
src="https://analytics.yourcompany.com/js/script.js"
strategy="afterInteractive"
/>
</head>
<body>{children}</body>
</html>
)
}
Q. PostHogのセッションレコーディングはGDPR適合していますか?
A. セルフホスト版PostHogを使えば、データが自社サーバーに保存されるためGDPR適合が容易です。設定で入力フィールド・画像・特定のDOM要素をマスクできます。maskAllInputs: trueで全入力をマスクし、さらにmaskInputOptionsで特定フィールドタイプ(パスワード・クレジットカード等)を指定できます。クラウド版PostHog(app.posthog.com)はデータがUS/EUのサーバーに送信されるため、EU圏ユーザーのデータ収集には適切なDPA(データ処理契約)が必要です。
Q. UmamiとPlausibleはどちらがシンプルですか?
A. どちらもシンプルですが異なります。Plausible: Cookieなし・バナー不要・1KB・インフラ要件が低い(1GB RAM)。Umami: マルチサイト対応・カスタムイベントが豊富・チームメンバーアクセス管理。単一サイトで最もシンプルに始めるならPlausible、複数サイト管理・チーム共有なら Umamiが向いています。
まとめ
| ユースケース | 推奨ツール |
|---|---|
| Cookieバナー不要・最軽量 | Plausible |
| マルチサイト・シンプルGA代替 | Umami |
| セッション録画・A/Bテスト・機能フラグ | PostHog |