---
title: "Аналитика приложения | Tajo"
description: "Отслеживайте установки, просмотры, коэффициенты конверсии и пользовательские метрики для своего Stripe App"
url: https://tajo.io/ru/docs/stripe-apps/analytics/
markdown: https://tajo.io/ru/docs/stripe-apps/analytics.md
lang: ru-RU
author: "Set Noa"
author_url: https://tajo.io/ru/set-noa/
robots: noindex
---

Подайте заявку на ранний доступ

Укажите имя и рабочий адрес электронной почты. Мы отправим ссылку для подтверждения запроса на доступ к Tajo.

# Аналитика приложения

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

Stripe предоставляет встроенную аналитику для опубликованных приложений маркетплейса, показывая установки, эффективность листинга и вовлечённость пользователей. Вы также можете построить собственную аналитику с помощью вебхуков и Stripe API.

Caution

**Статус: запланировано, не создано.** У Tajo нет приложения Stripe, поэтому ничего из этого раздела сегодня нельзя установить. Идентификаторы приложения, URL и учётные данные на этой странице являются иллюстративными заглушками, а не рабочими эндпоинтами.

## Доступные отчёты

Stripe Dashboard предоставляет следующую аналитику для опубликованного приложения:

### Метрики установок

| Метрика | Описание |
| --- | --- |
| **Installs** | Общее количество новых установок приложения за выбранный период |
| **Uninstalls** | Общее количество удалений приложения за выбранный период |
| **Cumulative Net Installs** | Накопительный итог установок за вычетом удалений за всё время |

### Эффективность листинга

| Метрика | Описание |
| --- | --- |
| **Listing Views** | Общее количество просмотров страницы листинга приложения на маркетплейсе |
| **Unique Views** | Уникальные посетители, просмотревшие листинг на маркетплейсе |
| **MoM Conversion Rate** | Процент посетителей листинга, установивших приложение, месяц к месяцу |

### Метрики роста

| Метрика | Описание |
| --- | --- |
| **MoM Growth Rate** | Рост чистых установок месяц к месяцу |
| **Churn Rate** | Процент установивших пользователей, которые удаляют приложение за месяц |

## Актуальность данных

Caution

Аналитические данные приходят с **задержкой в 48 часов**. Данные в дашборде отражают активность примерно двухдневной давности. Планируйте отчётные периоды с учётом этого.

- Данные обновляются ежедневно с задержкой обработки в 48 часов
- Исторические данные доступны с даты первой публикации приложения
- Метрики рассчитываются в часовом поясе UTC
- Экспортируйте данные в CSV из Stripe Dashboard для внешнего анализа

## Доступ к аналитике через API

Получить аналитику приложения программно можно через Stripe Reporting API:

### Данные об установках

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

### Просмотры листинга

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

### Программный доступ (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;
};
```

## Вкладка Users

Вкладка Users в аналитике приложения показывает данные по отдельным аккаунтам:

| Столбец | Описание |
| --- | --- |
| **Account ID** | Аккаунт Stripe, установивший ваше приложение |
| **Install Date** | Когда приложение было установлено |
| **Status** | Активно или удалено |
| **Uninstall Date** | Когда приложение было удалено (если применимо) |

Используйте эти данные, чтобы:

- Отслеживать статус активации по каждому аккаунту
- Связываться с аккаунтами, которые установили приложение, но не завершили онбординг
- Выявлять аккаунты, удалившие приложение, и понимать причины оттока
- Сопоставлять данные об установках с аналитикой своей платформы

## Собственная аналитика на вебхуках

Для аналитики в реальном времени и более глубоких выводов настройте вебхуки, отслеживающие события приложения:

### События вебхуков

Подпишитесь на эти события, чтобы построить собственную аналитику:

| Событие | Описание |
| --- | --- |
| `account.application.authorized` | Пользователь установил ваше приложение |
| `account.application.deauthorized` | Пользователь удалил ваше приложение |

### Обработчик вебхука

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

Платформам Connect подойдёт Connect List API: он возвращает сведения об аккаунтах, где установлено ваше приложение:

```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;
};
```

## Создание собственного дашборда аналитики

Объедините аналитику Stripe со своими данными, чтобы получить полную картину:

```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,
  };
};
```

## Ключевые метрики для отслеживания

Для интеграции Tajo с Brevo сосредоточьтесь на этих метриках:

| Метрика | Цель | Почему это важно |
| --- | --- | --- |
| **Конверсия из установки в активацию** | \> 70% | Доля установивших, которые завершили настройку Brevo |
| **Время до первой синхронизации** | < 5 минут | Как быстро пользователь получает ценность после установки |
| **Удержание на 30-й день** | \> 80% | Доля пользователей, активных спустя 30 дней |
| **Ежемесячный отток** | < 5% | Полезная интеграция удерживает удаления на низком уровне |
| **Конверсия листинга** | \> 15% | Доля посетителей листинга, которые устанавливают приложение |
| **Синхронизировано клиентов на аккаунт** | \> 100 | Показывает глубину использования интеграции |

Tip

Настройте автоматические оповещения о значимых изменениях метрик. Резкий всплеск удалений или падение активации может указывать на ошибку либо проблему с UX, которая требует немедленного внимания.
