February 1, 2026 · 10 min read
How to Track QR Code Scans
QR code tracking is one of the most underused tools in physical marketing. You spend money on print, you put codes everywhere, and you have no idea what's working. Most businesses treat QR codes as a one-way broadcast: print it, forget it, hope someone scans it.
That's leaving information on the table. This guide covers what you can actually track, how the tracking works, how to interpret the data, and how to use it to make better decisions about your marketing.
How QR Code Tracking Works
Before getting into what you can track, it's worth understanding the mechanism. Tracking requires a dynamic QR code — one that routes through a redirect server rather than pointing directly at your URL.
Here's the flow:
- You create a QR code that encodes a short redirect URL, like
twodollarqr.com/r/abc123 - The QR image points to your redirect server, not your actual destination
- When someone scans the code, their phone sends an HTTP request to that redirect URL
- The redirect server logs the request — it captures the timestamp, the IP address, and the user-agent string
- The server looks up geolocation from the IP address (country, city)
- The server parses the user-agent string for device type, OS, and browser
- The server immediately issues a 302 redirect to your actual destination URL
- The user's browser follows the redirect and lands on your page
The user experiences this as: scan, brief pause (50–150ms, typically imperceptible), page loads. They have no awareness of the logging step.
The key data point is step 3: that HTTP request contains everything you can capture automatically.
What You Can Track
Timestamp
Every scan is logged with an exact timestamp. This gives you:
- Total scan volume over any time period
- Scan trends over time (is usage increasing or declining?)
- Time-of-day patterns (when are people scanning?)
- Day-of-week patterns (weekdays vs. weekends?)
- Spikes correlating with campaigns, events, or print drops
Timestamps are the most actionable data you have. They let you correlate QR traffic with real-world events.
IP Address and Geolocation
The IP address of the scanning device gets logged at the moment of the request. From that IP, geolocation lookup services can infer:
- Country (very high accuracy — 99%+)
- City/region (reasonably accurate — 80%+ for major metro areas)
- Approximate coordinates (lower accuracy, typically city-block level at best)
For most use cases, country and city are sufficient. You're not trying to find the exact person; you're trying to understand geographic distribution of your audience.
What geo data tells you: Which of your physical locations is getting more engagement. Whether you have unexpected traffic from cities where you don't have locations (which could mean your QR appeared online). Whether a campaign targeting a specific city is actually reaching that city.
What it doesn't tell you: The identity of the person scanning, their home address, or anything that would raise privacy concerns. IP geolocation is an approximation tied to network infrastructure, not to individuals.
User-Agent String
Every browser request includes a user-agent string — a text field that identifies the device, OS, and browser making the request. From this you can extract:
- Mobile vs. desktop (almost all QR scans are mobile, but the breakdown is useful)
- iOS vs. Android
- Specific browser (Safari, Chrome, etc.)
- Operating system version (broad bucketing only)
What device data tells you: If you're linking to a mobile app and want to route iOS users to the App Store and Android users to the Play Store, device data helps you optimize (though that level of routing requires more advanced setup). More commonly, device data confirms that your audience is primarily on mobile, which should inform how your landing page is designed.
Referrer
The referrer header — which tells you where the user came from — is unreliable for QR scans. QR codes are typically scanned from camera apps, which don't pass a referrer. Treat referrer data as unavailable for QR use cases.
What You Cannot Track
Identity. QR codes are anonymous. You don't know who scanned unless the user provides that information voluntarily on the landing page (form fill, login, etc.).
Post-scan behavior. The redirect server logs the scan, but what happens after the redirect is not tracked by the QR service. If you want to know whether someone who scanned your QR code eventually made a purchase, you need to tie the QR traffic to your website analytics separately.
Offline context. You know when and where the scan happened (approximately), but not which specific physical object triggered the scan unless you use a separate code for each material.
Setting Up Tracking Properly
One Code Per Placement
The most important setup decision: use separate QR codes for different placements, even if they all link to the same destination.
If you use the same QR code on your table cards, your window sign, and your business cards, all those scans get lumped together. You can't tell which placement is working.
Use one code for each distinct placement. Route them all to the same destination if you want — the analytics will be separate by code, which lets you compare performance.
Consistent Naming
Name your codes in a way that's self-documenting. "Table card — downtown location," "Window sign — downtown location," "Business card — 2026 refresh." When you're looking at analytics in six months, you'll know exactly what each code represents.
Set Baseline First
Before running a campaign, establish a baseline. If your table card QR code normally gets 50 scans per week, you need to know that before you can measure the lift from a new promotion.
Give any new code at least two weeks before drawing conclusions. Scan counts vary; weekly averages are more reliable than single-day observations.
Track Against Real-World Events
Keep a log of when significant events happen: you printed new materials, you ran a promotion, you changed the destination URL, you added a new placement. Cross-reference those events against your scan timeline. The correlations tell you what's working.
Reading Your Analytics
Scan Volume Over Time
Plot it over time. The shape of the curve tells you a lot:
- Flat line: Code is up but nobody's scanning. Check placement — is it visible? Is the code too small? Is the destination worth scanning for?
- Steady growth: Good. Something is working.
- Spike then drop: A specific event drove traffic. What was it?
- Sudden drop to zero: Something broke. Did your destination URL change? Did the print material get taken down?
Time-of-Day Distribution
If your restaurant QR codes peak at 12–1 PM and 6–8 PM, that's lunchtime and dinner. That confirms the codes are being used at dining time, which is expected.
If a retail window QR code peaks on weekends, that's weekend foot traffic driving engagement.
Time-of-day patterns help you understand context — when your audience is encountering your code and scanning it. That context is useful for timing any content changes or promotions you run through the same code.
Geographic Distribution
For businesses with a single location, you expect most scans to come from your city. If you see a lot of scans from a different city, your material got distributed — or photographed and shared — somewhere you didn't expect.
For businesses with multiple locations, compare scan counts per location code. This is direct evidence of which location has more customer engagement with your physical materials.
Device Breakdown
The iOS vs. Android split mirrors your broader customer demographics in a rough way. More useful: if you see significant desktop traffic on a code that's only on printed materials, people are probably typing the URL manually. The QR code isn't being used as intended.
Using QR Data With Website Analytics
QR scan data tells you how many people scanned and a little about who they were. It doesn't tell you what they did after landing on your page.
To bridge that gap, append UTM parameters to your destination URLs:
https://yoursite.com/menu?utm_source=qr&utm_medium=print&utm_campaign=table-cards-2026
When you use UTM-tagged URLs as your QR destination, your website analytics (Google Analytics, Plausible, whatever you use) will show this traffic as a distinct campaign. You can then track:
- Bounce rate for QR-sourced traffic
- Pages viewed after the QR landing
- Conversions (order placed, form filled, appointment booked) from QR traffic
This combination — QR analytics for scan data, website analytics for post-scan behavior — gives you a complete picture of physical-to-digital conversion.
Practical Use Cases by Business Type
Restaurants
Where: Table cards, menus, takeout bags, receipt slips, window signs
What to link: Digital menu, online ordering, Google review page, specials page
What to watch: Weekly scan volume by location, peaks at meal times. If scans drop off, check whether the destination URL (your menu platform) changed.
ROI signal: If you launch a new special and update the QR destination to a specials page, scan volume is your engagement metric.
Retail
Where: Shelf tags, packaging, in-store signage, receipts, business cards
What to link: Product detail pages, loyalty program signup, return portal, care instructions
What to watch: Which product QR codes get the most scans (indicates which products customers want more information about). Geographic distribution if you have multiple stores.
ROI signal: QR-sourced traffic in your website analytics shows you which products drove digital engagement.
Service Businesses (plumbers, consultants, real estate agents, etc.)
Where: Business cards, vehicle wraps, yard signs, leave-behinds
What to link: Contact/booking page, service listing, testimonials page, before/after portfolio
What to watch: Scan volume after you distribute new materials. Spikes after a specific job (word spreads in a neighborhood, people scan the yard sign).
ROI signal: Appointment bookings from UTM-tagged QR traffic in your CRM.
Event Organizers
Where: Event programs, badges, signage, sponsor materials
What to link: Schedule, speaker bios, sponsor offers, post-event survey
What to watch: Scan volume during the event vs. day-after. Sudden peaks correspond to specific speakers or sessions being announced.
ROI signal: Post-event survey completions from QR-sourced traffic.
Common Tracking Mistakes
Using one code for everything. You can't compare placements if they all use the same code. Segment from the start.
Not establishing a baseline. If you don't know your normal weekly scan count before a campaign, you can't measure campaign lift.
Ignoring drops. A QR code that was getting daily scans dropping to zero is a signal something broke — destination URL changed, printed material taken down, or the code is no longer visible. React quickly.
Not using UTM parameters. QR analytics show you the top of the funnel. UTM parameters let you see through to conversion. Both together are more useful than either alone.
Checking analytics too frequently. Daily check-ins on a new code don't tell you much. Weekly or biweekly is the right cadence for most use cases. Give data time to accumulate before drawing conclusions.
Getting Started
Setting up QR tracking takes about five minutes:
- Create a dynamic QR code at TwoDollarQR — $20/year per code
- Set your destination URL, optionally with UTM parameters appended
- Download the QR image (PNG at 1000px or higher for print, SVG for large format)
- Place it in your design and print
- Check analytics weekly in your dashboard
The dashboard shows scan count over 30 days, location breakdown, device types, and recent scan history. It's intentionally simple — the goal is to give you the data you need without burying it in features you don't.
Quick Reference: What Each Metric Tells You
| Metric | What it measures | What to do with it |
|---|---|---|
| Scan volume over time | Total engagement trend | Compare periods; correlate with campaigns |
| Time of day | When people encounter your material | Informs content scheduling and placement context |
| City/country | Geographic reach | Confirm local targeting is working; spot unexpected distribution |
| Device type | iOS vs Android, mobile vs desktop | Inform landing page design; flag unexpected desktop traffic |
| Week-over-week delta | Growth or decline | Leading indicator of placement effectiveness |
Ready to start tracking? Create your first QR code in under two minutes.
QR code tracking for $20/year
Dynamic QR codes with scan analytics. No subscriptions that drain your wallet.
Create your first QR code →