QR Code Monitoring: How to Track Every Scan (and Catch Dead Links)
QR code monitoring works only with dynamic codes: a redirect logs scan count, city, device and time - and can alert you the day a link breaks. Static codes report nothing.

What Is QR Code Monitoring?
QR code monitoring means tracking every scan of a printed code - how many times it was scanned, the city it was scanned in, the device used and the time - through a redirect URL that logs the data before sending the person to your landing page. The scan feels seamless to the customer; the logging happens in the background.
Here is the catch most generators bury: monitoring only works with dynamic QR codes. A dynamic code points to a short URL that records every request. A static code encodes your destination directly into the pattern, so there is no redirect and no data - no scan count, no location, nothing. If you printed a batch of static codes on menus or flyers, you have had zero visibility into performance since day one.
The difference matters because a tracked code turns a physical touchpoint like a table tent, receipt or poster into a channel you can measure alongside your online marketing - and, as you will see below, one you can be warned about the moment it breaks.
Static vs Dynamic QR Codes: Only One Can Be Tracked
A static QR code encodes your destination URL directly into the pattern itself. There is no middle layer, so nothing gets recorded and the destination is fixed forever. A dynamic QR code points to a short redirect URL that logs every request before forwarding the visitor, and you can change where it points at any time - even after the code is on 5,000 menus.
That one design difference decides everything about monitoring:
| Feature | Static QR code | Dynamic QR code |
|---|---|---|
| Scan tracking | None | Every scan logged |
| Destination editable after printing | No | Yes, anytime |
| Alert when the link breaks | Impossible | Available on tracking platforms |
| Risk after printing | Dead URL means a full reprint | Fix the link in the dashboard |
Static codes still make sense for things that never change and never need measuring, like a Wi-Fi password on a break room wall. For anything printed as part of a campaign, a dynamic code is the only option that reports back.
The Reprint Problem: Why Static Codes Cost More Than Free
Picture a restaurant that prints 5,000 menus with a static code linking to a PDF menu page. Six months later the page moves, the URL dies, and every scan hits a 404. There is no dashboard showing the failure, because static codes report nothing - the first sign of trouble is a confused customer. The only fix is reprinting all 5,000 menus, plus design time and shipping.
With a dynamic code, the same problem is a quick edit: paste the new URL into the dashboard and every printed menu instantly points to the right page. The paper never changes; only the redirect does. That is why "free" static codes often end up the expensive choice for print jobs. If you are about to send anything to a printer, create the code as a dynamic one first.
Knowing the Moment a Code Breaks: Dead-Link and Silent-Code Alerts
Counting scans tells you what is working. It does not tell you when something has quietly stopped working - and for a printed code, that is the more dangerous blind spot. A destination can start returning errors, a landing page can be taken down, a promotion can end, or a poster can simply be torn off a wall. With a static code you learn about it the way the restaurant above did: weeks later, from an annoyed customer.
The best dynamic platforms close that gap by monitoring the health of the codes themselves, not just the scans. There are two alerts worth looking for:
- Dead-link alerts. The platform checks the destination behind each code on a schedule and emails you when it starts failing or stops responding. A good implementation waits for two consecutive failed checks before it alerts - so a one-off blip does not page you - and clears itself once the link recovers.
- Silent-code alerts. A code that had a steady scan history suddenly drops to zero for a week. That pattern usually means the physical piece changed: a covered sticker, a removed flyer, a campaign that quietly ended. An alert lets you investigate while the placement can still be fixed.
This is where platforms differ sharply. Most QR tools stop at analytics; you have to notice a problem yourself by watching the dashboard. Scanely runs a daily check of every code's destination on paid plans and sends both alert types by email, so a broken campaign surfaces within a day instead of weeks. If your codes are on printed materials you cannot easily reissue, that monitoring is the difference between a quick fix and a dead campaign nobody flagged.
How Scan Tracking Actually Works, Step by Step
When someone points their phone camera at a dynamic QR code, the code does not contain your landing page URL at all - it contains a short redirect URL hosted by the QR platform. The scan plays out in three steps:
- The phone reads the pattern and sends a request to the short URL.
- The platform logs the details of that request - the time, the IP address it came from, and the device information the phone sends along.
- The platform redirects the phone to your actual destination page.
To the person scanning, this looks like a normal page load. That middle layer is also why the destination stays editable after printing: the printed code always points to the same short URL, and only the forwarding rule behind it changes.

What Gets Logged on Every Scan
A typical scan record in the analytics dashboard includes:
- Total scans - the overall number of times the code was requested
- Unique scans - how many different people scanned it, always equal to or lower than the total
- Time and date - recorded per scan, so a code used in multiple countries shows local scan times
- Location - city and country, estimated from the IP address
- Device details - iOS or Android, plus browser and often the device model, read from the user agent
Good dashboards give you a real-time view and let you export the raw scan data as CSV for deeper analysis in a spreadsheet.
What Monitoring Cannot Capture: Privacy Limits
Scan tracking identifies devices, not people. It is not technically possible to pull a phone number, a name, or address book contacts from a scan - if a vendor implies otherwise, walk away. Location is estimated from the IP address at city level, not a street address. Precise GPS coordinates can only be collected if the person scanning explicitly agrees to share their position when prompted. If you want names or emails, you need a landing page that asks for them - the scan alone will never hand them over.
Reading Your Numbers: Unique Scans, Total Scans and Bot Filtering
Your dashboard shows two numbers that sound similar but answer different questions. Total scans count every request the code receives - the same person scanning three times adds three. Unique scans count how many different devices scanned, so that number is always equal to or lower than the total.
Use unique scans to measure reach: how many actual people your table tent, poster or receipt put in front of your page. Use total scans to measure repeat engagement - a menu code with 400 total scans from 150 unique visitors tells you tables are returning to it during the meal, a different story than 400 one-time scans. For a deeper look at reading these reports, see the guide to trackable QR codes.
There is a third factor most owners miss: not every request comes from a person. Bots can hit a short URL without any human scanning the printed code, and those requests inflate your numbers if nothing filters them out. Good platforms drop requests from data-center IP ranges and known bot user agents before they reach your dashboard. Check whether yours filters bots by default, and judge campaigns on filtered numbers, not raw ones.
Connect Scan Data to Google Analytics
Your QR platform's dashboard shows scans, but you may also want QR traffic sitting alongside the rest of your web analytics. Dynamic codes can pass scans into Google Analytics, Google Tag Manager or a Facebook Pixel for measurement and retargeting after a scan - ideally behind a consent prompt so third-party cookies stay GDPR- and CCPA-compliant.

Because the code is dynamic, you can change the destination behind the redirect later without reprinting anything. The guide on renaming a link covers keeping your links tidy, and how to track QR code scans walks through reading the reports.
Name Each Placement's Code Consistently
Give every placement its own dynamic code with a name that identifies it at a glance, so you can compare which ones drive engagement:
- Table tent:
tabletent-q3 - Receipt:
receipt-q3 - Poster:
poster-q3 - Packaging:
packaging-q3
Keep names lowercase and consistent. A scheme you set once saves you from guessing which code was which when the numbers come in.
Compare Placements Against Their Own History
A code on a table tent and a code on a poster are seen in very different conditions, so resist judging them against one universal benchmark - there isn't a credible cross-industry "good scan rate." The useful benchmark is each code's own trend: give every placement its own dynamic code, let a few weeks of data accumulate, and read the week-over-week movement. A flat or falling line on a code that used to climb is your signal to act, regardless of how it compares to someone else's numbers.
As a rough directional starting point, many print placements convert a low single-digit percentage of the people who physically pass them into scans; treat any figure like that as a hypothesis to test against your own dashboard, not a target. A restaurant can compare table tents across locations, a retail store can compare shelf signs to receipts, and an event team can compare badge scans across sessions - each against its own history.
Low Numbers? Check Size and Placement Before Blaming the Campaign
Before you conclude that an offer is failing, rule out physical problems with the printed piece:
- Size for distance - the QR size calculator suggests a print size for your scanning distance
- Height and lighting - place codes near eye level, in reach, without glare or shadow
- Test it yourself - scan the printed piece from where a real customer would stand, on both an older phone and a new one
Fix the physical problems first. Then judge the campaign on numbers that reflect people who actually had a fair chance to scan.
Questions to Ask Before You Commit to a Plan
Whether a plan is enough depends on what you need from the data, so read the provider's details before you print anything. Confirm three things directly: that your codes will keep reporting for as long as your print run is in circulation, that you can export the data as CSV, and whether the platform actively monitors your links and alerts you when one breaks. For 5,000 printed menus or a season of events, those three answers matter more than the headline price.
FAQ: QR Code Monitoring
Can I track a static QR code I already printed?
No. A static code encodes the destination directly, with no redirect to log scans, so no platform can recover data from it. The only fix is reprinting with a dynamic code from the dynamic QR generator.
How do I know if my printed QR code stops working?
Only a platform that monitors link health will tell you automatically. Scanely, for example, checks every code's destination daily on paid plans and emails you when a link starts failing or when a previously busy code goes silent - so you catch a dead link or a torn-down poster within a day instead of hearing it from a customer.
Can QR tracking identify who scanned my code?
No. Scanning cannot reveal a phone number, name, address or contacts. You see device type, city and time - not identity. To collect names or emails, send scanners to a landing page with a form.
How accurate is scan location?
City and country level, estimated from the IP address. Precise GPS coordinates are only recorded if the person explicitly agrees to share their position.
Privacy: QR scan tracking collects data such as approximate location, device type and scan time from the people who scan your codes. Depending on where you operate, this data may be covered by privacy laws such as GDPR or CCPA. Choose a tracking platform that handles scan data in a compliant way, and consult a qualified professional if you are unsure about your obligations.
Ready to see your own numbers - and get told the day a link breaks? Create your first tracked code and watch the scans come in.