Reports
Summary KPIs, timeseries charts, leaderboard, and traffic sources.
/dashboard/reports is your aggregate view. Real data from the sales and click events, rendered with Recharts.
Summary card
Top of the page. Four KPIs across 30 or 90 day windows (toggleable):
- Clicks: total tracked clicks in the window.
- Sales: total sales, with conversion rate as a percentage.
- Earnings: total commissions paid plus pending (in your default currency).
- Active affiliates: affiliates who drove at least one click or sale in the window.
Timeseries charts
Two LineCharts side by side:
- Daily clicks: bucket per calendar day in the window. Useful for spotting traffic spikes (Product Hunt launch, press hit, viral creator post).
- Daily sales: same bucketing, but only counts sales where commission was credited.
Hover any data point to see the exact count.
Leaderboard
Top 10 affiliates ranked by total sales in the window. Each row shows:
- Rank (1-10)
- Affiliate name + slug
- Sales count
- Earnings in the window
- Click-through rate
Click any row to drill into that affiliate's detail page.
Traffic sources
Pie chart of referrer breakdown for tracked clicks. Each slice is a domain (twitter.com, linkedin.com, your-creator-blog.com). Hover for percentage and absolute count.
Affiliates whose links you do not control (creator posting their own link on Twitter) show up under their actual referrer. Affiliates whose link goes through a custom CNAME on your domain show up as your domain.
Data freshness
All metrics are queried live from /api/metrics/summary, /api/metrics/timeseries, /api/metrics/leaderboard, and /api/metrics/traffic-sources against the sales and click event tables. There is no scheduled aggregation; the queries run on every page load.
For organizations with very high volume (10,000+ sales per campaign), this can be slow. Phase 8 of the platform roadmap introduces materialized views; until then, the queries are bounded by the 30 or 90 day window.
Filtering
The current report view shows org-wide totals. There is no per-campaign filter on the reports page today; to scope by campaign, use the sales and affiliates pages (which both support filter chips by campaign). Per-campaign reports are on the deferred follow-up list.
CSV export
There is no CSV export button on the reports page today. For raw data, use the Sales read API (GET /api/conversions) which supports pagination and JSON output. See Developer overview.