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.
Caution
Status: planlagt. Der findes endnu ingen Tajo-app i Stripe App Marketplace. App-ID’er, URL’er og loginoplysninger på denne side er illustrative pladsholdere, ikke aktive endpoints.
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.