Analytics de l’application
Stripe fournit des analytics intégrés pour les applications publiées sur la marketplace, ce qui vous donne de la visibilité sur les installations, la performance du listing et l’engagement des utilisateurs. Vous pouvez également construire vos propres analytics à l’aide des webhooks et de l’API Stripe.
Rapports disponibles
Le Dashboard Stripe fournit les analytics suivants pour votre application publiée :
Métriques d’installation
| Métrique | Description |
|---|---|
| Installs | Nombre total de nouvelles installations de l’application sur la période sélectionnée |
| Uninstalls | Nombre total de désinstallations de l’application sur la période sélectionnée |
| Cumulative Net Installs | Total cumulé des installations moins les désinstallations dans le temps |
Performance du listing
| Métrique | Description |
|---|---|
| Listing Views | Nombre total de pages vues du listing de votre application sur la marketplace |
| Unique Views | Visiteurs uniques ayant consulté votre listing sur la marketplace |
| MoM Conversion Rate | Pourcentage, d’un mois sur l’autre, des visiteurs du listing qui installent l’application |
Métriques de croissance
| Métrique | Description |
|---|---|
| MoM Growth Rate | Croissance, d’un mois sur l’autre, des installations nettes |
| Churn Rate | Pourcentage d’utilisateurs installés qui désinstallent chaque mois |
Fraîcheur des données
Caution
Les données analytics accusent un délai de 48 heures. Les données que vous voyez dans le dashboard reflètent l’activité d’il y a environ deux jours. Planifiez vos fenêtres de reporting en conséquence.
- Les données sont mises à jour quotidiennement, avec un délai de traitement de 48 heures
- L’historique est disponible à partir de la date de première publication de votre application
- Les métriques sont calculées en fuseau horaire UTC
- Exportez les données au format CSV depuis le Dashboard Stripe pour les analyser à l’extérieur
Accéder aux analytics via l’API
Vous pouvez accéder aux analytics de l’application par programmation, à l’aide de la Reporting API de Stripe :
Données d’installation
# 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"Vues du listing
# 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"Accès par programmation (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;};Onglet Users
L’onglet Users des analytics de votre application affiche les données au niveau de chaque compte :
| Colonne | Description |
|---|---|
| Account ID | Le compte Stripe qui a installé votre application |
| Install Date | Date d’installation de l’application |
| Status | Actif ou désinstallé |
| Uninstall Date | Date de désinstallation de l’application, le cas échéant |
Utilisez ces données pour :
- Suivre le statut d’activation de chaque compte
- Relancer les comptes qui ont installé l’application sans terminer l’onboarding
- Repérer les comptes qui ont désinstallé et comprendre les causes du churn
- Croiser les données d’installation avec les analytics de votre propre plateforme
Analytics personnalisés avec les webhooks
Pour des analytics en temps réel et une analyse plus fine, mettez en place des webhooks afin de suivre les événements de l’application :
Événements webhook
Écoutez ces événements pour construire vos propres analytics :
| Événement | Description |
|---|---|
account.application.authorized | Un utilisateur a installé votre application |
account.application.deauthorized | Un utilisateur a désinstallé votre application |
Gestionnaire de 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 });});API Connect List
Pour les plateformes Connect, utilisez la Connect List API afin d’obtenir des informations sur les comptes où votre application est installée :
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;};Créer un tableau de bord analytics personnalisé
Combinez les analytics de Stripe avec vos propres données pour obtenir une vue complète :
// 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, };};Métriques clés à suivre
Pour l’intégration Tajo Brevo, concentrez-vous sur ces métriques :
| Métrique | Objectif | Pourquoi c’est important |
|---|---|---|
| Taux installation vers activation | > 70% | Pourcentage d’installateurs qui terminent la configuration Brevo |
| Délai avant la première synchronisation | < 5 minutes | Rapidité avec laquelle les utilisateurs perçoivent la valeur après l’installation |
| Rétention à 30 jours | > 80% | Pourcentage d’utilisateurs encore actifs après 30 jours |
| Taux de churn mensuel | < 5% | Maintenez les désinstallations à un niveau bas grâce à une intégration utile |
| Taux de conversion du listing | > 15% | Pourcentage de visiteurs du listing qui installent l’application |
| Clients synchronisés par compte | > 100 | Indique la profondeur d’usage de l’intégration |
Tip
Mettez en place des alertes automatiques sur les variations significatives de vos métriques. Un pic soudain de désinstallations ou une chute du taux d’activation peut signaler un bug ou un problème d’UX qui demande une attention immédiate.