PostHogとは、Web解析・セッションリプレイ・Feature Flag・A/Bテストを1つに統合したオープンソースのプロダクトアナリティクスだ。GA4の代替として使われ、GitHubスターは39,486(2026年8月31日時点)。この記事ではPostHogの使い方(導入手順・イベント計測)と料金(無料枠の実額とセルフホストの分岐点)を、公式ドキュメントの数値で確かめながら解説する。
WHAT IT REPLACES何を代替するか
4つの別契約を1つのイベントテーブルにまとめる
ツールを組み合わせる
GA4 + Hotjar + LaunchDarkly + Optimizely
- 契約と管理画面が4つ
- Flag配信群とCVの結合にID合わせの実装
- 生データはGoogle側に保管
PostHog
MIT(ee/ を除く)・Cloud とセルフホスト
- 解析・リプレイ・Flag・実験が同じ基盤10機能が同じイベントテーブルを共有
- 同一の distinct_id で紐づくファネルから該当ユーザーのリプレイへ飛べる
- SQL(HogQL)で生イベントを掘れるセルフホストなら ClickHouse に全件
30秒でわかるPostHog——とは・使い方・料金
- ・Web解析/セッションリプレイ/Feature Flag/A/Bテスト/エラー追跡を同じイベントテーブルの上で動かすOSS。GA4・Mixpanel・LaunchDarkly・Hotjarの守備範囲を1つに畳む
- ・使い方:Cloudにサインアップ→JSスニペットを
<head>に貼る(実質5分)。覚えるAPIはcapture/identify/getFeatureFlagの3つで足りる - ・料金:Cloudは月100万イベント・5,000録画・100万Flagリクエスト・10万例外・1,500回答まで無料
- ・セルフホストは「30万イベント/1,000録画/30万Flag APIコールを超えるならCloud」が公式の線引きで、公式サポート対象外
- ・プロダクト分析ならGA4の代替になる。広告連携・Google Ads自動入札はGA4が強く、広告主体のサイトは併用が現実解
DevOps・自動化の文脈でのツール選定全体像は AI自動化ツール|ノーコードからコードまで2026年版の比較と選び方 にまとめている。
PostHogとは何か:GA4の代替になるオールインワンOSS
PostHogはMITライセンス(ee/配下はプロプライエタリ)で公開され、SaaS版の PostHog Cloud と、Docker一発で立ち上がる Self-hosted Hobby Deploy がある。公式READMEに並ぶ機能は次のとおり。
・Product / Web Analytics:イベント自動キャプチャ、GAライクなダッシュボード(PV、訪問者、コンバージョン、Web Vitals)、SQLでの掘り下げ
・Session Replays:実ユーザーの操作を録画して再生
・Feature Flags / Experiments:ロールアウト制御とA/Bテスト
・Error Tracking / Surveys:例外の収集と通知、アプリ内アンケート
・Data warehouse / pipelines:StripeやHubSpotなど25以上と連携
・AI observability / Workflows:LLMアプリのトレース・コスト計測、イベント起点の自動化
これらが同じイベントテーブルを共有している点が本質だ。GA4とFeature Flagツールを別々に運用すると、「どのFlag配信群がどのコンバージョンに効いたか」を結合するのにユーザーIDを揃える追加実装が要る。PostHogは同一のdistinct_idでイベント・リプレイ・Flag履歴を紐づけるので、ファネルから該当ユーザーのリプレイへ直接飛べる。
GA4との違いは機能の多寡より設計思想にある。GA4は広告担当者がROIを測るため、PostHogはPMとエンジニアが機能の使われ方を見るために作られている。
| 観点 | GA4 | PostHog |
|---|---|---|
| データの所有 | 生データはGoogle側。自社で扱うにはBigQueryエクスポートが要る | セルフホストならClickHouseに生イベントが全件溜まる。CloudでもS3エクスポートあり |
| Cookie同意 | 広告連携を含むためEUではほぼ必須。拒否率(多くのサイトで30〜50%)だけデータが欠ける | ファーストパーティCookieのみ。IPマスク・PII除外・匿名IDで「同意不要」運用に寄せられる(最終判断は法務) |
| 分析の軸 | 集客・トラフィックソース | ファネル・パス・コホート・リテンションが標準。SQLエディタ(HogQL)内蔵 |
| 画面 | 「集客」「技術 → デバイス」など複数画面を行き来 | チャネル・デバイス・国のブレークダウンが1ページに並ぶ |
Web Analyticsの指標はGA4にそのまま対応する(Visitors=アクティブユーザー、Page Views=表示回数、Sessions=セッション、Bounce Rate=直帰率)。GA4に無いのが Session Replay で、rrwebベースのDOM再現としてイベントの再生で保存されるので、容量が小さく検索しやすい。レイジクリック・デッドクリック・コンソールエラーは自動でハイライトされ、フォーム離脱や特定機種のレイアウト崩れを優先的に見られる。<input>は標準でマスクされる。
PostHog vs GA4 vs Matomo vs Rybbit:機能比較表
Rybbitは「Plausible/Umami系」の軽量アナリティクスで、ClickHouseベースという基盤はPostHogと同じだが、Web Analyticsに絞ったシンプル路線だ。
| 項目 | PostHog | Google Analytics 4 | Matomo | Rybbit |
|---|---|---|---|---|
| ライセンス | MIT(ee/はプロプライエタリ) |
プロプライエタリ | GPLv3 | AGPL-3.0 |
| ホスティング | Cloud + セルフホスト | Cloud専用 | Cloud + セルフホスト | Cloud(無料枠あり) + セルフホスト |
| データ基盤 | ClickHouse + Postgres + Kafka | Google内部(BigQueryでアクセス) | MariaDB / MySQL | ClickHouse + Postgres |
| セッションリプレイ | あり(標準機能) | なし | あり(有料アドオン) | なし |
| Feature Flag | あり(標準機能) | なし | なし | なし |
| A/Bテスト | あり(標準機能) | Optimize終了済み | あり(有料アドオン) | なし |
| ファネル分析 | あり | あり(複雑な設定要) | あり | 簡易ファネル |
| SQL直接実行 | あり(HogQLエディタ) | BigQuery経由のみ | あり | なし(事前定義レポート中心) |
| Cookie同意の重さ | 軽い(設定次第で同意不要構成可) | 重い(広告連携で同意ほぼ必須) | 軽い | 最軽(Cookieレス・同意不要を売り) |
| 無料枠 | 月100万イベント等 | 完全無料(ただし上限あり) | OSS版は完全無料 | クラウド無料枠あり / セルフホスト無制限 |
| 学習コスト | 中(多機能) | 高(管理画面が複雑) | 低 | 最低(GA代替の最小構成) |
| 導入時間 | JSスニペット5分 | プロパティ設定30分〜 | サーバー構築30分〜 | JSスニペット5分 |
HOW TO CHOOSE4問で切り分ける
広告かプロダクトか、主役で選ぶ
こういうサイトなら
これを選ぶ
こういうサイトなら: 広告ROIが事業の中心
これを選ぶ: GA4を残しPostHogを併用
こういうサイトなら: PMとエンジニアがFlagと実験を回す
これを選ぶ: PostHog単独
こういうサイトなら: 完全GPL・EU圏内ホスティングが必須
これを選ぶ: Matomo
こういうサイトなら: 訪問者数とPVだけ・同意バナーを出したくない
これを選ぶ: Rybbit
セッションリプレイやFeature Flagが不要な小規模サイト・ブログではRybbitで足りることも多い。導入手順と料金は Rybbit:Google Analytics代替のOSSアナリティクスをDockerでセルフホスト で解説している。Mixpanelは商用SaaS専業で、UIの洗練度を推す声はあるが、統合範囲(リプレイ・Flag・Error)ではPostHogに分がある。
PostHogの使い方:インストールとイベント計測
| 観点 | PostHog Cloud(推奨) | セルフホスト(Hobby Deploy) |
|---|---|---|
| 導入手順 | サインアップ → JSスニペットを<head>に貼る |
Linuxサーバーでワンライナー実行 |
| 所要時間 | 約5分 | 5〜10分(証明書取得含む) |
| 適した規模 | 月100万イベント程度まで無料 | 月30万イベント/1,000録画/30万Flag APIコール未満(公式の分岐条件) |
| データ保管 | US / EUリージョンのPostHog側 | 自社サーバー(ClickHouse) |
| 運用負荷 | ゼロ(フルマネージド) | SREがClickHouse/Kafkaを保守 |
| サポート | あり | 公式サポート対象外(”officially unsupported”と明記) |
Cloud は PostHog Cloud US か PostHog Cloud EU でアカウントを作り、発行されたJSスニペットを<head>に貼る。ページビュー・クリック・セッションリプレイ・Feature Flagまでこの1つで動く。初期化の主要オプションは次の要領だ。
posthog.init('phc_あなたのプロジェクトキー', {
api_host: 'https://us.i.posthog.com',
person_profiles: 'identified_only', // 識別済みユーザーのみプロファイル作成
capture_pageview: true,
autocapture: true,
session_recording: { maskAllInputs: true }, // フォーム入力を標準でマスク
});
再読込して Activity > Live events に$pageviewが数秒で流れれば成功。流れなければDevToolsのNetworkでus.i.posthog.comへのリクエストが200か確かめる。セルフホストは公式スクリプト1行で、Docker・Docker Compose・Caddy・Let’s Encrypt証明書まで入る(推奨は4GBメモリのLinuxサーバー1台)。
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/posthog/posthog/HEAD/bin/deploy-hobby)"
autocaptureは標準のクリック・ページビューを拾うが、ビジネスKPIには明示的なイベントが要る。覚える呼び出しは少ない。
| API呼び出し | 何をするか | 代表的なユースケース |
|---|---|---|
posthog.capture(event, props) |
任意のカスタムイベントを送信 | 申込完了・記事読了・購入などのコンバージョン定義 |
posthog.identify(id, props) |
匿名ユーザーに正体を紐づける | ログイン時。匿名時のイベントも遡及的に紐づく |
posthog.group(type, id, props) |
組織単位でグルーピング | B2B SaaSで「会社」単位の利用状況を集計 |
posthog.isFeatureEnabled(key) |
Feature Flagの真偽を判定 | 新機能の段階リリース・A/Bテスト |
posthog.getFeatureFlag(key) |
マルチバリアントの値を取得 | 3案以上のCTA文言テストなど |
// ロード後にFlagを判定して出し分ける
posthog.onFeatureFlags(() => {
const variant = posthog.getFeatureFlag('homepage-cta-experiment');
renderCTA(variant); // 'control' / 'variant-a' / ...
// 実験のゴールイベントにFlagの値を添える
posthog.capture('cta_clicked', {
$feature_flag: 'homepage-cta-experiment',
$feature_flag_response: variant,
});
});
ExperimentsはFlagの判定とゴールイベントを統計エンジンが結びつけ、ベイズ推論で勝者を判定する。LaunchDarklyやOptimizelyを別契約しなくても、A/Bテストが同じ基盤で回る。
Jekyll + Cloudflare Pagesサイトへの導入
・スニペット配置:docs/_includes/に部品を作り、jekyll.environment == "production"ガードで本番ビルドだけに入れる。Cloudflare PagesはJEKYLL_ENV=productionを自動でセットするので、ローカルの計測が混ざらない
・CSPの許可:_headersでCSPを設定しているならscript-src/connect-srcに*.posthog.com(または自前のプロキシドメイン)を足す
・リバースプロキシ(推奨):us.i.posthog.comへの直リクエストはAdblockerに止められることがある。Cloudflare Workersでyourdomain.com/ph/*経由にすると下がる。公式の実装例がある
PostHogの料金:無料枠の実額とセルフホストの分岐点
PostHog Cloudの無料枠と単価は次のとおり(2026年8月11日に公式Pricingで再確認)。無料枠は毎月継続し、機能ごとに独立しているので「イベントは無料枠内だが録画だけ超過」という部分課金になる。上限に達して自動で高額請求が走るわけではない。
| 機能 | 無料枠(月) | 超過時の単価(目安) |
|---|---|---|
| Product/Web Analytics | 100万イベント | $0.00005/event〜 |
| Session Replay | 5,000録画 | $0.005/recording〜 |
| Feature Flags | 100万リクエスト | $0.0001/req〜 |
| Error Tracking | 100,000例外 | 段階課金 |
| Surveys | 1,500回答 | 段階課金 |
CLOUD OR SELF-HOST料金の分岐点
Cloudの無料枠が、セルフホストを勧める上限を上回る
100万
Cloudの無料イベント
毎月・機能ごとに別枠
30万
セルフホストを勧める上限
超えるならCloudを推奨
0
セルフホストの公式サポート
officially unsupported
「規模が大きくなったらセルフホストへ」という直感は、PostHogでは逆になる。公式の判断フローは30万イベントを超えるならCloudを勧め、それ以上はClickHouseとKafkaのクラスタ分離で運用負荷が跳ね上がるとしている。さらに自社ホスト構成を “officially unsupported” と明記し、「PostHog Cloud is far and away the best experience for the vast majority of our users」と書く。セルフホストはコスト最適化ではなく、データレジデンシーや社内規程を満たすための選択肢だ。Hobby Deployは単一サーバーなので、長期運用ではClickHouseのBACKUPとPostgresのpg_dumpでの日次バックアップを前提にする。
コストを抑えるなら、まずイベント種別ごとの量をHogQLで見る。Infracost活用ガイド:Terraformのクラウドコストをデプロイ前に可視化するOSSツール完全解説 と同じく、使う前に見える化する発想だ。
-- イベント種別ごとの月間カウント(コスト把握)
SELECT event, count() AS event_count, uniq(distinct_id) AS unique_users
FROM events
WHERE timestamp >= now() - INTERVAL 30 DAY
GROUP BY event
ORDER BY event_count DESC
LIMIT 50
autocaptureが想定外に大量のクリックを送っていたら、対象をボタン・リンクだけに絞るかautocapture: falseにする。「無設定で本番投入したらイベントが爆発した」は典型的な失敗だ。
ee/ は「本番利用にサブスクリプション契約が必要」
2026年8月1日に LICENSE と ee/LICENSE を確認した。ee/ 以外は MIT Expat、ee/ 配下は PostHog Enterprise License で、「PostHog Subscription Terms of Service に同意し、それを遵守している場合に限り、本番環境で利用できる」と書かれている。
| 対象 | ライセンス | セルフホスト本番利用 |
|---|---|---|
ee/ 以外 |
MIT Expat | 制約なし |
ee/ 配下 |
PostHog Enterprise License | サブスクリプション規約への同意と遵守が前提 |
| 同梱される第三者コンポーネント | 各コンポーネント元来のライセンス | それぞれの条件に従う |
「セルフホストならソフトウェア費用ゼロ」は ee/ の機能を使わない場合に限る。稟議の前に、必要な機能が ee/ 側かどうかを切り分けておきたい。完全FOSS版は posthog-foss リポジトリにある。
セキュリティとプライバシー設計:PII漏洩を防ぐ初期設定
公式は「PostHogはPIIを保存しないことが前提のツール」と明言しており、メールやカード番号はそもそも送らない設計が推奨される。セッションリプレイは裏を返せばユーザーの画面をそのまま記録する機能なので、マスキングを後回しにしない。
導入時の必須セキュリティチェック
- ・
maskAllInputs: trueでフォーム入力値をマスク - ・指定クラス(例
.ph-mask)でPIIを含むDOM要素をマスク - ・
/account/billingなど機微画面ではセッション録画を無効化 - ・
property_denylistでemail・phone等の送信をブロック - ・
opt_out_capturing()を「同意拒否」UIから呼べるようにする - ・セルフホスト時は
SECRET_KEYを強固なランダム値にし、Postgres/ClickHouseの認証を有効化
外部のETLから流し込む構成では、ETL段階で個人情報フィールドをハッシュ化・除外する。
PostHogのエコシステムと開発の重心
WorkflowsでイベントからWebhook・メール・Slack通知へ繋げられ、「エラーに3回遭遇したらSlackに通知」といった連携を外部のワークフローSaaSなしで組める。VideoLingo:動画の字幕生成と多言語翻訳・吹き替えを自動化するオープンソースツール完全ガイド のようなコンテンツ自動化と組み合わせれば、量産した動画の視聴行動を計測して反応の良いパターンを拾うループも作れる。
| カテゴリ | 対応 |
|---|---|
| Frontend | JavaScript, Next.js, React, Vue |
| Mobile | React Native, Android, iOS, Flutter |
| Backend | Python, Node, PHP, Ruby, Go, .NET/C#, Django |
| その他 | Angular, WordPress, Webflow など |
| データ連携 | Stripe, HubSpot, BigQuery, Snowflake, S3, Redshift ほか25以上 |
サーバーサイドからも送れば、広告ブロッカーで失われがちなクライアントイベントを補える。
開発の重心も見ておく。GitHub Releasesを直近200件さかのぼると、ほとんどが agent-skills-v* タグで、agent-skills-v0.498.0(2026-07-17)から v0.690.0(2026-07-31)まで2週間で約190リリース、各リリースに skills.zip が付く。実体は .agents/skills/ 配下の70個のスキルディレクトリ(2026年8月1日時点、SKILL.md はリポジトリ全体で183ファイル)で、clickhouse-migrations・debugging-ci-failures・implementing-mcp-tools・security-audit・gating-production-deploys といった運用手順が並ぶ。ルートには .claude / .codex / .cursor / .zed / agent-os もある。PostHogは自社の運用手順をAIエージェント向けスキルとしてバージョン付きで出しており、MIT部分のこれらはClickHouse運用やCI設計の参考資料としても読める。
関連記事: AI自動化ツール|ノーコードからコードまで2026年版の比較と選び方
参照ソース
- PostHog/posthog - GitHub
- PostHog 公式ドキュメント
- PostHog Hobby Deploy(セルフホストガイド)
- PostHog Cloudflare Workers Reverse Proxy 実装例
- PostHog Pricing
- PostHog JavaScript SDK Reference
- PostHog HogQL(SQLエディタ)ドキュメント
- What is PostHog? (Official Demo & Tutorial) - YouTube
- posthog-foss - 完全FOSSバージョンのリポジトリ
- rybbit-io/rybbit - GitHub(軽量プライバシーファーストの比較対象)





