GA4の設定画面で「コンバージョン目標ってどこで設定するんだっけ」と迷子になったことはないか。あるいは Plausible を選んだものの、セッション録画が欲しくて PostHog を追加導入し、気づけばダッシュボードが3つになっていた——そんな経験があるなら、Rybbit は試す価値がある。
Rybbit は、Cookie不要・GDPR完全準拠のオープンソースウェブ解析プラットフォームだ。GitHub スター12,000超(2026年4月時点)、AGPL-3.0ライセンスで公開されており、Docker でセルフホストするか公式クラウドを使うかを選べる。
この記事ではウェブ解析・DevOps ツールとして Rybbit を解説します。自動化ツール全般のカバレッジは AI自動化ツール完全ガイド2026|ノーコードからコードまで徹底比較 をご覧ください。
Rybbitとは:GA4の複雑さとPlausibleの機能制限の間を埋めるOSS
Rybbit は2024年末に登場し、急速に注目を集めた解析ツールだ。2026年3月に v2.5.0 をリリース、31バージョンのリリースサイクルを経て、今や4,000以上の組織が利用している。645のフォーク、2,200超のコミットを持つ活発なプロジェクトだ。
開発の背景はシンプルだ。既存の選択肢にはそれぞれ問題があった。
GA4 の問題点:強力ではあるが、レポートの構造が複雑すぎる。「ページビューを過去7日で見たい」だけでも、探索レポートとカスタムディメンションの知識が要る。Cookie への依存はプライバシー対応コストを押し上げ、EU 圏では同意管理プラットフォーム(CMP)の導入が事実上必須だ。
Plausible の問題点:シンプルで使いやすいが、コミュニティエディション(セルフホスト版)は一部の Pro プラン機能が省かれている。ビジネス用途でセッションリプレイやファネルが欲しくなると、月 $19〜$69 の有料プランが必要になる。
PostHog / Mixpanel の問題点:機能は申し分ないが、セットアップと管理の複雑さはエンジニアリソースが限られるチームには重い。OSS セルフホスト版でも Kubernetes が推奨されるケースもある。
Rybbit はこの3者の弱点を補完する位置にある。TypeScript(97.4%)で構築され、ClickHouse をアナリティクス DB として採用することで、大量データでも高速なリアルタイム集計を実現している。
主要な数値として記録すると:
- ⭐ 12,000+ GitHub Stars(2026年4月時点)
- 🍴 645 forks
- 💬 2,209 コミット(master ブランチ)
- 📦 最新版:v2.5.0(2026年3月)
- 📜 ライセンス:AGPL-3.0
- 🏢 利用組織数:4,000以上
5つのコア機能:GA4にはないリアルタイム解析の武器
1. セッションリプレイ
実際のユーザー操作をそのまま動画として再生する機能だ。クリック、スクロール、フォーム入力の流れをプレイバックできる。「どの画面でユーザーが離脱したか」「ナビゲーションが使いにくい箇所」を推測ではなく事実として把握できる。
PostHog や FullStory が提供するセッション録画と同等の機能を、OSS で利用できる点が注目される。セッション一覧から OS、ブラウザ、流入元でフィルタリングし、特定条件のユーザー操作に絞り込んで再生できる。
2. コンバージョンファネル
購入フロー(トップページ→商品ページ→カート→決済)やサインアップフロー(ランディング→登録→認証→ダッシュボード)などのステップごとの離脱率を可視化する。各ステップの通過率がグラフ表示され、どこに問題があるかを即座に特定できる。ステップは任意のページパスやカスタムイベントで定義可能だ。
3. ユーザージャーニー
特定のページを起点に「次にどのページに遷移するか」のフローを視覚化する機能だ。GA4 の「行動フロー」に相当するが、Rybbit の実装はページ遷移パターンをサンキー図で直感的に表示する。コンテンツ間の導線が意図どおりに機能しているかを確認するのに有効だ。
4. コホート別リテンション分析
新規ユーザーが一定期間後にどの割合で戻ってきているかをコホート(期間別グループ)で追う機能だ。DAU/WAU/MAU 比較や、特定キャンペーン後のリテンション改善度を定量的に測定できる。SaaS プロダクトのエンゲージメント分析に特に有効だ。
5. Core Web Vitals モニタリング
LCP(Largest Contentful Paint)、INP(Interaction to Next Paint)、CLS(Cumulative Layout Shift)をリアルタイムでトラッキングする。Google 検索順位に直結するCore Web Vitals を、アナリティクスと同一ダッシュボードで確認できる点は実用的だ。パフォーマンス改善の前後比較もこの画面で完結する。
その他の機能
上記5つに加えて、次の機能も標準搭載している。
- エラートラッキング:JavaScriptエラーを自動検出し、発生頻度・影響を受けたユーザー数・スタックトレースを記録する
- ユーザープロファイル:
rybbit.identify()で識別したユーザーの行動履歴を一覧表示する - 15以上のディメンションでのフィルタリング:OS、ブラウザ、デバイス、国、UTMパラメータ、リファラー等で任意にセグメントできる
- リアルタイムダッシュボード:現在サイトにいるユーザー数とアクティブページをリアルタイム表示
- ボットフィルタリング:既知のクローラーとボットを自動除外し、実際の人間のトラフィックのみを計測
- マルチサイト・マルチ組織対応:1インスタンスで複数サイト・複数組織を管理可能
アーキテクチャ:TypeScript + ClickHouseによる高速集計基盤
Rybbit の技術的な核心は、2種類のデータベースを役割分担させる設計にある。
(script.js / 約2KB)"] --> B["Caddy
リバースプロキシ
Port 80/443"] B --> C["Backend API
(Node.js + TypeScript)
Port 3001"] B --> D["Client UI
(Next.js)
Port 3002"] C --> E["ClickHouse
アナリティクス DB
カラム指向・高速集計"] C --> F["PostgreSQL
プライマリ DB
ユーザー・サイト設定管理"] D --> C C --> G["BetterAuth
認証レイヤー"]
ClickHouseを採用した理由
一般的な RDBMS(PostgreSQL / MySQL など)は書き込みと読み込みのバランス設計だが、アナリティクス用途では「大量の時系列イベントを高速に集計する」読み取り偏重のワークロードが求められる。ClickHouse はカラム指向ストレージとベクトル化処理により、数十億行のデータでも秒単位の集計クエリを実現する DBMS だ。ClickHouseの仕組みや PostgreSQL・BigQueryとの詳細な比較については ClickHouseとは:高速OLAPデータベースの仕組みと使いどころを解説 を参照してほしい。
Rybbit は ClickHouse の Docker イメージ clickhouse/clickhouse-server:25.4.2 を同梱しており、セルフホスト時も追加インストールは不要だ。
バックエンドとフロントエンドの分離
- Backend(Port 3001):Node.js + TypeScript で実装された REST API。トラッキングスクリプトからのイベント受信、ClickHouse への書き込み・集計クエリ、BetterAuth 認証を担当する
- Client(Port 3002):Next.js 製ダッシュボード UI。React Server Components と Tailwind CSS で構築され、軽量かつ高速な操作感を提供する
- Caddy:TLS 証明書の自動取得・更新(Let’s Encrypt)とリバースプロキシ。設定ファイル(Caddyfile)のみで HTTPS が完結する
データ保護の仕組み
Rybbit が「Cookie 不要」「GDPR 対応」を名乗れる理由は、技術的な設計にある。IP アドレスはハッシュ化してから保存され、元の IP アドレスは保持しない。User-Agent のフィンガープリンティングはデバイス種別の判定に使用されるが、個人を識別する目的では使われない。収集するのは「どのページを見たか」「どのデバイスからか」「どの国からか」といった集計用の匿名データのみだ。
セルフホスト版は全データが自分の VPS 内にとどまる。クラウド版でもデータは EU(ドイツ)のサーバーに保存され、Rybbit 社がデータを第三者に販売したり広告目的で使用したりしないことが利用規約で明示されている。
Google Analytics・Plausible・Umamiとの機能比較
実際に選択を迷うケースで4ツールを横断的に比較した。
| 機能 | Rybbit | GA4 | Plausible | Umami |
|---|---|---|---|---|
| Cookie なし | ✅ | ❌ | ✅ | ✅ |
| セルフホスト(全機能) | ✅ | ❌ | △(CE版は制限あり) | ✅ |
| セッションリプレイ | ✅ | ❌ | ❌ | ❌ |
| コンバージョンファネル | ✅ | ✅ | ✅(有料) | ✅(有料) |
| コホートリテンション | ✅ | ✅ | ❌ | ❌ |
| Core Web Vitals 計測 | ✅ | ❌ | ❌ | ❌ |
| エラートラッキング | ✅ | ❌ | ❌ | ❌ |
| カスタムイベント(JSON) | ✅ | ✅ | ✅(有料) | ✅ |
| リアルタイム解析 | ✅ | ✅ | ✅ | ✅ |
| ユーザープロファイル | ✅ | ✅ | ❌ | ❌ |
| ボットフィルタリング | ✅ | ✅ | ✅ | ✅ |
| 地図表示(国・地域・都市) | ✅(3階層) | ✅ | ✅(国のみ) | ✅(国のみ) |
| 無料プラン | 3,000PV/月 | 無制限 | ❌ | セルフホストのみ |
| 最低有料プラン(月額) | $13 | 無料〜 | $19 | $9 |
| オープンソース | ✅(AGPL-3) | ❌ | ✅(MIT) | ✅(MIT) |
| 最新バージョン(2026年4月) | v2.5.0 | - | v2.x | v2.x |
Rybbit が明確に勝る点は「セルフホスト版でも全機能が使える」と「セッションリプレイ + Core Web Vitals + エラートラッキングの統合」だ。GA4 は無料の強みがあるが、Cookie への依存と設定の複雑さが根強い課題として残る。Umami は MIT ライセンスで商用利用の制限が少ないが、セッションリプレイのような高度な機能は持っていない。
Rybbit は AGPL-3.0 ライセンスで公開されている。これは「自社プロダクトにソースコードを組み込んで SaaS として提供する場合、ソースコード全体の公開が必要」を意味する。社内利用・セルフホストのみであれば問題ないが、Rybbit を改変して第三者に提供する場合はライセンス要件を確認すること。
セルフホストの手順:Docker Composeで5分デプロイ
前提条件
- Docker + Docker Compose v2 がインストール済みの VPS(推奨: 2GB RAM 以上)
- ドメイン名(例:analytics.example.com)と DNS の A レコード設定済み
- 80番・443番ポートが開放済み
1. リポジトリをクローン
git clone https://github.com/rybbit-io/rybbit.git
cd rybbit
2. 環境変数を設定
.env.example をコピーして .env を作成し、最低限以下を設定する:
# 必須設定
BASE_URL=https://analytics.example.com
BETTER_AUTH_SECRET=your-random-32-char-secret-here
# オプション:Mapbox トークン(地図表示に必要)
MAPBOX_TOKEN=your-mapbox-token
# 新規ユーザー登録を無効化(運用開始後は true を推奨)
DISABLE_REGISTRATION=false
# DB認証情報(デフォルト値のままでも動くが変更を推奨)
CLICKHOUSE_PASSWORD=frog
POSTGRES_PASSWORD=frog
BETTER_AUTH_SECRET は以下で生成した32文字以上のランダム文字列を使う:
openssl rand -base64 32
3. 起動
Caddy を含む全サービスをまとめて起動する:
docker compose --profile with-webserver up -d
既存の Nginx や Traefik を使っている場合は Caddy を除外:
docker compose up -d
起動後、BASE_URL で指定したドメインにアクセスすると初期設定画面が表示される。最初のアカウント作成後、DISABLE_REGISTRATION=true に変更してコンテナを再起動するとよい。
4. アップデート
docker compose pull && docker compose --profile with-webserver up -d
データは Docker ボリュームに永続化されるため、pull して再起動するだけでアップデートが完了する。
動作する5つのコンテナ
docker compose ps を実行すると以下が確認できる:
| サービス | イメージ | ポート | 役割 |
|---|---|---|---|
| caddy | caddy:2.10.0 | 80, 443 | リバースプロキシ + TLS |
| clickhouse | clickhouse-server:25.4.2 | - | アナリティクス DB |
| postgres | postgres:17.4 | - | プライマリ DB |
| backend | ghcr.io/rybbit-io/rybbit-backend | 3001 | REST API |
| client | ghcr.io/rybbit-io/rybbit-client | 3002 | Next.js UI |
トラッキングスクリプトの導入とカスタムイベント
基本のトラッキング設定
ダッシュボードでサイトを追加すると、以下のスニペットが発行される:
<script
src="https://app.rybbit.io/api/script.js"
async
data-site-id="YOUR_SITE_ID"
></script>
セルフホスト版では src を自分のドメインに変更する:
<script
src="https://analytics.example.com/api/script.js"
async
data-site-id="YOUR_SITE_ID"
></script>
このスクリプトは約 2KB と軽量で、ページビューを自動計測する。History API を使った SPA(React, Next.js, Vue.js 等)のルーティング変更も自動検出するため、追加設定は不要だ。
カスタムイベントの送信
window.rybbit オブジェクト経由でカスタムイベントを送れる:
// シンプルなイベント
rybbit.event("signup_clicked");
// JSON プロパティ付きイベント
rybbit.event("purchase_completed", {
plan: "pro",
amount: 26,
currency: "USD",
trial_converted: true
});
// ユーザー識別(SaaS 等でユーザー ID を紐付ける場合)
rybbit.identify("user-123", {
plan: "pro",
signup_date: "2026-01-15"
});
HTML 要素への宣言的な設定も可能だ:
<button
data-rybbit-event="cta_click"
data-rybbit-prop-source="hero"
data-rybbit-prop-variant="a"
>
今すぐ始める
</button>
この方式では JavaScript を書かずに、DOM 要素にデータ属性を追加するだけでイベント計測が完了する。A/B テストのバリアント記録などにも活用できる。
Next.js への組み込み
Next.js(App Router)の場合は app/layout.tsx に追記するだけだ:
// app/layout.tsx
export default function RootLayout({
children,
}: {
children: React.ReactNode;
}) {
return (
<html lang="ja">
<head>
<script
defer
src={`${process.env.NEXT_PUBLIC_RYBBIT_URL}/api/script.js`}
data-site-id={process.env.NEXT_PUBLIC_RYBBIT_SITE_ID}
/>
</head>
<body>{children}</body>
</html>
);
}
NEXT_PUBLIC_RYBBIT_URL と NEXT_PUBLIC_RYBBIT_SITE_ID を .env.local に設定することで、本番・開発環境を切り替えられる。
Mintlify / Webflow / Framer への対応
公式ドキュメントには Mintlify、Webflow、Framer、Nuxt.js 向けの専用統合ガイドが用意されている。CMS やノーコードプラットフォームを使う場合も、スクリプトタグの挿入で対応できる。
料金プランと選択ガイド
Rybbit の料金体系はシンプルで、主に「ページビュー数」と「機能セット」で分岐する。
クラウド版プランの比較
| プラン | 月額 | ページビュー | サイト数 | チームメンバー | セッションリプレイ | データ保持 |
|---|---|---|---|---|---|---|
| Free | $0 | 3,000/月 | 1 | 1 | ❌ | 3ヶ月 |
| Standard | $13 | 100,000/月 | 5 | 3 | ❌ | 1年 |
| Pro | $26 | 1,000,000/月 | 無制限 | 無制限 | ✅ | 5年 |
| Enterprise | 要相談 | 無制限 | 無制限 | 無制限 | ✅ | 無制限 |
Free プランの活用場面:個人ブログ、ポートフォリオサイト、月 3,000PV 以下の小規模サイトに最適。クレジットカード不要。
セルフホスト版:ソフトウェアコストはゼロ(AGPL-3.0)。VPS 費用(月 $5〜)のみで全機能が利用可能。
競合との月額コスト比較(月100万PV)
| ツール | 月100万PV の費用 | 備考 |
|---|---|---|
| Rybbit Pro | $26 | 無制限サイト・セッションリプレイ込み |
| Plausible Business | $69 | 50サイトまで |
| PostHog Cloud | $450〜 | イベント数 100万件超で課金 |
| GA4 | $0(360は$150,000/年〜) | 無料版は機能制限あり |
月 100万PV のトラフィックに対して Rybbit Pro は $26 で全機能を利用できる。Plausible の同等プランと比較しても 60% 以上安い。スタートアップや個人開発者にとって、コスト面の競争力は顕著だ。
どんなプロジェクトに向いているか
向いているケース
プライバシー規制の厳しい地域・業界向けプロジェクト GDPR や CCPA への準拠コストを最小化したい場合、Cookie 不要・個人情報非収集の Rybbit は同意管理プラットフォーム(CMP)の導入を不要にする。EU 向けの SaaS や BtoC サービスで特に有効だ。
セルフホストでデータ主権を確保したいケース ヘルスケア、金融、官公庁など、データを外部クラウドに預けられない組織にとって、VPS 1台でフル機能が動く構成は魅力的だ。DB への直接アクセスが必要な場合も、ClickHouse や PostgreSQL に直接クエリを投げることができる。
GA4 の複雑さに疲れた中小チーム エンジニアリソースが少なく、「とにかく使えるダッシュボードが欲しい」チームに向いている。セットアップ時間は GA4 の設定の 10 分の 1 程度で済む。マーケターや非エンジニアでも直感的に使えるUIだ。
SaaS / プロダクト開発チーム セッションリプレイ + ファネル + エラートラッキングを 1 ツールで完結させたいプロダクトチームに適している。Mixpanel / PostHog の代替として、コストを大幅に削減しながら同等以上の機能が手に入る。
パフォーマンス重視のサイト Core Web Vitals をアナリティクスと一緒に監視したい場合、Rybbit のみで完結する。別途 Lighthouse CI や RUM ツールを追加する手間を省ける。
あまり向いていないケース
- BigQuery との深い連携が必要な場合:GA4 の生データを BigQuery に自動エクスポートする機能は Rybbit にない。大規模なデータウェアハウス分析が必要なら GA4 が優位
- Google Looker Studio 連携必須:Google エコシステムとの統合は GA4 が圧倒的に有利。Rybbit の REST API からデータを取得して Looker Studio に繋ぐことは技術的に可能だが、手間がかかる
- 機械学習による予測分析:GA4 の予測機能(チャーン予測、収益予測)に相当する ML 機能は Rybbit には現時点で存在しない
- モバイルアプリのネイティブ SDK が必要:現在は Web ブラウザ向けスクリプトが中心。モバイルネイティブ SDK は開発中で、REST API 経由でのイベント送信は可能
DevOps ツールチェーンの中で Rybbit を活用する場合、データパイプライン側との連携も検討に値する。Kestra(ワークフロー自動化ツール)と組み合わせてRybbit API からデータを取得し定期レポートを生成する自動化パイプラインを構築するケースや、Prefect(データパイプライン管理) を使ってエクスポートデータをBIツールへ送るワークフローを定期実行するケースも実用的だ。
よくある質問(FAQ)
Q. セルフホスト版とクラウド版の機能差はありますか?
セルフホスト版は全機能が利用可能で、クラウド版の Pro プランと同等の機能を持つ。ただしアップデートは手動で行う必要がある(docker compose pull の実行)。クラウド版は自動アップデートと公式サポートが付く代わりにコストが発生する。
Q. GA4 からの移行は可能ですか?
設定移行の自動ツールはないが、トラッキングスクリプトを差し替えるだけで計測を開始できる。GA4 の過去データは Rybbit に取り込めないため、移行日以前のデータは GA4 側で参照する形になる。移行期間中は両方のスクリプトを並行運用するのが一般的だ。
Q. アクセス解析以外の用途で使えますか?
カスタムイベントの JSON properties 機能を活用すると、EC サイトのカート離脱分析、SaaS のプロダクトアクティビティ追跡、ゲームのスコアイベントログなど、幅広い用途に応用できる。rybbit.identify() でユーザー ID を紐付けることで、ユーザー単位の行動分析も可能だ。
Q. データバックアップはどうするべきですか?
ClickHouse と PostgreSQL のデータは docker-compose.yml で定義された名前付きボリュームに永続化される。定期的に以下のようなコマンドでダンプを取得するか、VPS プロバイダーのスナップショット機能を活用するとよい。
# ClickHouse のバックアップ例
docker exec rybbit-clickhouse-1 clickhouse-client \
--query "BACKUP DATABASE analytics TO Disk('default', 'backup.zip')"
Q. Nginx や Traefik などのリバースプロキシと共存できますか?
可能だ。Caddy プロファイルを除外して起動し(docker compose up -d)、既存の Nginx や Traefik からポート 3001(Backend)と 3002(Client)へプロキシするように設定する。公式ドキュメントに Nginx 設定例が記載されている。
まとめ
Rybbit は「GA4 は複雑すぎる、でも Plausible では物足りない」というニーズを直撃するポジションにある。Cookie 不要・GDPR 対応というプライバシー優位性を持ちながら、セッションリプレイ・ファネル・コホートリテンション・Core Web Vitals を 1 ダッシュボードに集約している。
価格面では $26/月(Pro)または無料(セルフホスト)という選択肢は、PostHog や Mixpanel に比べてかなり競争力が高い。AGPL-3.0 ライセンスのためセルフホスト版を社内利用する分には追加コストなし。大量トラフィックや社内のデータ主権ポリシーがある場合でも VPS 1台で動く軽量さも魅力だ。
GA4 からの乗り換え、あるいは複数ツールの統合候補として、Rybbit は現時点で最もバランスの取れた選択肢の一つだ。