stashkit
Blog

How to Track QR Code Scans: Complete Guide

August 15, 20267 min read
How to Track QR Code Scans: Complete Guide

Print a QR code from most free generators, and it does exactly one thing: it opens a link. It doesn't tell you if anyone scanned it, when, from where, or on what kind of phone. If you've ever put up a flyer or a table tent and wondered whether it's actually doing anything, the honest answer with a static QR code is: you have no idea. This guide covers what QR scan tracking actually measures, how it works under the hood, and how to read the numbers without a marketing degree.

Static vs dynamic: why most QR codes can't be tracked at all

A static QR code encodes its destination directly, permanently, at the moment it's generated. Scan it, and your phone's camera reads the pattern and opens that exact link — no server involved, no record kept anywhere. That's why free "instant" QR generators can work entirely in your browser with no account: there's nothing to track because nothing passes through their system after you download the image.

A dynamic (trackable) QR code works differently. It encodes a short redirect link instead of the final destination. When someone scans it, their phone briefly hits that redirect link, which logs the visit and then forwards them on to wherever you've pointed it — a menu, a website, a form. That extra hop is invisible to the person scanning, but it's the entire reason tracking is possible. If you haven't already, our static vs dynamic QR code guide covers this distinction in more depth — it's worth understanding before you start caring about analytics, because a static code will never show you a single scan no matter how good the analytics dashboard is.

What scan data actually tells you

Once a QR code is dynamic, every scan becomes a data point. In Stashkit, that breaks down into a handful of genuinely useful signals:

  • Scan count over time. Not just a running total — a day-by-day view, so you can see whether last Tuesday's flyer actually got scanned or sat there ignored.

  • Device and operating system. Mostly iPhone traffic vs a mix of Android tells you something concrete if you're deciding where to put design effort, or troubleshooting a complaint from one specific type of user.

  • Browser. Useful mainly for catching edge cases — if scans from a particular in-app browser (Instagram's, for example) are failing to load your destination properly.

  • Country and rough location. If the same code is printed in more than one place, or shared online beyond your immediate area, this tells you where it's actually landing versus where you assumed it would.

  • Time of day and day of week. A restaurant table code that spikes at lunch versus dinner tells you something real about who's actually using it and when.

  • Referrer. If the same code also gets shared as a plain link online — in a bio, a post, a group chat — you can tell whether traffic came from the printed version or the digital one.

How to set this up

Every QR code created in Stashkit — Website, PDF, Wi-Fi, vCard, whichever type — is dynamic by default and tracked automatically. There's no separate "enable analytics" toggle to remember, and no extra account to connect. You create the code, print it or share it, and scans start showing up in your dashboard as they happen.

  1. Create the QR code as usual — pick the type that matches what you're linking to, and design it if you want it branded.

  2. Open the Analytics tab for that code once it's live, or look at the account-wide analytics view if you're tracking several codes at once.

  3. Give each physical placement its own code if you want to compare locations — one code per table, one per flyer location, one per storefront. It costs nothing extra and it's the only way to know which specific spot is actually working.

Comparing periods, not just totals

A raw scan count on its own is only mildly useful — "47 scans this week" doesn't mean much without something to compare it to. Stashkit's analytics view includes a period comparison, so you can see this week against last week, or this month against last, as a clear percentage change rather than two numbers you have to do the math on yourself. That's the difference between "we got some scans" and "scans dropped 30% since we moved the table tent to the bar instead of the entrance" — one of those is actionable, the other isn't.

Going deeper: the raw scan log

Beyond the summary charts, there's a full scan log — an individual, timestamped list of every scan, each with its own device, country (shown with a flag, so it's easy to scan visually), and browser. This matters when the summary numbers raise a question the charts can't answer on their own — for example, a sudden spike on a Wednesday afternoon that doesn't match your usual pattern. The log lets you actually look at what happened scan by scan instead of guessing from an aggregate chart.

If you want to work with the data outside the dashboard — in a spreadsheet, alongside sales figures, or just archived for your own records — you can export the whole thing as a CSV with one click, rather than manually copying numbers out of a chart.

How to actually use this to make decisions

Data without a decision attached to it is just a number you glance at once and forget. A few concrete ways restaurant and small-business owners actually use scan data:

  • Comparing two locations for the same code type. If you've put QR codes at both the host stand and the bar, and one gets scanned five times as often, that tells you where people are actually engaging — worth knowing before you invest more print material in the quieter spot.

  • Spotting a dead campaign early. A flyer that gets zero scans in its first week probably isn't going to pick up later. Better to know in week one than to leave it up for a month assuming it's working.

  • Matching staffing or specials to real traffic patterns. If your menu QR code spikes hard on Friday and Saturday evenings and barely registers on weekday afternoons, that's a genuine signal about when people actually engage with digital content versus a printed menu.

  • Proving a campaign worked. If you're the one who convinced the owner to try QR table tents in the first place, a week-over-week comparison showing real growth is a much stronger argument for keeping it than "people seem to like it."

Common mistakes that make tracking useless

  • Starting with a static QR code and wondering why there's no data. If the generator you used didn't require an account or offer a dashboard, it almost certainly created a static code — there's nothing to track after the fact.

  • One code covering multiple physical locations. If the same QR code is printed at three different storefronts, the analytics can't tell you which one is driving the scans — you've thrown away the one thing location data was useful for.

  • Checking once and never again. A single glance the day after printing doesn't tell you much. The comparison view exists specifically because trends over weeks are what actually matter, not a single day's count.

  • Expecting scan data to identify individual people. It won't, and it shouldn't — see the privacy note below.

A note on privacy

Scan tracking works the same way ordinary website analytics does: it logs aggregate signals — device type, approximate location from the connection, browser, and timestamp — the same information any website already sees when someone visits it. It doesn't capture anyone's name, contact details, or anything that identifies a specific person scanning the code. You're seeing patterns in how a code gets used, not a list of who used it.

FAQ

Do I need to do anything special to enable tracking? No — every Stashkit QR code is dynamic and tracked from the moment you create it.

Is the data real-time? Scans typically show up within moments of happening, so you can watch activity build during a live event or a busy service rather than waiting for a daily report.

How many scans is "good"? It depends entirely on placement and audience — a table tent in a 40-seat restaurant and a flyer at a citywide event will never be comparable. Track your own trend over time rather than chasing a number someone else got.

Can I export the data? Yes, the full scan log can be downloaded as a CSV whenever you want to work with it elsewhere.

Is this free? Yes — Stashkit's free plan includes 3 active QR codes and 1,000 tracked scans a month, no credit card required, which is enough to test tracking on a real campaign before deciding whether to expand.

Ready to get started?

Create your first dynamic QR code in minutes — no credit card required.
Create QR code