Skip to main content

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

  1. Open Analytics. Click Analytics in the sidebar, or Analytics in the quick actions on dashboard home.
  2. 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.
  3. Pick a date range. The dropdown on the right offers Last 7 days, Last 30 days, Last 90 days, Last 12 months and Custom.
  4. 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.
  5. Read the four summary cards. Each carries a vs prev period trend against the same length of time immediately before your range.
  6. Work down the breakdowns. Scan Locations, Daily Scans, Top Performers, Device Types, Operating Systems, Browsers, Referrers, Campaigns and Busiest Times.
  7. 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

CardWhat it counts
Total ScansScans in the range that passed the People filter. The label changes to Total Interactions, Total Clicks or Total Views when you change source.
Unique VisitorsDistinct IP addresses behind those scans.
Avg Scans/DayScans divided by the number of days in the range.
Active DevicesHow many device categories appeared (mobile, tablet, desktop) — not how many phones.
Scan LocationsMap plus Countries, Regions, Cities and Pincodes. Included on the free trial and the Business plan.
Daily ScansOne point per day across the range.
Top PerformersYour busiest codes, links and pages, ranked together.
ReferrersThe site a visit came from. Most printed scans have none.
CampaignsCampaign Source, Campaign Medium and Campaign Name from the UTM parameters on the destination. Click a row to filter the whole page by it.
Busiest TimesA 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.

Create a dynamic QR code

7-day free trial, no card.

Start free

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.