概要
EBRトークンホルダー専用ダッシュボードのデータソースを、Google Analytics 4(GA4)から直接的なビジネスKPIに全面置き換えしました。
なぜGA4をやめたのか
| 課題 | 詳細 |
|---|---|
| 間接的な指標 | PV/セッションは「何人が見たか」であり「ビジネスがどう動いているか」ではない |
| セットアップの複雑さ | サービスアカウントJSON + JWT署名 + OAuth2トークン交換 + 9プロパティの設定 |
| 遅延 | GA4データは24-48時間遅れ |
| コスト | API quota管理が必要 |
新しいデータソース
4つのAPIからPromise.allSettledで並行取得。1つが落ちても他は表示されます。
| ソース | データ | 認証 |
|---|---|---|
| Stripe API | MRR、有料会員数、プラン別内訳 | STRIPE_SECRET_KEY |
| Chatweb.ai Admin | 総ユーザー数、本日アクティブ、チャネル別セッション | CHATWEB_ADMIN_KEY |
| Solscan | EBRトークンホルダー数 | 不要(公開API) |
| GitHub | スター数、リポジトリ数 | 不要(公開API) |
新しいKPIカード
ダッシュボードのメイン表示は4つのKPIカードに変更:
┌──────────────┬──────────────┬──────────────┬──────────────┐
│ Total Users │ Paid Subs │ MRR (USD) │ MRR (JPY) │
│ 210 │ 12 │ $342.00 │ ¥45,600 │
└──────────────┴──────────────┴──────────────┴──────────────┘
通貨の扱い
USD/JPYは変換せず別々に表示します。為替変動リスクを避け、直感的でわかりやすい表示を優先しました。
既知の商品マッピング
| Price ID | 商品名 | 価格 |
|---|---|---|
| price_1Sy5nc… | Chatweb.ai Starter | $9/mo |
| price_1Sy5nd… | Chatweb.ai Pro | $29/mo |
| price_1T1T9q… | StayFlow Starter | \2,900/mo |
| price_1T1T9r… | StayFlow Pro | \7,900/mo |
JSONエクスポート
$ export --json ボタンを追加。ダッシュボードの全データをJSONファイルとしてダウンロードできます。外部ツールでの分析や記録に活用してください。
変更ファイル
| ファイル | 変更 |
|---|---|
route.ts | GA4コード全削除 → 4フェッチャーに置換 |
DashboardClient.tsx | KPI4枚 + Revenue内訳 + Chatweb + Community + Export |
page.tsx | metadata更新 |
.env.example | STRIPE_SECRET_KEY, CHATWEB_ADMIN_KEY追記 |
まとめ
GA4の9プロパティ設定 + サービスアカウントJWT → Stripe fetch 1回 + 公開API 2回に簡略化。ビジネスの健全性が一目でわかるダッシュボードになりました。
すべてのコードはGitHubでオープンソースとして公開しています。