---
title: "アプリのアナリティクス | Tajo"
description: "Stripe App のインストール数、閲覧数、コンバージョン率、カスタム指標を計測します"
url: https://tajo.io/jp/docs/stripe-apps/analytics/
markdown: https://tajo.io/jp/docs/stripe-apps/analytics.md
lang: ja-JP
author: "Set Noa"
author_url: https://tajo.io/jp/set-noa/
robots: noindex
---

先行利用を申し込む

お名前と会社のメールアドレスを入力してください。Tajoへのアクセス申請を確認するためのリンクをメールでお送りします。

# アプリのアナリティクス

[Set Noa](https://tajo.io/jp/set-noa/)

Stripe は、マーケットプレイスに公開したアプリ向けの分析機能を標準で提供しており、インストール数、リスティングの成果、ユーザーのエンゲージメントを把握できます。さらに、Webhook と Stripe API を使って独自の分析基盤を構築することも可能です。

Caution

**ステータス: 予定、未構築です。** Tajo には Stripe App がないため、このセクションの内容は現時点で何もインストールできません。このページに登場するアプリ識別子、URL、認証情報はすべて説明用のプレースホルダーであり、実際に動作するエンドポイントではありません。

## 利用できるレポート

Stripe ダッシュボードでは、公開中のアプリについて次の指標を確認できます。

### インストール指標

| 指標 | 説明 |
| --- | --- |
| **インストール数** | 選択した期間中に新規インストールされた合計数 |
| **アンインストール数** | 選択した期間中にアンインストールされた合計数 |
| **累計ネットインストール数** | インストール数からアンインストール数を差し引いた累計 |

### リスティングの成果

| 指標 | 説明 |
| --- | --- |
| **リスティング閲覧数** | マーケットプレイスのリスティングページの合計閲覧数 |
| **ユニーク閲覧数** | リスティングを閲覧したユニークユーザー数 |
| **前月比コンバージョン率** | リスティング閲覧者のうちアプリをインストールした割合の前月比 |

### 成長指標

| 指標 | 説明 |
| --- | --- |
| **前月比成長率** | ネットインストール数の前月比の伸び |
| **解約率** | インストール済みユーザーのうち月あたりにアンインストールした割合 |

## データの反映タイミング

Caution

分析データには **48 時間の遅延**があります。ダッシュボードに表示されるのは、およそ 2 日前までのアクティビティです。レポートの集計期間はこれを踏まえて設定してください。

- データは 48 時間の処理遅延を伴って毎日更新されます
- 履歴データはアプリを最初に公開した日から利用できます
- 指標は UTC のタイムゾーンで算出されます
- 外部で分析する場合は、Stripe ダッシュボードから CSV としてエクスポートできます

## API から分析データを取得する

Stripe Reporting API を使えば、アプリの分析データをプログラムから取得できます。

### インストールデータ

```bash
# Fetch app install report
curl https://api.stripe.com/v1/reporting/report_runs \
  -u sk_live_xxxxx: \
  -d "report_type=app.installs.daily" \
  -d "parameters[interval_start]=1709251200" \
  -d "parameters[interval_end]=1711929600" \
  -d "parameters[app_id]=com.tajo.brevo-integration"
```

### リスティング閲覧数

```bash
# Fetch listing views report
curl https://api.stripe.com/v1/reporting/report_runs \
  -u sk_live_xxxxx: \
  -d "report_type=app.listing_views.daily" \
  -d "parameters[interval_start]=1709251200" \
  -d "parameters[interval_end]=1711929600" \
  -d "parameters[app_id]=com.tajo.brevo-integration"
```

### プログラムからのアクセス (Node.js)

```javascript
const stripe = require('stripe')('sk_live_xxxxx');

// Create a report run for app installs
const reportRun = await stripe.reporting.reportRuns.create({
  report_type: 'app.installs.daily',
  parameters: {
    interval_start: Math.floor(new Date('2025-03-01').getTime() / 1000),
    interval_end: Math.floor(new Date('2025-03-31').getTime() / 1000),
    app_id: 'com.tajo.brevo-integration',
  },
});

// Poll for report completion
const checkReport = async (reportId) => {
  const report = await stripe.reporting.reportRuns.retrieve(reportId);

  if (report.status === 'succeeded') {
    // Download the report file
    const file = await stripe.files.retrieve(report.result.id);
    console.log('Report URL:', file.url);
    return file;
  }

  if (report.status === 'failed') {
    throw new Error('Report generation failed');
  }

  // Report still processing
  return null;
};
```

## ユーザータブ

アプリの分析画面にあるユーザータブでは、アカウント単位のデータを確認できます。

| 列 | 説明 |
| --- | --- |
| **アカウント ID** | アプリをインストールした Stripe アカウント |
| **インストール日** | アプリがインストールされた日時 |
| **ステータス** | 有効またはアンインストール済み |
| **アンインストール日** | アプリがアンインストールされた日時 (該当する場合) |

このデータは次のように活用できます。

- アカウントごとの有効化状況を追跡する
- インストール済みでオンボーディングが完了していないアカウントにフォローアップする
- アンインストールしたアカウントを特定し、解約の理由を把握する
- インストールデータを自社プラットフォームの分析データと突き合わせる

## Webhook によるカスタム分析

リアルタイムの分析やより深い洞察が必要な場合は、Webhook を設定してアプリのイベントを計測します。

### Webhook イベント

カスタム分析を構築するには、次のイベントを受信します。

| イベント | 説明 |
| --- | --- |
| `account.application.authorized` | ユーザーがアプリをインストールした |
| `account.application.deauthorized` | ユーザーがアプリをアンインストールした |

### Webhook ハンドラー

```javascript
const express = require('express');
const stripe = require('stripe')('sk_live_xxxxx');

const app = express();

app.post('/webhooks/stripe-app', express.raw({ type: 'application/json' }), async (req, res) => {
  const sig = req.headers['stripe-signature'];
  const webhookSecret = process.env.STRIPE_APP_WEBHOOK_SECRET;

  let event;

  try {
    event = stripe.webhooks.constructEvent(req.body, sig, webhookSecret);
  } catch (err) {
    console.error('Webhook signature verification failed:', err.message);
    return res.status(400).send('Webhook signature verification failed');
  }

  switch (event.type) {
    case 'account.application.authorized': {
      const account = event.data.object;
      console.log('App installed by:', account.id);

      // Track in your analytics system
      await trackEvent('app_installed', {
        account_id: account.id,
        timestamp: new Date(event.created * 1000),
      });

      // Trigger onboarding email
      await sendOnboardingEmail(account.id);
      break;
    }

    case 'account.application.deauthorized': {
      const account = event.data.object;
      console.log('App uninstalled by:', account.id);

      // Track churn
      await trackEvent('app_uninstalled', {
        account_id: account.id,
        timestamp: new Date(event.created * 1000),
      });

      // Clean up account data
      await cleanupAccountData(account.id);
      break;
    }

    default:
      console.log('Unhandled event type:', event.type);
  }

  res.json({ received: true });
});
```

### Connect List API

Connect プラットフォームでは、Connect List API を使ってアプリがインストールされているアカウントの情報を取得できます。

```javascript
const stripe = require('stripe')('sk_live_xxxxx');

// List all connected accounts with your app installed
const getInstalledAccounts = async () => {
  const accounts = [];
  let hasMore = true;
  let startingAfter = null;

  while (hasMore) {
    const params = { limit: 100 };
    if (startingAfter) {
      params.starting_after = startingAfter;
    }

    const response = await stripe.accounts.list(params);

    for (const account of response.data) {
      // Check if your app is installed on this account
      if (account.settings?.apps?.includes('com.tajo.brevo-integration')) {
        accounts.push({
          id: account.id,
          email: account.email,
          created: account.created,
        });
      }
    }

    hasMore = response.has_more;
    if (response.data.length > 0) {
      startingAfter = response.data[response.data.length - 1].id;
    }
  }

  return accounts;
};
```

## カスタム分析ダッシュボードを構築する

Stripe の分析データと自社のデータを組み合わせると、全体像を一望できます。

```javascript
// Aggregate analytics for reporting
const getAppAnalytics = async (startDate, endDate) => {
  const [stripeInstalls, brevoSyncStats, activationData] = await Promise.all([
    // Stripe install data
    getStripeInstallReport(startDate, endDate),
    // Brevo sync metrics from Tajo
    getBrevoSyncMetrics(startDate, endDate),
    // Activation funnel from your database
    getActivationFunnel(startDate, endDate),
  ]);

  return {
    // Acquisition
    totalInstalls: stripeInstalls.installs,
    totalUninstalls: stripeInstalls.uninstalls,
    netInstalls: stripeInstalls.installs - stripeInstalls.uninstalls,
    listingConversionRate: stripeInstalls.conversionRate,

    // Activation
    onboardingCompleted: activationData.completedOnboarding,
    brevoConnected: activationData.connectedBrevo,
    firstSyncCompleted: activationData.firstSyncCompleted,
    activationRate: activationData.completedOnboarding / stripeInstalls.installs,

    // Engagement
    totalCustomersSynced: brevoSyncStats.totalCustomers,
    totalEventsSynced: brevoSyncStats.totalEvents,
    averageSyncFrequency: brevoSyncStats.avgSyncPerDay,

    // Retention
    churnRate: stripeInstalls.uninstalls / stripeInstalls.totalActive,
    monthlyGrowthRate: stripeInstalls.momGrowth,
  };
};
```

## 重点的に追うべき指標

Tajo の Brevo 連携では、次の指標に注目してください。

| 指標 | 目標値 | 重要な理由 |
| --- | --- | --- |
| **インストールから有効化までの到達率** | 70% 超 | インストールしたユーザーのうち Brevo の設定を完了した割合 |
| **初回同期までの時間** | 5 分未満 | インストール後どれだけ早く価値を実感できるか |
| **30 日後の継続率** | 80% 超 | 30 日後も利用を継続しているユーザーの割合 |
| **月次解約率** | 5% 未満 | 価値ある連携を提供し、アンインストールを抑えます |
| **リスティングのコンバージョン率** | 15% 超 | リスティング閲覧者のうちインストールした割合 |
| **アカウントあたりの同期顧客数** | 100 件超 | 連携がどれだけ深く使われているかを示します |

Tip

指標が大きく変化したときに自動で通知が届くよう設定しておきましょう。アンインストールの急増や有効化率の低下は、早急な対応が必要な不具合や UX の問題を示している可能性があります。
