Analytics Dashboard
QR Igniter provides comprehensive analytics to track QR code performance, user engagement, and geographic distribution of scans.
Dashboard Widgets
The admin dashboard at /admin displays real-time analytics through interactive widgets:
| Widget | Type | Description |
|---|---|---|
| Stats Overview | Stat Cards | Total QR Codes, Scans (30d), Unique Visitors, Scan Rate with growth % |
| Scans Over Time | Line Chart | Time series of scans and unique visitors with 7/30/90/365 day filters |
| Device Types | Doughnut Chart | Mobile, tablet, and desktop scan distribution |
| Top QR Codes | Bar Chart | Top 5 performing QR codes by scan count |
| Scans by Country | Pie Chart | Geographic distribution (top 8 countries) |
| Recent Scans | Table | Live feed of recent scans with GTIN, campaign, device, location |
Dashboard widgets automatically refresh every 30-60 seconds to display the latest data without manual page reload.
Key Metrics
The stats overview widget provides key metrics at a glance:
- Total QR Codes: All QR codes in the system with active count
- Total Scans (30 days): Scan count with growth % vs previous period
- Unique Visitors (30 days): Distinct IPs with growth indicator
- Scan Rate: Average scans per QR code
Available Analytics
Time Series
View scan trends over time with customizable date ranges:
- Daily scan counts
- Weekly aggregations
- Monthly trends
- Custom date range selection
Device Breakdown
Understand how users access your QR codes:
| Device Type | Detection Method |
|---|---|
| Mobile | User agent analysis |
| Tablet | User agent analysis |
| Desktop | User agent analysis |
Geographic Analytics
Track scan locations based on IP geolocation:
- Country: Top countries by scan count
- City: Top cities by scan count
- World Map: Visual distribution of scans
Location data is derived from IP addresses using MaxMind GeoLite2. Country-level accuracy is typically 99%+, while city-level accuracy varies by region.
Campaign Performance
Compare performance across campaigns:
- Scans per campaign
- Conversion rates (if tracking enabled)
- Top performing QR codes
- Campaign comparison charts
Hourly Distribution
Identify peak scanning times:
- Hour-by-hour scan distribution
- Day-of-week patterns
- Peak hours identification
Filtering Options
All analytics can be filtered by:
| Filter | Description |
|---|---|
| Date Range | Custom start and end dates |
| Client | Filter by specific client |
| Brand | Filter by specific brand |
| Campaign | Filter by specific campaign |
| QR Code | Filter by individual QR code |
Data Export
Export analytics data for external analysis:
- CSV Export: Download raw scan data
- Filtered Export: Apply filters before export
- Scheduled Reports: Automated email reports (coming soon)
API Access
# Dashboard overview
GET /api/v1/analytics/dashboard
# Time series data
GET /api/v1/analytics/time-series?start_date=2025-01-01&end_date=2025-12-31
# Device breakdown
GET /api/v1/analytics/devices
# Geographic distribution
GET /api/v1/analytics/geographic
# Campaign performance
GET /api/v1/analytics/campaigns
# Hourly distribution
GET /api/v1/analytics/hourly-distribution
# Export to CSV
GET /api/v1/analytics/export?format=csv
Data Collected Per Scan
| Data Point | Source |
|---|---|
| Timestamp | Server time (UTC) |
| IP Address | Request header |
| User Agent | Request header |
| Country/City | IP geolocation |
| Device Type | User agent parsing |
| Language | Accept-Language header |
| Referrer | HTTP Referer (if available) |
Next Steps
- Bulk Import/Export - Manage QR codes in bulk
- System Architecture - Technical overview