Why are my scan numbers lower than expected? People vs Not counted
Updated September 14, 2026 · 3 min read
Your scan figure counts people, not raw requests. The Engagement card at the top of Analytics splits everything that reached your code into People, which is the default view, and Not counted, which holds Bots & scanners, Link previews and Repeats. Click All recorded to see the raw request count instead. Nothing is hidden: every kept request is shown somewhere on that card, and the headline reads "{n} scans by people — {x}% of {y} recorded requests".
The three buttons on the Engagement card
| Button | What you see |
|---|---|
| People | The default. Scans we believe a person made, including scans from QR reader apps. |
| All recorded | Every request we stored, people and machines together. The Total Scans card relabels itself "(all requests)" so the two views can never be mistaken for each other. |
| Not counted | Only the requests excluded from the people figure, broken out by reason. |
The rows under Not counted are also filters — click one to rescope the whole page to that kind of traffic, and click it again to go back.
What lands in Not counted, and why
| Row | Meaning |
|---|---|
| Bots & scanners | Not a person — scripts, crawlers, and the security scanners that open links in email before the recipient does. |
| Link previews | Not a person — a preview card was built for a chat or social app. Nobody read the page. |
| Repeats | A person, already counted above — the same visitor firing again within about ten seconds. |
Only the tight repeat window is treated as a non-scan. Someone who genuinely scans your code again half an hour later is a real second scan and is counted.
On a short link the list shows engaged clicks, with "of {total}" beneath when the two differ. It is the same rule applied to clicks.
Bots that never reach your data at all
Requests we can identify as automated by name are discarded before anything is written: no analytics row, no scan counter, nothing to filter. All that survives is a tally, shown under the card as a lifetime figure, so you can see how many were turned away.
Because that tally is lifetime and carries no timestamps, it is stated separately and never folded into the percentage for your date range.
What still counts as a person
- Your own test scans. Pointing a phone camera at the code counts. Test freely — just avoid re-scanning the same code repeatedly within a few seconds, which collapses into Repeats.
- QR reader apps. Someone holding a phone at a printed code is a real scan, even when the app resolves the link before handing it to a browser.
- One scan, not two. When a reader app resolves the link and the phone's browser then opens it a moment later, the pair is collapsed so a single scan is counted once.
Common problems
I scanned it five times and see one scan
Repeat fires inside about ten seconds collapse into a single scan. Wait longer between tests, or switch to All recorded to see each request.
An emailed link shows clicks nobody made
That is usually a corporate mail-security filter opening the link before the recipient. Those land in Bots & scanners. It means the message was delivered, not that it was read.
I shared the link in a chat app and got a burst of hits
Each app fetched the page once to build a preview card. Those land in Link previews.
I see no scans at all
Check that the code is dynamic, that it is not archived or paused, and that the account is on the trial or a paid plan — scans stop being recorded when a subscription lapses. Then confirm the printed code actually resolves by testing it before printing.
Frequently asked questions
Can I turn the filter off permanently?
No, but All recorded is one click away and it changes every card on the page while it is selected.
Does the People filter delete anything?
No. Preview and repeat requests are stored and labelled — only requests identified as bots by name are discarded before storage.
Why is my percentage of people so low?
Links shared by email or in chat attract preview fetchers and security scanners. Printed QR codes usually sit well above 90%.
Do the excluded requests still redirect the visitor?
Yes. Classification only decides how a request is counted, never whether it works.
Related articles
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.
How do I read my QR code scan analytics?
Open Analytics in the sidebar, pick a date range, and read Total Scans, Unique Visitors, Avg Scans/Day and Active Devices. Only dynamic codes report scans.
How do I test a QR code before sending it to print?
Scan the exported file and then the printer's physical proof with at least two phones, check the destination on mobile, and check the margin and contrast.
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.
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.