Marketplace / Docs / Analytics

Analytics Dashboard

What the publisher analytics dashboard shows, where the numbers come from, and how to read them.

Jump to section

What the publisher analytics dashboard shows, where the numbers come from, and how to read them.


Overview

The analytics dashboard answers two questions for publishers:

  1. Are people installing my packages? — counts, trends, per-package breakdown.
  2. Am I making money? — sales, revenue, top sellers (for paid packages).

The dashboard scopes everything to the signed-in publisher. You only see your own packages — there is no shared or admin-wide view here.


Accessing the Dashboard

Sign in, then open /dashboard/analytics. The page is gated behind the standard dashboard AuthGuard — unauthenticated visitors are sent to login first.

The dashboard has two tabs (Installs and Revenue) and a time-range selector (7 / 30 / 90 days). Both tabs share the same range selector.


Installs Tab

The Installs tab is the default. It shows four stat cards across the top:

  • Total Installs — lifetime install count across all your packages.
  • <range>d Installs — installs within the selected range (7d / 30d / 90d), summed across all packages.
  • Avg Rating — your average package rating, formatted to one decimal. Displayed as until reviews exist.
  • 30d Trend — percent change in installs over the last 30 days vs. the prior 30 days. Color-coded: green if positive, red if negative, neutral if flat.

Below the cards:

  • Daily Installs (<range> days) — a bar chart of install count per day across the selected range. Hover any bar to see the exact date and count. The y-axis auto-scales to the busiest day in the window.
  • Package Breakdown — your packages listed in order of total installs, each with a horizontal bar showing what fraction of your total installs that package represents. The bar fills using total_installs as the proportional unit. Each row shows the package's display name, its type badge, and the lifetime install count.

If you have no install data yet, the chart shows No install data available yet and the breakdown shows No packages to show.

Data sources: GET /api/v1/publishers/{name}/analytics (totals + rating + trend), GET /api/v1/publishers/{name}/analytics/installs?days=<range> (daily series), GET /api/v1/publishers/{name}/packages?per_page=50 (breakdown).


Revenue Tab

Click Revenue to switch tabs. If you have no sales yet, the tab shows:

No sales yet. Set prices on your packages to start earning.

…with a link to Manage Packages. Once you have sales, four stat cards appear:

  • Total Sales — lifetime sale count within the selected range.
  • Revenue ($) — gross revenue in USD, formatted to cents.
  • SNIPP Revenue — total SNIPP token revenue, formatted in whole-SNIPP units.
  • Net Earnings — revenue minus platform fees, in USD.

Below the cards:

  • Daily Sales (<range> days) — a bar chart of revenue per day across the range, scaled to the highest-revenue day. Hover for sales count, revenue, date on each bar.
  • Top Selling Packages — a table of your highest-revenue packages, showing display name, sale count, and revenue.

Data source: GET /api/v1/publishers/{name}/analytics/sales?days=<range>.

The Revenue tab does not include subscription revenue, refunds, or chargeback adjustments at this layer of the UI. For full ledger-style detail, see the Payments section of the dashboard.


Time Ranges

The range selector in the top-right toggles between 7d / 30d / 90d:

  • It applies to both tabs.
  • The 30d Trend stat card always compares last-30-days vs. prior-30-days regardless of the selected range — it's a fixed indicator, not a follower of the selector.
  • Switching range re-fetches both the daily series and the totals.

There is no custom date-range picker today; choose one of the three presets.


How Installs and Events Are Counted

Installs are surfaced by the analytics dashboard but ingested through a separate event endpoint: POST /api/v1/analytics/events. The marketplace site and the Snippbot daemon both send events to this endpoint. Tracked event types include:

  • view — package page viewed.
  • search_click — package opened from a search result.
  • install / uninstall — package installed or removed.
  • purchase — paid package bought.
  • review — a review was written.
  • bundle_view / page_view — bundle pages and general site pages.

Only install (and purchase for revenue) feed the dashboard's counters today. The other event types are recorded for funnel and search-term analytics that surface elsewhere in the admin tooling.


Tips

  • Set prices to unlock the Revenue tab. Until at least one of your packages has a price set and sells, the Revenue tab shows the empty state. Visit /dashboard/packages to set prices.
  • Avg Rating shows until you have reviews. This is normal for new publishers — see the Reviews & Ratings guide for how the rating signal flows.
  • The 30d Trend lags by one day. "Last 30 days" is anchored on UTC midnight; if you publish a viral package, you'll see the bump in the trend the day after, not the same day.
  • Daily Installs bars don't show empty days clearly. Days with zero installs render as a 2px minimum-height stub for chart consistency — read the tooltip if you need to distinguish a zero-day from a low-but-nonzero day.
  • Switching tabs re-fetches. Sales data is only loaded when you open the Revenue tab — the first switch may have a brief loading state.