App Analytics
Stripe شائع شدہ marketplace apps کے لیے built-in analytics فراہم کرتا ہے، جس سے آپ کو installs، listing کارکردگی اور صارف کی مشغولیت کے بارے میں معلومات ملتی ہیں۔ آپ webhooks اور Stripe API کا استعمال کرکے custom analytics بھی بنا سکتے ہیں۔
دستیاب رپورٹس
Stripe Dashboard آپ کی شائع شدہ app کے لیے مندرجہ ذیل analytics فراہم کرتا ہے:
Install Metrics
| میٹرک | تفصیل |
|---|---|
| Installs | منتخب مدت میں نئی app انسٹالیشنز کی کل تعداد |
| Uninstalls | منتخب مدت میں app uninstallations کی کل تعداد |
| Cumulative Net Installs | وقت کے ساتھ installs منہا uninstalls کا چلتا ہوا مجموعہ |
Listing Performance
| میٹرک | تفصیل |
|---|---|
| Listing Views | آپ کے app کے marketplace listing کے کل page views |
| Unique Views | منفرد زائرین جنہوں نے آپ کی marketplace listing دیکھی |
| MoM Conversion Rate | listing دیکھنے والوں کا مہینہ بہ مہینہ فیصد جنہوں نے app انسٹال کی |
Growth Metrics
| میٹرک | تفصیل |
|---|---|
| MoM Growth Rate | net installs میں مہینہ بہ مہینہ اضافہ |
| Churn Rate | انسٹال شدہ صارفین کا فیصد جو ماہانہ uninstall کرتے ہیں |
ڈیٹا کی تازگی
Caution
Analytics ڈیٹا میں 48 گھنٹے کی تاخیر ہے۔ آپ dashboard میں جو ڈیٹا دیکھتے ہیں وہ تقریباً دو دن پہلے کی سرگرمی کو ظاہر کرتا ہے۔ اس کے مطابق اپنی رپورٹنگ windows کی منصوبہ بندی کریں۔
- ڈیٹا روزانہ 48 گھنٹے کی پروسیسنگ تاخیر کے ساتھ اپ ڈیٹ ہوتا ہے
- تاریخی ڈیٹا آپ کی app کی پہلی اشاعت کی تاریخ سے دستیاب ہے
- Metrics UTC timezone میں حساب کی جاتی ہیں
- بیرونی تجزیہ کے لیے Stripe Dashboard سے CSV کے طور پر ڈیٹا export کریں
API کے ذریعے Analytics تک رسائی
آپ Stripe Reporting API کا استعمال کرتے ہوئے پروگرامی طور پر app analytics تک رسائی حاصل کر سکتے ہیں:
Install ڈیٹا
# Fetch app install reportcurl 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"Listing Views
# Fetch listing views reportcurl 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 installsconst 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 completionconst 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;};Users Tab
آپ کی app کے analytics میں Users tab انفرادی account-level ڈیٹا دکھاتا ہے:
| کالم | تفصیل |
|---|---|
| Account ID | وہ Stripe account جس نے آپ کی app انسٹال کی |
| Install Date | جب app انسٹال ہوئی |
| Status | فعال یا uninstalled |
| Uninstall Date | جب app uninstall ہوئی (اگر قابل اطلاق ہو) |
یہ ڈیٹا استعمال کریں تاکہ:
- انفرادی account activation status ٹریک کریں
- ان accounts کی پیروی کریں جنہوں نے انسٹال کیا لیکن onboarding مکمل نہیں کی
- وہ accounts شناخت کریں جنہوں نے uninstall کیا اور churn کی وجوہات سمجھیں
- install ڈیٹا کو اپنے platform analytics سے مربوط کریں
Webhooks کے ساتھ Custom Analytics
real-time analytics اور گہری بصیرت کے لیے، app events ٹریک کرنے کے لیے webhooks ترتیب دیں:
Webhook Events
custom analytics بنانے کے لیے ان events کو سنیں:
| Event | تفصیل |
|---|---|
account.application.authorized | صارف نے آپ کی app انسٹال کی |
account.application.deauthorized | صارف نے آپ کی app uninstall کی |
Webhook Handler
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 platforms کے لیے، اپنی app انسٹال کردہ accounts کے بارے میں معلومات حاصل کرنے کے لیے Connect List API استعمال کریں:
const stripe = require('stripe')('sk_live_xxxxx');
// List all connected accounts with your app installedconst 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;};Custom Analytics Dashboard بنائیں
جامع نظریہ کے لیے Stripe analytics کو اپنے ڈیٹا کے ساتھ ملائیں:
// Aggregate analytics for reportingconst 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, };};ٹریک کرنے کے لیے اہم Metrics
Tajo Brevo انٹیگریشن کے لیے، ان metrics پر توجہ دیں:
| میٹرک | ہدف | کیوں اہم ہے |
|---|---|---|
| Install-to-Activation Rate | > 70% | وہ installers کا فیصد جو Brevo سیٹ اپ مکمل کرتے ہیں |
| Time to First Sync | < 5 منٹ | انسٹال کرنے کے بعد صارفین کتنی جلدی قدر دیکھتے ہیں |
| 30-Day Retention | > 80% | وہ صارفین کا فیصد جو 30 دنوں کے بعد بھی فعال ہیں |
| Monthly Churn Rate | < 5% | قیمتی انٹیگریشن کے ساتھ uninstalls کم رکھیں |
| Listing Conversion Rate | > 15% | listing دیکھنے والوں کا فیصد جو انسٹال کرتے ہیں |
| Customers Synced per Account | > 100 | انٹیگریشن استعمال کی گہرائی کو ظاہر کرتا ہے |
Tip
اہم metric تبدیلیوں کے لیے خودکار alerts ترتیب دیں۔ uninstalls میں اچانک اضافہ یا activation rate میں کمی کسی bug یا UX مسئلہ کی نشاندہی کر سکتی ہے جس پر فوری توجہ کی ضرورت ہے۔