Analytics Dashboard

Last updated: December 18, 2025

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
Auto-Refresh

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
Geolocation Accuracy

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