You've deployed QR codes across your marketing materials. People are scanning. But how do you know if those scans are actually driving business results?
Tracking QR code scans is just the first step. The real value comes from measuring what happens after the scan and connecting it to revenue. Here's how to set up comprehensive QR code tracking from scan to ROI.
Setting Up Scan Tracking
Use Dynamic QR Codes
This is non-negotiable. Static QR codes have zero tracking capability. Dynamic QR codes route through a redirect service that captures scan data automatically.
With QR Advanced, every dynamic QR code tracks:
- Total and unique scan counts
- Timestamp of each scan
- Geographic location (city and country)
- Device type and operating system
- Referrer and browser information
This data starts flowing the moment someone scans your code. No additional setup required.
Organize Codes into Campaigns
Before deploying, group your QR codes into campaigns. This structure lets you:
- See aggregate scan data across a campaign
- Compare performance between different placements
- Generate campaign-level reports
A campaign called "Q1 Direct Mail" with 5 QR codes (one per audience segment) gives you both segment-level and campaign-level insights. For a full walkthrough of campaign organization, see our complete campaign management guide.
Tag Your Codes
Add descriptive tags to each QR code for filtering and reporting:
- Channel:
print,display,packaging,event - Location:
downtown,mall,airport - Audience:
segment-a,new-customers,loyalty
Tags make it easy to slice data across different dimensions later.
Setting Up Conversion Tracking
Scan tracking tells you engagement. Conversion tracking tells you impact.
Define Your Conversion Goals
A conversion is the valuable action you want users to take after scanning. Common QR code conversions:
- Form submission - signing up, requesting a demo, joining a waitlist
- Purchase - completing an online transaction
- App install - downloading your mobile app
- Page visit - reaching a specific page (e.g., pricing, product detail)
- Phone call - calling a tracked phone number
- In-store visit - showing up at a physical location
Implement Event Tracking
On your destination pages, set up events for each conversion goal. You can use:
Google Analytics events:
gtag('event', 'form_submit', {
'event_category': 'qr_campaign',
'event_label': 'spring-sale-flyer'
});QR Advanced conversion goals: QR Advanced lets you define conversion goals directly in the analytics dashboard. Set a target URL or event, and the system automatically tracks when scanned users complete the action.
UTM parameters: Append UTM parameters to your QR code destination URLs for consistent tracking across your analytics stack:
utm_source=qrutm_medium=printutm_campaign=spring-saleutm_content=flyer-downtown
Connect Your Funnel
Map the complete user journey from scan to conversion:
- Scan (tracked by QR platform)
- Page load (tracked by web analytics)
- Engagement (tracked by event tracking)
- Conversion (tracked by conversion goals)
Each step has a drop-off rate. Understanding where users leave helps you optimize. For broader context on bridging the offline-to-online gap, read How QR Codes Bridge Offline and Online Marketing.
Building Your QR Code Dashboard
Essential Widgets
Set up a monitoring dashboard with:
- Scan volume over time - line chart showing daily/weekly scans
- Top performing codes - ranked list by scan count
- Geographic heat map - where scans are happening
- Device breakdown - pie chart of iOS vs. Android vs. Other
- Conversion funnel - scans to page views to conversions
- Campaign comparison - side-by-side performance of campaigns
Review Cadence
- Daily (during active campaigns): Check scan volume for anomalies
- Weekly: Review trends, top performers, and conversion rates
- Monthly: Aggregate campaign performance and ROI calculations
- Quarterly: Strategic review of QR code program effectiveness
Calculating QR Code ROI
Gather Your Costs
Fixed costs:
- QR code platform subscription (view plans)
- Domain costs (if using custom domains)
- Design and creative costs
Variable costs per campaign:
- Print production costs (see print material best practices)
- Distribution costs
- Landing page development
Calculate Revenue Attribution
Direct attribution (easiest to measure):
- Sales that happen on the QR code destination page
- Revenue from leads generated through QR code funnels
- App installs that lead to in-app purchases
Assisted attribution (harder but important):
- Users who scanned a QR code and later purchased through another channel
- Brand awareness lift measured through surveys
- Increased store foot traffic correlated with QR campaigns
The ROI Formula
ROI = ((Revenue Attributed to QR - Total QR Campaign Cost) / Total QR Campaign Cost) x 100
Example:
- QR platform: $50/month = $600/year
- Print materials for 4 campaigns: $8,000
- Design costs: $2,000
- Total cost: $10,600
- Revenue attributed to QR scans: $47,000
- ROI: (($47,000 - $10,600) / $10,600) x 100 = 343%
Cost Per Scan and Cost Per Conversion
These metrics help you compare QR codes to other channels:
Cost per scan:
Total Campaign Cost / Total Scans
Cost per conversion:
Total Campaign Cost / Total Conversions
Compare these to your cost-per-click (CPC) and cost-per-acquisition (CPA) for digital channels. In many cases, QR code campaigns deliver lower costs because the physical placement provides ongoing impressions without per-impression costs.
Track scans and conversions from day one
Every QR code you create on QR Advanced comes with real-time analytics. See location, device, time, and conversion data in one dashboard.
Advanced Tracking Techniques
Cohort Analysis
Group users by when they first scanned and track their behavior over time. Do users who scanned during Week 1 have different conversion rates than Week 4 scanners?
Attribution Windows
Define how long after a scan you'll attribute a conversion. A 7-day window means any conversion within 7 days of a scan counts. A 30-day window captures more but risks over-attribution.
Scan-to-Sale Matching
For businesses with both online and offline sales, match scan data with point-of-sale data. A user who scans a QR code in-store and then buys in-store can be attributed if you capture a common identifier (email, phone, loyalty ID). Connect the data using webhooks and integrations.
Multi-Code Attribution
If a user scans multiple QR codes before converting, how do you attribute the conversion? Options include:
- First touch - credit the first QR code scanned
- Last touch - credit the most recent scan
- Linear - equal credit to all scans
- Time decay - more credit to recent scans
Common Tracking Mistakes
- Not using UTM parameters - makes it hard to connect QR data with web analytics
- Combining online and offline codes - use separate codes for digital and physical placements
- No conversion goals - measuring scans without conversions is only half the story
- Ignoring the landing page - a great QR strategy fails if the destination page underperforms
- Waiting too long to check - monitor early and catch issues before they waste budget
Getting Started with Tracking
If you're new to QR code tracking:
- Start with dynamic QR codes - this is the foundation
- Create one campaign with 3-5 codes across different placements
- Set up UTM parameters on each destination URL
- Define one conversion goal (start simple)
- Run for 2 weeks and review the data using your analytics dashboard
- Calculate your cost-per-scan and conversion rate
From there, expand to more campaigns, more granular tracking, and more sophisticated attribution. The data you collect in your first campaign will inform every campaign that follows. Sign up free to get started.
Related Reading:
- QR Code Analytics: How to Measure Campaign Performance - In-depth analytics guide
- The Complete Guide to QR Code Campaign Management - Organize campaigns for better tracking
- How QR Codes Bridge Offline and Online Marketing - Full omnichannel attribution framework
- Dynamic vs Static QR Codes: Which Should You Choose? - Why dynamic codes are essential for tracking
- Using Custom Domains with QR Codes to Build Brand Trust - Track branded URLs