---
title: "Analytics do app | Tajo"
description: "Acompanhe instalações, visualizações, taxas de conversão e métricas personalizadas do seu Stripe App"
url: https://tajo.io/pt/docs/stripe-apps/analytics/
markdown: https://tajo.io/pt/docs/stripe-apps/analytics.md
lang: pt-BR
author: "Set Noa"
author_url: https://tajo.io/pt/set-noa/
robots: noindex
---

Solicite acesso antecipado

Indique o seu nome e endereço de e-mail profissional. Enviaremos um link para confirmar o seu pedido de acesso ao Tajo.

# Analytics do app

[Set Noa](https://tajo.io/pt/set-noa/)

A Stripe oferece analytics nativo para apps publicados no marketplace, o que dá visibilidade sobre instalações, desempenho do anúncio e engajamento dos usuários. Você também pode montar seu próprio analytics usando webhooks e a API da Stripe.

Caution

**Status: planejado, não construído.** A Tajo não tem um Stripe App, então nada nesta seção pode ser instalado hoje. Os identificadores de app, URLs e credenciais desta página são exemplos ilustrativos, não endpoints reais.

## Relatórios disponíveis

O Stripe Dashboard oferece os seguintes dados de analytics para o app que você publicou:

### Métricas de instalação

| Métrica | Descrição |
| --- | --- |
| **Instalações** | Total de novas instalações do app no período selecionado |
| **Desinstalações** | Total de desinstalações do app no período selecionado |
| **Instalações líquidas acumuladas** | Total acumulado de instalações menos desinstalações ao longo do tempo |

### Desempenho do anúncio

| Métrica | Descrição |
| --- | --- |
| **Visualizações do anúncio** | Total de visualizações da página do seu app no marketplace |
| **Visualizações únicas** | Visitantes únicos que viram o seu anúncio no marketplace |
| **Taxa de conversão MoM** | Percentual, mês a mês, de visitantes do anúncio que instalam o app |

### Métricas de crescimento

| Métrica | Descrição |
| --- | --- |
| **Taxa de crescimento MoM** | Crescimento mês a mês das instalações líquidas |
| **Taxa de churn** | Percentual de usuários com o app instalado que desinstalam por mês |

## Atualidade dos dados

Caution

Os dados de analytics têm um **atraso de 48 horas**. O que você vê no dashboard reflete a atividade de aproximadamente dois dias atrás. Planeje suas janelas de relatório levando isso em conta.

- Os dados são atualizados diariamente, com um atraso de processamento de 48 horas
- O histórico fica disponível a partir da data em que seu app foi publicado pela primeira vez
- As métricas são calculadas no fuso horário UTC
- Exporte os dados em CSV pelo Stripe Dashboard para fazer análises externas

## Acessar o analytics pela API

Você pode acessar o analytics do app de forma programática usando a Reporting API da Stripe:

### Dados de instalação

```bash
# Fetch app install report
curl 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"
```

### Visualizações do anúncio

```bash
# Fetch listing views report
curl 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"
```

### Acesso programático (Node.js)

```javascript
const stripe = require('stripe')('sk_live_xxxxx');

// Create a report run for app installs
const 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 completion
const 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;
};
```

## Aba Users

A aba Users do analytics do seu app mostra os dados no nível de cada conta:

| Coluna | Descrição |
| --- | --- |
| **Account ID** | A conta Stripe que instalou o seu app |
| **Install Date** | Quando o app foi instalado |
| **Status** | Ativo ou desinstalado |
| **Uninstall Date** | Quando o app foi desinstalado (quando aplicável) |

Use esses dados para:

- Acompanhar o status de ativação de cada conta
- Fazer follow-up com contas que instalaram, mas não concluíram a integração inicial
- Identificar contas que desinstalaram e entender os motivos do churn
- Cruzar os dados de instalação com o analytics da sua própria plataforma

## Analytics personalizado com webhooks

Para ter analytics em tempo real e insights mais profundos, configure webhooks para acompanhar os eventos do app:

### Eventos de webhook

Escute estes eventos para montar seu analytics personalizado:

| Evento | Descrição |
| --- | --- |
| `account.application.authorized` | O usuário instalou o seu app |
| `account.application.deauthorized` | O usuário desinstalou o seu app |

### Handler do webhook

```javascript
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

Em plataformas Connect, use a Connect List API para obter informações sobre as contas que têm o seu app instalado:

```javascript
const stripe = require('stripe')('sk_live_xxxxx');

// List all connected accounts with your app installed
const 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;
};
```

## Montar um dashboard de analytics personalizado

Combine o analytics da Stripe com seus próprios dados para ter uma visão completa:

```javascript
// Aggregate analytics for reporting
const 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étricas principais para acompanhar

Na integração da Tajo com a Brevo, foque nestas métricas:

| Métrica | Meta | Por que importa |
| --- | --- | --- |
| **Taxa de instalação para ativação** | \> 70% | Percentual de quem instala e conclui a configuração da Brevo |
| **Tempo até a primeira sincronização** | < 5 minutos | Com que rapidez o usuário percebe valor depois de instalar |
| **Retenção em 30 dias** | \> 80% | Percentual de usuários ainda ativos depois de 30 dias |
| **Taxa de churn mensal** | < 5% | Mantenha as desinstalações baixas com uma integração valiosa |
| **Taxa de conversão do anúncio** | \> 15% | Percentual de visitantes do anúncio que instalam |
| **Clientes sincronizados por conta** | \> 100 | Indica a profundidade de uso da integração |

Tip

Configure alertas automáticos para mudanças significativas nas métricas. Um pico repentino de desinstalações ou uma queda na taxa de ativação pode indicar um bug ou um problema de UX que precisa de atenção imediata.
