Analiza aplicației
Stripe oferă analize integrate pentru aplicațiile publicate în marketplace, astfel încât vezi clar instalările, performanța listării și interacțiunea utilizatorilor. Poți construi și analize personalizate folosind webhook-uri și API-ul Stripe.
Rapoarte disponibile
Panoul de administrare Stripe îți oferă următoarele analize pentru aplicația publicată:
Indicatori de instalare
| Indicator | Descriere |
|---|---|
| Instalări | Numărul total de instalări noi ale aplicației în perioada selectată |
| Dezinstalări | Numărul total de dezinstalări ale aplicației în perioada selectată |
| Instalări nete cumulate | Totalul curent al instalărilor minus dezinstalările, de-a lungul timpului |
Performanța listării
| Indicator | Descriere |
|---|---|
| Vizualizări ale listării | Numărul total de afișări ale paginii aplicației tale din marketplace |
| Vizualizări unice | Vizitatori unici care ți-au văzut listarea din marketplace |
| Rată de conversie lună de lună | Procentul, de la o lună la alta, al vizitatorilor listării care instalează aplicația |
Indicatori de creștere
| Indicator | Descriere |
|---|---|
| Rată de creștere lună de lună | Creșterea instalărilor nete de la o lună la alta |
| Rată de abandon | Procentul utilizatorilor instalați care dezinstalează aplicația în fiecare lună |
Prospețimea datelor
Caution
Datele de analiză au o întârziere de 48 de ore. Datele pe care le vezi în panoul de administrare reflectă activitatea de acum aproximativ două zile. Planifică-ți intervalele de raportare în consecință.
- Datele se actualizează zilnic, cu o întârziere de procesare de 48 de ore
- Datele istorice sunt disponibile începând cu data primei publicări a aplicației
- Indicatorii se calculează în fusul orar UTC
- Exportă datele în format CSV din panoul de administrare Stripe pentru analize externe
Accesarea analizelor prin API
Poți accesa programatic analizele aplicației folosind API-ul de raportare Stripe:
Datele despre instalări
# 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"Vizualizările listării
# 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"Acces programatic (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;};Fila Users
Fila Users din analizele aplicației tale arată datele la nivel de cont individual:
| Coloană | Descriere |
|---|---|
| Account ID | Contul Stripe care ți-a instalat aplicația |
| Install Date | Momentul în care a fost instalată aplicația |
| Status | Activ sau dezinstalat |
| Uninstall Date | Momentul în care a fost dezinstalată aplicația (dacă este cazul) |
Folosește aceste date pentru:
- A urmări starea de activare a fiecărui cont
- A reveni la conturile care au instalat aplicația, dar nu au terminat inițierea
- A identifica conturile care au dezinstalat aplicația și a înțelege motivele abandonului
- A corela datele despre instalări cu analizele propriei tale platforme
Analize personalizate cu webhook-uri
Pentru analize în timp real și informații mai profunde, configurează webhook-uri care urmăresc evenimentele aplicației:
Evenimente de webhook
Ascultă aceste evenimente pentru a construi analize personalizate:
| Eveniment | Descriere |
|---|---|
account.application.authorized | Utilizatorul ți-a instalat aplicația |
account.application.deauthorized | Utilizatorul ți-a dezinstalat aplicația |
Handler 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 });});Connect List API
Pentru platformele Connect, folosește Connect List API ca să obții informații despre conturile care au aplicația ta instalată:
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;};Cum construiești un panou de analiză personalizat
Combină analizele Stripe cu propriile tale date pentru o imagine completă:
// 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, };};Indicatorii cheie de urmărit
Pentru integrarea Tajo cu Brevo, concentrează-te pe acești indicatori:
| Indicator | Țintă | De ce contează |
|---|---|---|
| Rată de la instalare la activare | > 70% | Procentul celor care instalează și finalizează configurarea Brevo |
| Timp până la prima sincronizare | < 5 minute | Cât de repede văd utilizatorii o valoare după instalare |
| Retenție la 30 de zile | > 80% | Procentul utilizatorilor încă activi după 30 de zile |
| Rată lunară de abandon | < 5% | Menține dezinstalările la un nivel scăzut cu o integrare valoroasă |
| Rată de conversie a listării | > 15% | Procentul vizitatorilor listării care instalează aplicația |
| Clienți sincronizați per cont | > 100 | Arată cât de profund este folosită integrarea |
Tip
Configurează alerte automate pentru schimbările semnificative ale indicatorilor. O creștere bruscă a dezinstalărilor sau o scădere a ratei de activare poate semnala un bug sau o problemă de UX care are nevoie de atenție imediată.