先行利用を申し込む

お名前とメールアドレスまたは電話番号をご入力ください。Tajo のアクセス方法をご案内します。

アプリのアナリティクス

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

利用できるレポート

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

インストール指標

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

リスティングの成果

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

成長指標

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

データの反映タイミング

Caution

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

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

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

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

インストールデータ

Terminal window
# 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"

リスティング閲覧数

Terminal window
# 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)

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 ハンドラー

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 を使ってアプリがインストールされているアカウントの情報を取得できます。

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 の分析データと自社のデータを組み合わせると、全体像を一望できます。

// 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 の問題を示している可能性があります。

先行利用を申し込む

お名前とメールアドレスまたは電話番号をご入力ください。Tajo のアクセス方法をご案内します。

自動判定
AIアシスタント

こんにちは!ドキュメントについて何でもお聞きください。