RORK LABEN
TOOLING — Rorkの開発者向けリポジトリが動き続けています。rork-xcodeが7月16日、rork-deviceが7月15日、rork-plistが7月13日に更新されましたOPUS46 — RorkでClaude Opus 4.6が稼働しています。Rork MaxはClaude Codeを土台にアプリを組み立てる設計ですSIM — ブラウザ上で動くクラウドのiOSシミュレータを備え、実機へのインストールは1クリック、App Storeへの提出は2クリックと案内されていますMAX — Rork MaxはReact Nativeではなく純粋なSwiftを出力します。iPhone・iPad・Apple Watch・Apple TV・Vision Pro、そしてiMessageまでが射程ですNATIVE — HealthKit、ARKitとLiDAR、NFC、Dynamic Island、Live Activities、Metalによる3D、Core MLのオンデバイス推論まで扱えますSEED — RorkはLeft Lane Capitalが主導する1,500万ドルのシードラウンドを実施し、Peak XVとa16z Speedrunが参加しましたTOOLING — Rorkの開発者向けリポジトリが動き続けています。rork-xcodeが7月16日、rork-deviceが7月15日、rork-plistが7月13日に更新されましたOPUS46 — RorkでClaude Opus 4.6が稼働しています。Rork MaxはClaude Codeを土台にアプリを組み立てる設計ですSIM — ブラウザ上で動くクラウドのiOSシミュレータを備え、実機へのインストールは1クリック、App Storeへの提出は2クリックと案内されていますMAX — Rork MaxはReact Nativeではなく純粋なSwiftを出力します。iPhone・iPad・Apple Watch・Apple TV・Vision Pro、そしてiMessageまでが射程ですNATIVE — HealthKit、ARKitとLiDAR、NFC、Dynamic Island、Live Activities、Metalによる3D、Core MLのオンデバイス推論まで扱えますSEED — RorkはLeft Lane Capitalが主導する1,500万ドルのシードラウンドを実施し、Peak XVとa16z Speedrunが参加しました
記事一覧/開発ツール
開発ツール/2026-04-06中級

Rork × Mixpanel 完全導入ガイド:ユーザー行動分析でリテンションとLTVを最大化する

RorkアプリにMixpanelを導入してユーザー行動を可視化する完全ガイド。イベントトラッキング・ファネル分析・コホート分析の実装方法をコード例付きで解説。リテンション率とLTVを高める分析基盤を構築しましょう。

Mixpanelユーザー行動分析2イベントトラッキング2リテンション17アプリ分析LTV6

取り組みの背景:Mixpanelがアプリ成長の鍵を握る理由

アプリを公開した後、「ユーザーがどこで離脱しているのか」「どの機能が本当に使われているのか」を把握することは、改善サイクルを回すうえで不可欠です。ダウンロード数だけを見ていても、なぜユーザーが定着しないのかは分かりません。そこで役立つのが、Mixpanelというプロダクトアナリティクスツールです。

Mixpanelはユーザー単位でのイベントトラッキング、ファネル分析、コホート分析を強力にサポートするツールで、世界中のスタートアップから大企業まで幅広く採用されています。無料プランでも月間2万件のイベントを計測できるため、個人開発者でも導入しやすい点が魅力です。


Mixpanelの基本と料金プラン

Mixpanelには3つのプランが用意されており、個人開発の初期フェーズであれば**Starterプラン(無料)**から始めることができます。主な特徴をまとめると以下のとおりです。

  • Starter(無料): 月間20,000件のイベント、コアレポート機能、無制限のユーザー数
  • Growth: 月間$28〜(イベント数に応じて変動)、A/Bテストやより詳細な分析機能
  • Enterprise: 大規模向け。SSO・カスタムSLAなど

Rorkアプリの初期ローンチでは無料プランで十分です。ユーザーが増えてきた段階でGrowthプランへ移行するのがおすすめです。


Step 1:Mixpanelアカウントの作成とプロジェクト設定

まず Mixpanel公式サイト からアカウントを作成し、新しいプロジェクトを作成します。

プロジェクトを作成すると、プロジェクトトークンが発行されます。このトークンはSDKの初期化に必要になるので、安全な場所に控えておいてください。

ダッシュボードの「Project Settings」→「Overview」から確認できます。


Step 2:RorkプロジェクトへのMixpanel SDK導入

パッケージのインストール

Rorkのプロジェクトでは、Expo(React Native)環境が前提となります。Mixpanelの公式Expo対応ライブラリを使用します。

# Mixpanel React Native SDK をインストール
npx expo install mixpanel-react-native

Rorkでプロジェクトを開き、プロンプトに以下のように指示することでも追加できます:

mixpanel-react-nativeパッケージを追加して、
Mixpanel Analytics を初期化するコードを実装してください。
トークンは環境変数 EXPO_PUBLIC_MIXPANEL_TOKEN から読み込んでください。

初期化コードの実装

app/_layout.tsx(またはエントリポイント)にMixpanelの初期化処理を追加します:

import { Mixpanel } from 'mixpanel-react-native';
import { useEffect } from 'react';
 
// Mixpanelインスタンスをシングルトンとして管理
const trackAutomaticEvents = true;
export const mixpanel = new Mixpanel(
  process.env.EXPO_PUBLIC_MIXPANEL_TOKEN ?? '',
  trackAutomaticEvents
);
 
export default function RootLayout() {
  useEffect(() => {
    // アプリ起動時に初期化
    mixpanel.init();
    // 開発環境ではデバッグログを有効化
    if (__DEV__) {
      mixpanel.setLoggingEnabled(true);
    }
  }, []);
 
  // ... 以下にナビゲーション等の設定
}

.env.localファイルに環境変数を追加します:

# .env.local(Gitにコミットしないこと)
EXPO_PUBLIC_MIXPANEL_TOKEN=YOUR_MIXPANEL_PROJECT_TOKEN

Step 3:イベントトラッキングの実装

Mixpanelの核心はイベントトラッキングです。ユーザーがアプリ内で行ったアクションをイベントとして記録し、後から分析できます。

基本的なイベント送信

import { mixpanel } from '../app/_layout';
 
// シンプルなイベント送信
mixpanel.track('Button Tapped', {
  screen: 'HomeScreen',
  button_name: 'Start Free Trial',
});
 
// ユーザーがサブスクリプションを開始した場合
mixpanel.track('Subscription Started', {
  plan: 'pro_monthly',
  price_usd: 2.99,
  trial_days: 7,
});
 
// 記事の閲覧イベント
mixpanel.track('Article Viewed', {
  article_id: 'rork-mixpanel-guide',
  category: 'analytics',
  reading_time_seconds: 0, // スクロール完了時に更新
});

カスタムフックで再利用可能なトラッキング

アプリ全体で一貫したトラッキングを行うために、カスタムフックを作成するのがベストプラクティスです:

// hooks/useTracking.ts
import { useCallback } from 'react';
import { mixpanel } from '../app/_layout';
 
type EventProperties = Record<string, string | number | boolean>;
 
export function useTracking() {
  const track = useCallback((eventName: string, properties?: EventProperties) => {
    try {
      mixpanel.track(eventName, properties);
    } catch (error) {
      // トラッキングエラーでアプリをクラッシュさせない
      console.warn('[Tracking] Failed to track event:', eventName, error);
    }
  }, []);
 
  const trackScreenView = useCallback((screenName: string) => {
    track('Screen Viewed', { screen_name: screenName });
  }, [track]);
 
  return { track, trackScreenView };
}

使い方はシンプルです:

// screens/PremiumScreen.tsx
import { useTracking } from '../hooks/useTracking';
 
export function PremiumScreen() {
  const { track, trackScreenView } = useTracking();
 
  useEffect(() => {
    // 画面表示時のトラッキング
    trackScreenView('PremiumScreen');
  }, [trackScreenView]);
 
  const handleUpgrade = () => {
    // ボタンタップ時のトラッキング
    track('Upgrade Button Tapped', {
      source: 'premium_screen',
      current_plan: 'free',
    });
    // ... 決済処理
  };
 
  return (
    // ... UIコンポーネント
  );
}

Step 4:ユーザー識別とユーザープロパティの設定

Mixpanelの強みの一つは、ユーザー単位での分析です。ログイン後にユーザーIDを紐付けることで、同一ユーザーの行動を横断的に追跡できます。

import { mixpanel } from '../app/_layout';
 
// ログイン成功時にユーザーを識別
function onLoginSuccess(userId: string, userProfile: UserProfile) {
  // ユーザーIDを設定(以降のイベントはこのIDに紐付く)
  mixpanel.identify(userId);
 
  // ユーザープロパティを設定
  mixpanel.getPeople().set({
    $name: userProfile.displayName,     // Mixpanel予約プロパティ($付き)
    $email: userProfile.email,
    $created: userProfile.createdAt,
    plan: userProfile.subscriptionPlan, // カスタムプロパティ
    country: userProfile.country,
    app_version: '1.2.0',
  });
 
  // ログインイベントをトラッキング
  mixpanel.track('User Logged In', {
    method: 'email', // or 'apple', 'google'
  });
}
 
// ログアウト時のリセット
function onLogout() {
  mixpanel.track('User Logged Out');
  // 匿名IDをリセット(次のセッションは別ユーザーとして扱う)
  mixpanel.reset();
}

数値の増減トラッキング(People Analytics)

サブスクリプション収益やセッション数など、累積値をトラッキングするにはincrementメソッドが便利です:

// セッションカウントを1増やす
mixpanel.getPeople().increment('session_count', 1);
 
// 課金額の累積(LTV計算に使用)
mixpanel.getPeople().increment('total_revenue_usd', 2.99);

Step 5:ファネル分析でコンバージョンを可視化する

Mixpanelのファネル分析を使うと、「ユーザーがサブスクリプション購入に至るまでのステップで、どこで離脱しているか」を一目で把握できます。

設計例:サブスクリプションファネル

ファネルを構成するイベントは以下のように定義します:

  • ステップ1: App Opened(アプリ起動)
  • ステップ2: Onboarding Completed(オンボーディング完了)
  • ステップ3: Premium Screen Viewed(プレミアム画面表示)
  • ステップ4: Upgrade Button Tapped(アップグレードボタンタップ)
  • ステップ5: Subscription Started(購入完了)

Mixpanelダッシュボードの「Funnels」機能で、上記イベントを順番に選択するだけでファネルが可視化されます。各ステップの離脱率が数値とグラフで表示されるため、改善ポイントが一目瞭然です。


Step 6:コホート分析でリテンションを改善する

コホート分析とは、同じ時期に獲得したユーザーグループ(コホート)がどの程度アプリを継続して使っているかを計測する手法です。

Mixpanelでは「Retention」レポートで、以下のような分析が可能です:

  • Day 1リテンション: アプリをインストールした翌日も起動したユーザーの割合
  • Day 7リテンション: 7日後も使い続けているユーザーの割合
  • Day 30リテンション: 30日後の継続利用率

一般的なアプリのDay 1リテンションは25〜40%、Day 7は10〜20%程度とされています。コホート分析を定期的に確認し、改善施策の効果測定に活用しましょう。

ユーザー行動データを活用したグロース戦略の全体設計については、Rork アプリのグロース戦略 — ユーザー獲得からリテンションまでの実装パターン完全ガイド で詳しく解説しています。


Step 7:よくあるエラーと対処法

イベントがMixpanelダッシュボードに表示されない

原因として最も多いのは、プロジェクトトークンの設定ミスです。環境変数EXPO_PUBLIC_MIXPANEL_TOKENが正しく設定されているか確認してください。また、Mixpanelはイベントをバッチ処理で送信するため、リアルタイムビュー(「Live View」)で確認するとすぐに届いているかどうかわかります。

ExpoGo でSDKが動作しない

mixpanel-react-nativeはネイティブモジュールを使用するため、Expo Goでは動作しない場合があります。expo-dev-clientを使った開発ビルドで動作確認してください:

# 開発ビルドの作成
npx expo run:ios
# または
npx expo run:android

ユーザーIDがundefinedになる

mixpanel.identify()を呼ぶタイミングがログイン前になっている可能性があります。認証状態が確定してからidentifyを呼ぶよう、実装順序を確認してください。


まとめ

ここではRorkアプリへのMixpanel導入を以下のステップで解説しました。

  • Mixpanelのプランと無料枠の活用
  • SDK導入と初期化コードの実装
  • イベントトラッキングとカスタムフックの設計
  • ユーザー識別とPeople Analyticsの設定
  • ファネル分析・コホート分析による改善サイクル

分析基盤を整えることで、「感覚」ではなく「データ」に基づいた改善が可能になります。まずは無料プランでイベント設計から始め、ユーザー行動の可視化を体験してみてください。PostHogとの比較や機能フラグの活用については、Rork × PostHog でユーザー行動を可視化する:プロダクトアナリティクス完全導入ガイド もあわせてご覧ください。

シェア

お読みいただきありがとうございます

Rork Lab は広告なしで運営しており、サーバー費用などの運営コストはメンバーシップのご支援で賄っています。実装コード・ベンチマーク・本番設計パターンなど、実務でお役立ていただける記事を毎日更新しています。もし読んでよかったと感じていただけましたら、ぜひご覧ください。

  • コピー&ペーストで使える実装コード付き
  • 毎日新しい上級ガイドを追加
  • ¥580/月 または ¥1,480 の永久アクセス
メンバーシップを見る →

もしこの記事がお役に立ちましたら、チップ(¥150)で応援いただけると大変励みになります。広告なしでの運営を続けるため、皆さまのご支援が大きな力になっています。

関連記事

開発ツール2026-04-04
Rork × PostHog でユーザー行動を可視化する — 離脱地点が見えるまでの導入手順
RorkアプリにPostHog(プロダクトアナリティクス)を導入してユーザー行動を可視化する方法を解説。イベントトラッキング・ファネル分析・フィーチャーフラグの実装手順を初心者にもわかりやすくご紹介します。
開発ツール2026-07-17
許可を聞かずに通知を届ける — Rork アプリの provisional 認可と、Expo の定番コードが握りつぶすもの
iOS には許可ダイアログを出さずに通知を配り始める provisional 認可があります。ところが Expo 公式が載せている定番の登録コードをそのまま使うと、provisional で通った端末が「拒否」として扱われ、避けたかったはずのダイアログが出ます。granted が false になる仕組みから、5値で許可状態を扱うフック、静かな配信を前提にした通知設計、昇格を求める判断、計測の分離までを実装込みで整理しました。
開発ツール2026-07-07
アプリ内レビュー依頼を出しているのに評価が増えないとき — 表示率とタイミングを計測して立て直す運用メモ
Rork アプリで expo-store-review を組み込んだのに星の数が伸びない。OS がダイアログを黙って抑制するため、呼び出しても表示されているとは限りません。表示機会を計測してタイミングを設計し直す運用メモです。
📚RECOMMENDED BOOKS
大規模言語モデル入門
山田育矢
LLM開発
生成AIプロンプトエンジニアリング入門
我妻幸長
プロンプト
Claude CodeによるAI駆動開発入門
平川知秀
AI駆動開発
※ アフィリエイトリンクを含みます
もっと見る →