How do I read my QR code scan analytics?
Updated September 14, 2026 · 3 min read
Open Analytics in the dashboard sidebar. The four cards across the top give you Total Scans, Unique Visitors, Avg Scans/Day and Active Devices for the date range you choose, and the charts below break the same scans down by location, device, referrer and campaign. Use the source filter to show QR codes only, or the QR picker to narrow the whole page to one code. Only dynamic QR codes report scans: a static code sends the phone straight to its content without passing through us, so it has nothing to report.
Where scan data appears
- Analytics in the sidebar — every QR code, short link and page together. A source filter switches between All sources, QR codes, Links and Pages, and the card labels follow it (scans, clicks or views).
- One code — open it from My QR Codes and use Full analytics, or choose it in the QR picker at the top of the Analytics page.
- Dashboard home — the Scans This Week, Active QR Codes and Unique Visitors cards, plus Scan Activity, Top Performing, Recent QR Codes and Scan Insights (top countries and devices).
For the wider explanation of what dynamic tracking is and why it works, see the QR code analytics overview.
Read the Analytics page step by step
- Open Analytics. Click Analytics in the sidebar, or Analytics in the quick actions on dashboard home.
- Choose a source. Leave it on All sources to compare scans, clicks and views side by side, or click QR codes to read scans alone.
- Pick a date range. The dropdown on the right offers Last 7 days, Last 30 days, Last 90 days, Last 12 months and Custom.
- Start with the Engagement card. It reports how many of the recorded requests were people, and lets you switch between People, All recorded and Not counted. See why some scans are not counted.
- Read the four summary cards. Each carries a vs prev period trend against the same length of time immediately before your range.
- Work down the breakdowns. Scan Locations, Daily Scans, Top Performers, Device Types, Operating Systems, Browsers, Referrers, Campaigns and Busiest Times.
- Narrow to one code. Pick a code in the QR picker and every card on the page rescopes to it.
What each card and chart means
| Card | What it counts |
|---|---|
| Total Scans | Scans in the range that passed the People filter. The label changes to Total Interactions, Total Clicks or Total Views when you change source. |
| Unique Visitors | Distinct IP addresses behind those scans. |
| Avg Scans/Day | Scans divided by the number of days in the range. |
| Active Devices | How many device categories appeared (mobile, tablet, desktop) — not how many phones. |
| Scan Locations | Map plus Countries, Regions, Cities and Pincodes. Included on the free trial and the Business plan. |
| Daily Scans | One point per day across the range. |
| Top Performers | Your busiest codes, links and pages, ranked together. |
| Referrers | The site a visit came from. Most printed scans have none. |
| Campaigns | Campaign Source, Campaign Medium and Campaign Name from the UTM parameters on the destination. Click a row to filter the whole page by it. |
| Busiest Times | A day-by-hour grid in the scanner's own local time zone. |
Date ranges, comparisons and history
A custom range can span at most 365 days. Every stat card compares your range with the period immediately before it and shows the difference as vs prev period, so a 30-day view is measured against the 30 days before that.
Past scans stay readable even if a subscription lapses — but new scans are only recorded while the account is on the free trial or a paid plan, and a lapsed account's codes stop redirecting altogether.
Campaign rows are shares of tagged scans, not of all scans. The header line tells you how many of your scans carried a tag.
Common problems
The page says "No activity yet"
Nothing has been scanned in the selected range. Widen the range, and check that the code you shared is the one you are looking at.
A code shows no analytics at all
It is probably static. Static codes carry their content inside the pattern, so scans never reach us. The code's detail page shows a Static QR Code card with No Scan Analytics instead of charts. See how to tell which kind you have.
The numbers look lower than the scans I made
The default view counts people, not requests. Repeat fires within seconds, chat-app link previews and bots are separated out — see People vs Not counted.
Cities and the map are missing
That block needs the free trial or the Business plan. See which plans include city and map analytics.
For the longer walkthrough of designing a campaign around scan data, read how to track QR code scans.
Frequently asked questions
Do scans update in real time?
Yes. A scan appears as soon as the page is reloaded — there is no nightly batch.
Can I see who scanned my code?
No. Scans are anonymous. You get device, browser, operating system, approximate location, referrer and campaign tags, never a name or an account.
Do my own test scans count?
Yes, if you scan with a phone camera or a scanner app. Only bots, link previews and repeat fires within about ten seconds are separated out.
Can I get analytics for a static code?
No. You would need to create a dynamic code and reprint. See converting a static code to dynamic.
How far back can I look?
Any range up to 365 days at a time, using the Custom option.
Related articles
Why are my scan numbers lower than expected? People vs Not counted
Analytics counts people by default. Bots, chat-app link previews and repeat fires within seconds go to Not counted, and known bots are never stored.
What is the difference between total scans and unique visitors?
Total Scans counts every scan by a person in your date range. Unique Visitors counts the distinct networks they came from, so it is the smaller one.
Which plans include city and map scan analytics?
The Scan Locations map, countries, regions, cities and pincodes plus Busiest Times are on the free trial and Business. Starter and Pro do not have them.
How do I export scan data to CSV?
Click Export CSV on the Analytics page for account totals, or on a code's page for a row per scan. It covers the date range on screen, up to 365 days.
How do I track QR code scans in Google Analytics 4?
Add UTM parameters to the destination with Edit parameters under the URL field. GA4 then files each scan under your campaign instead of Direct.
Still stuck?
Email support@qrcodestack.com with the email on your account and, if it is about one code, its name or short link. A person replies within one business day, usually sooner.