The Link Analytics app (/business/apps/analytics) provides aggregated click tracking across all link-based products (short links, biolinks). It exposes a dashboard with summary stats and a 30-day time series, plus dedicated sub-pages for click log, geography, devices, referrers, and settings.
Routes under test:
| Route | Purpose |
|---|
/business/apps/analytics | Dashboard with stats cards and 30-day time series |
/business/apps/analytics/clicks | Paginated click log with filters |
/business/apps/analytics/geo | Click breakdown by country and city |
/business/apps/analytics/devices | Click breakdown by device type, browser, OS |
/business/apps/analytics/referrers | Click breakdown by referring domain |
/business/apps/analytics/settings | Analytics settings (placeholder) |
| ID | Description | Preconditions | Steps | Expected Result | Priority |
|---|
| AN-001 | Dashboard loads stats cards | User is authenticated; at least one link has recorded clicks | 1. Navigate to /business/apps/analytics | Four stat cards display: Total Clicks, Unique Visitors, Top Country, Top Referrer with correct values | P0 |
| AN-002 | Dashboard shows empty state when no data | User is authenticated; no click data exists | 1. Navigate to /business/apps/analytics | Stats section is hidden or shows zeroes; time series section shows “No click data yet” message | P1 |
| AN-003 | 30-day time series table renders | User has click data within last 30 days | 1. Navigate to /business/apps/analytics 2. Scroll to “Clicks — Last 30 Days” section | Table displays rows with Date, Clicks, and Unique Visitors columns; values are formatted with locale separators | P0 |
| AN-004 | Quick nav links navigate correctly | User is authenticated | 1. Navigate to /business/apps/analytics 2. Click each quick-nav card (Click Log, Geography, Devices, Referrers, Settings) | Each link navigates to the correct sub-page without errors | P0 |
| AN-005 | Unauthenticated user sees no data | User is not logged in | 1. Navigate to /business/apps/analytics without a session | Page loads with stats: null and empty time series; no error thrown | P1 |
| ID | Description | Preconditions | Steps | Expected Result | Priority |
|---|
| AN-010 | Click log table displays entries | User has recorded clicks | 1. Navigate to /business/apps/analytics/clicks | Table shows columns: Source, Device, Browser, OS, Country, Referrer, Time; total count is displayed in header | P0 |
| AN-011 | Pagination forward | More than 50 clicks exist | 1. Navigate to /business/apps/analytics/clicks 2. Click “Next” button | Page advances to page 2; URL updates to ?page=1; table shows next batch | P0 |
| AN-012 | Pagination backward | User is on page 2+ | 1. Navigate to ?page=1 2. Click “Previous” button | Page returns to page 1; URL updates to ?page=0 | P0 |
| AN-013 | Filter by source_app | Clicks from multiple source apps exist | 1. Navigate to /business/apps/analytics/clicks?source_app=shortlinks | Only clicks with source_app = shortlinks are displayed | P1 |
| AN-014 | Filter by country | Clicks from multiple countries exist | 1. Navigate to /business/apps/analytics/clicks?country=US | Only clicks with country = US are displayed | P1 |
| AN-015 | Filter by device_type | Clicks from multiple device types exist | 1. Navigate to /business/apps/analytics/clicks?device_type=mobile | Only clicks with device_type = mobile are displayed | P1 |
| AN-016 | Filter by date range | Clicks exist across multiple dates | 1. Navigate to /business/apps/analytics/clicks?date_from=2026-01-01&date_to=2026-01-31 | Only clicks within the specified date range are displayed | P1 |
| AN-017 | Combined filters | Multiple filter types apply | 1. Navigate with ?source_app=biolinks&country=US&device_type=desktop | Results match all applied filters simultaneously | P2 |
| AN-018 | Empty click log | No click data exists | 1. Navigate to /business/apps/analytics/clicks | ”No clicks recorded yet.” message is displayed; no table rendered | P1 |
| AN-019 | Back button navigates to dashboard | User is on click log page | 1. Click the back arrow icon | User is navigated to /business/apps/analytics | P2 |
| ID | Description | Preconditions | Steps | Expected Result | Priority |
|---|
| AN-020 | Geo breakdown table renders | Click data with country info exists | 1. Navigate to /business/apps/analytics/geo | Table shows Country, Clicks, Unique Visitors columns; countries with cities display as “Country, City” | P0 |
| AN-021 | Empty geo state | No geographic data available | 1. Navigate to /business/apps/analytics/geo | ”No geographic data available yet.” message is displayed | P1 |
| AN-022 | Back navigation | User is on geo page | 1. Click back arrow | Navigates to /business/apps/analytics | P2 |
| ID | Description | Preconditions | Steps | Expected Result | Priority |
|---|
| AN-030 | Device breakdown table renders | Click data with device info exists | 1. Navigate to /business/apps/analytics/devices | Table shows Device Type (capitalized), Browser, OS, Clicks columns | P0 |
| AN-031 | Null device fields show dash | Some clicks have null browser or OS | 1. Navigate to /business/apps/analytics/devices | Null values render as em dash character | P1 |
| AN-032 | Empty device state | No device data available | 1. Navigate to /business/apps/analytics/devices | ”No device data available yet.” message is displayed | P1 |
| ID | Description | Preconditions | Steps | Expected Result | Priority |
|---|
| AN-040 | Referrer breakdown table renders | Click data with referrer info exists | 1. Navigate to /business/apps/analytics/referrers | Table shows Referrer Domain, Clicks, Unique Visitors columns | P0 |
| AN-041 | Empty referrer state | No referrer data available | 1. Navigate to /business/apps/analytics/referrers | ”No referrer data available yet.” message is displayed | P1 |
| ID | Description | Preconditions | Steps | Expected Result | Priority |
|---|
| AN-050 | Settings page loads | User is authenticated | 1. Navigate to /business/apps/analytics/settings | Page renders with “Analytics settings coming soon.” placeholder message | P2 |
| AN-051 | Back navigation from settings | User is on settings page | 1. Click back arrow | Navigates to /business/apps/analytics | P2 |