# Analytics & insights
Source: https://docs.aden.space/docs/help/run-the-business/analytics

Dashboards showing website traffic, streaming performance, and chart positions for teams, tracks, albums, and playlists. Augmented by Songstats data and Google Trends signals for release planning.
{/* Generated by `bun docs:publish` from docs/features/analytics.md: edit the spec, not this file. */}

## What it is [#what-it-is]

Aden pulls together data from multiple sources. Your team's public page
traffic, streaming counts, DSP chart positions, and platform search trends
and displays them in one place. You can see how an individual track is
performing, how your whole team's audience is growing, or which months are
historically best for releasing your genre of music.

There are two layers:

* **Aden analytics**: page views and plays recorded by Aden itself (via
  PostHog) whenever someone visits a public track, album, or team page.
* **Songstats** (paid plans): aggregated DSP data (Spotify streams,
  chart positions, playlist adds, and more) pulled from the Songstats API.

## Using it [#using-it]

### Team analytics [#team-analytics]

1. Open your team in the sidebar and click **Analytics** in the nav.
2. The dashboard defaults to the **Website** tab, which shows traffic
   KPIs for your public team page over the last 30 days.
3. Switch to **Streaming** to see the streaming platforms your fans click
   through to and, if your plan includes Songstats, your artist streaming
   breakdown, catalog totals and chart positions. The Streaming tab shows
   streaming data only: the website traffic KPIs stay on the Website tab.
4. Use the time-range picker (7 days / 30 days / 90 days) at the top to
   adjust the window for all charts on the current tab.

**Connecting your Songstats artist.** The streaming breakdown needs your team
matched to a Songstats artist. The easiest way: add your **Songstats** link
(from the Other section on your team **Links** page. It looks like
`songstats.com/artist/…`) and the Streaming tab connects to it automatically on
your next visit. No Songstats link yet? The tab also auto-matches from your
Spotify or Apple Music artist link, or you can paste any of those three artist
URLs straight into the **Connect your Songstats artist** box on the tab.

Your team dashboard also shows a **monthly listeners** badge in the platform
stats row (alongside fans, downloads, and charting tracks) whenever your team
is linked to a Songstats artist. It totals monthly listeners across every
streaming platform that reports them (Spotify chiefly) and hovering it breaks
the number down per platform; clicking it opens the Streaming analytics tab.

### What the Streaming tab shows [#what-the-streaming-tab-shows]

The tab is built around the linked artist's Songstats data, in this order:

1. **Three KPI cards**: followers, total streams, video views. Each carries
   its 30-day movement as a coloured pill and a 12-week sparkline of the gain
   per week (the series are cumulative totals, so the bars are differences,
   not levels).
2. **The trend chart**: the same per-platform area chart as the team
   dashboard widget, with the metric (streams / monthly listeners / followers)
   and range (1M → all) switchable, and stepping back a period at a time. It
   renders as dithered areas; there is no classic chart style any more.
3. **By platform**: the page's single platform table, with a Streams /
   Followers / Clicks switch that drives both views of the same numbers: a flow
   diagram on top (past seven platforms the tail collapses into one node so
   labels stay readable) and, under it, a ranked aligned table. Streams,
   followers, click-throughs from your Aden pages, playlists/views and each
   platform's share of the total. Platforms with no data yet are listed as chips
   underneath rather than as empty rows. Platforms fans click through to that
   Songstats doesn't track still get a row.
4. **Top playlists**: ranked, each row's bar sized against the list leader.
   Songstats' top-tracks list only appears when your catalog section below
   doesn't already rank your own tracks.
5. **Your catalog**: your own tracks bundled by ISRC: playlists, playlist
   reach and Shazams, top countries, and your top streamed tracks (linked into
   Aden). When an artist is linked, this section deliberately omits its own
   total-streams KPI, streams-over-time chart and platform card. The artist
   section above already covers all three, and the page shows each of them
   once.

### Historic stats need an explicit window [#historic-stats-need-an-explicit-window]

`historic_stats` returns only the latest snapshot when it is called without a
date range, which is why every growth surface (the KPI deltas and sparklines,
the trend chart, the dashboard widget) sat empty while the totals were fine.
Both `getArtistAnalytics` and `getTrackAnalytics` now pass
`historicStatsWindow()` (`packages/songstats/src/client.ts`): a 365-day
`start_date`/`end_date` pair. `SONGSTATS_CACHE_VERSION` was bumped to `v2` so
entries cached with an empty history are refetched.

### Songstats artwork hosts [#songstats-artwork-hosts]

Songstats hands back artwork URLs it doesn't own. Its own CDN for some, the
DSP's for others (Spotify `i.scdn.co`, Apple `*.mzstatic.com`, SoundCloud
`*.sndcdn.com`, YouTube `*.ytimg.com`). Those hosts are in `next.config.ts`
`images.remotePatterns`, and every render goes through `resolveArtworkUrl`
(`apps/web/lib/songstats/artwork.ts`), which returns `undefined` for a host
that isn't allowed so the UI shows its placeholder instead of a broken image.
Adding a host means editing **both** files.

### Team dashboard streaming chart [#team-dashboard-streaming-chart]

The team dashboard includes a large **streaming chart** widget (right under
the platform stats row by default) that plots your linked artist's history
per platform: each streaming service as its own colour-coded series:

* Toggle between **Streams**, **Monthly listeners**, and **Followers**.
* Pick a window, **1M / 3M / 6M / 1Y / All**, and step between periods
  with the previous/next arrows (1M steps whole calendar months).
* The header shows the current total for the visible window and how much it
  changed over that period.
* The arrow button opens the full Streaming analytics tab.

Like the rest of the Songstats data, it needs a plan with streaming
analytics and a linked Songstats artist; otherwise the widget explains what
to set up. You can move, resize, or hide it via the dashboard's Edit layout
mode.

### Track analytics [#track-analytics]

1. Open a track and click **Analytics** in the track sub-nav.
2. The page shows play counts, page views, and (on eligible plans) Songstats
   data for that specific track. Streams, chart chart positions, and playlist
   placements.
3. The **Platforms** tab reads like the team Streaming tab: KPIs for the
   metrics the track actually has (streams, playlist placements with their
   reach, Shazams, Spotify popularity), the streams-over-time chart, then one
   **Platform breakdown** table. Streams, playlists, the click-throughs from
   the track's Aden pages and each platform's share, sortable by any of the
   three, with each row opening the track on that platform.
4. Top countries follow, ranked with a share bar. When there is no platform
   table (no ISRC, no Songstats data, or an un-entitled team) the
   click-throughs get their own **Streaming click-throughs** card instead.
5. Use the `range` query parameter or the range picker to adjust the window.

### Album analytics [#album-analytics]

1. Open an album and click **Analytics**.
2. Metrics cover the album's public page traffic and, where available,
   Songstats data aggregated across all tracks on the album.

### Google Trends: release planning signals [#google-trends-release-planning-signals]

In the release planning flow, Aden can query Google Trends for your track's
genres and target platforms to suggest the best months to release. This is
advisory: it shows rising / stable / declining trend lines, seasonal highs,
and related rising search queries.