Change the link.
Track every scan.
A dynamic code points wherever you want and can be re-pointed anytime — no reprinting. And every scan is measured: total scans, unique scans, country, device, and a day-by-day timeline you can export to CSV or PDF.
Total scans
Unique
Top country
By country
By device
Metrics that mean something.
Scan analytics and dynamic destinations are Pro features; unlimited dynamic codes come with Business. Here's exactly what you get.
Change the link, keep the code
Dynamic QR codes let you swap the destination anytime — fix a typo, move a campaign, reuse last year's printed sign. The physical code never changes.
Total + unique scans
Every scan is counted, and beside the total you get a unique count — distinct device signatures across the range you're viewing. Treat it as an estimate of distinct scanners, not an exact headcount.
Country breakdown
Country-level location, derived from the scan network — enough to know where demand is, without pretending to pinpoint a city or a street address.
Device split
Mobile vs desktop vs tablet, charted, with iOS / Android / Windows and the browser recorded on every scan row and included in the CSV export.
UTM capture
UTM tags on your tracking URL are recorded against each scan and come out in the CSV export, so you can tell which flyer batch or channel the scan came from.
Nothing is hidden from you
We show you the log we actually keep. Automated hits are labelled as their own "bot" device type in the breakdown rather than being quietly folded into your mobile and desktop numbers.
What QR code analytics can and can't tell you.
Scan tracking works because a dynamic code sends the phone through a short forwarding address first. That one hop is where every number on this page comes from, and it sets the limits too.
It can tell you
- How many times the code was scanned, and on which days.
- Roughly how many different devices scanned it (an estimate, not a headcount).
- Which countries the scans came from, and whether they were phones, desktops or tablets.
- Which flyer batch or channel a scan came from, if you put UTM tags on the tracking URL.
It can't tell you
- Anything about a static code. A static code sends the phone straight to your link, so no scan ever passes through us to be counted.
- Who scanned. There is no name or email on the other side, and no scan record stores an IP address.
- A city or street. Location is country-level, read from the network, never GPS.
- What happened after the scan. The code forwards to your page and its job ends there; for sign-ups or sales, put UTM tags on your destination URL and read them in your own analytics.
Every metric above, what it measures and which ones to ignore: QR code tracking, explained.
How to make a QR code with analytics.
Tracking is decided when the code is made, not after it is printed. Here is the order that avoids reprinting.
- 01
Create it as a dynamic code
On the create page, switch on Dynamic QR Code before you save. Dynamic codes come with Pro (25 codes) and Business (unlimited). It has to be dynamic from the start: a static code holds your link itself, so a scan never passes through us and can never be counted.
- 02
Test it once, then print
Scan it with your own phone before it goes to print. You should land on your page, and the scan should show up in the code's analytics. That confirms it forwards where you meant. Your test scan stays in the count, so keep it in mind when you read the early numbers.
- 03
Read the numbers
In your Library, open the code's Stats. Pick the last 7, 30 or 90 days, then export the scan rows as CSV or the summary as a PDF. The page reads the scan log again every time you open it or press refresh. It isn't a live feed.
We report the scans that happened. And we tell you how.
Every scan of a dynamic code is written down with its timestamp, country, device, OS and browser — and shown to you the same way. Automated hits are labelled as a "bot" device rather than blended into your numbers, the unique count is an estimate of distinct devices (we say so instead of dressing it up), and no scan record stores the scanner's IP address.
Comparing two versions of a flyer or poster? How to A/B test QR codes covers setting up a fair test and telling a real winner from noise.
QR code tracking, straight answers.
Can you track a QR code that is already printed?
Only if it was created as a dynamic code. A static code contains your link directly, so the phone goes straight to it and nothing in between ever sees the scan. To start counting scans on something already printed with a static code, you need to print a dynamic code in its place.
Does the person scanning need an app?
No. Their phone camera opens the code like any other link. The scan is recorded as the phone passes through the tracking address, and they land on your page. There is nothing for them to install or sign up for.
How accurate is the unique scan count?
Treat it as an estimate. Devices are told apart by the browser signature they send, not by anything personal. Two identical phones on the same software version can look like one scanner, and one person who scans with two different apps can look like two. It is good for spotting a trend and weak as an exact headcount.
What happens to hits from bots and crawlers?
Automated hits are recorded, and they appear as their own "bot" device type in the breakdown. They are not silently removed, and they are not mixed into your mobile and desktop numbers, so you can see how many there were and set them aside.
If I change where the code points, do I lose the scan history?
No. Changing the destination of a dynamic code changes nothing about the printed code, and scans keep being recorded against that same code. The history from before the change stays where it was.
