App-analytics
Stripe leverer indbygget analytics til publicerede marketplace-apps, så du kan følge installationer, hvordan din annoncering klarer sig, og hvor meget brugerne engagerer sig. Du kan også bygge din egen analytics oven på webhooks og Stripe API.
Tilgængelige rapporter
Stripe Dashboard giver dig følgende analytics for din publicerede app:
Installationsmetrikker
| Metrik | Beskrivelse |
|---|---|
| Installs | Samlet antal nye app-installationer i den valgte periode |
| Uninstalls | Samlet antal afinstallationer i den valgte periode |
| Cumulative Net Installs | Løbende sum af installationer minus afinstallationer over tid |
Hvordan din annoncering klarer sig
| Metrik | Beskrivelse |
|---|---|
| Listing Views | Samlet antal sidevisninger af din apps annoncering på marketplace |
| Unique Views | Unikke besøgende, der har set din annoncering på marketplace |
| MoM Conversion Rate | Andelen af besøgende på annonceringen, der installerer appen, målt måned for måned |
Vækstmetrikker
| Metrik | Beskrivelse |
|---|---|
| MoM Growth Rate | Vækst i nettoinstallationer målt måned for måned |
| Churn Rate | Andel af brugere med appen installeret, der afinstallerer den per måned |
Hvor friske er dataene
Caution
Analytics-data er 48 timer forsinkede. De data, du ser i dashboardet, afspejler aktivitet fra omkring to dage siden. Planlæg dine rapporteringsperioder efter det.
- Data opdateres dagligt med 48 timers behandlingsforsinkelse
- Historiske data findes fra den dato, din app første gang blev publiceret
- Metrikker beregnes i tidszonen UTC
- Eksportér data som CSV fra Stripe Dashboard til analyse uden for Stripe
Adgang til analytics via API
Du kan tilgå din apps analytics programmatisk via Stripe Reporting API:
Installationsdata
# 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"Visninger af annonceringen
# 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"Programmatisk adgang (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;};Fanen Users
Fanen Users i din apps analytics viser data på den enkelte konto:
| Kolonne | Beskrivelse |
|---|---|
| Account ID | Den Stripe-konto, der installerede din app |
| Install Date | Hvornår appen blev installeret |
| Status | Aktiv eller afinstalleret |
| Uninstall Date | Hvornår appen blev afinstalleret (hvis det er sket) |
Brug disse data til at:
- Følge aktiveringsstatus for den enkelte konto
- Følge op på konti, der har installeret appen, men ikke er kommet igennem onboarding
- Finde konti, der har afinstalleret appen, og forstå årsagerne til churn
- Sammenholde installationsdata med din egen platforms analytics
Din egen analytics med webhooks
Sæt webhooks op til at følge app-hændelser, hvis du vil have analytics i realtid og dybere indsigt:
Webhook-hændelser
Lyt efter disse hændelser, når du bygger din egen analytics:
| Hændelse | Beskrivelse |
|---|---|
account.application.authorized | Brugeren installerede din app |
account.application.deauthorized | Brugeren afinstallerede din app |
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
På Connect-platforme kan du bruge Connect List API til at hente oplysninger om de konti, der har din app installeret:
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;};Byg dit eget analytics-dashboard
Kombinér Stripes analytics med dine egne data, så du får det fulde billede:
// 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, };};Nøgletal, du bør følge
For Tajo Brevo-integrationen bør du holde øje med disse metrikker:
| Metrik | Mål | Hvorfor det betyder noget |
|---|---|---|
| Andel af installationer, der bliver aktiveret | > 70% | Andelen af dem, der installerer appen, og gennemfører opsætningen af Brevo |
| Tid til første synkronisering | < 5 minutter | Hvor hurtigt brugerne får værdi efter installationen |
| Fastholdelse efter 30 dage | > 80% | Andelen af brugere, der stadig er aktive efter 30 dage |
| Månedlig churn rate | < 5% | Hold afinstallationerne nede med en integration, der giver værdi |
| Konverteringsrate på annonceringen | > 15% | Andelen af besøgende på annonceringen, der installerer appen |
| Synkroniserede kunder per konto | > 100 | Viser, hvor dybt integrationen bliver brugt |
Tip
Sæt automatiske alarmer op på væsentlige udsving i tallene. Et pludseligt spring i afinstallationer eller et fald i aktiveringsraten kan være tegn på en fejl eller et UX-problem, der skal håndteres med det samme.