QR codes

How to Track QR Code Scans Step by Step

Learn exactly how to track QR code scans — from choosing a dynamic QR tool to reading scan data, fixing drop-offs, and proving ROI on every campaign.

The fewly teamJune 27, 2026 12 min read
How to Track QR Code Scans Step by Step

How to Track QR Code Scans Step by Step

To track QR code scans, you need a dynamic QR code tied to a trackable short link — not a static QR code printed directly with a URL. Every time someone scans, the platform records the timestamp, location, device type, and referral source, giving you actionable data rather than a black hole. This guide walks through the entire process from setup to analysis so you can measure real-world engagement with precision.


A smartphone scanning a QR code on a printed card, with a analytics dashboard visible in the background

Why Tracking QR Code Scans Matters

QR codes appear on product packaging, restaurant menus, conference badges, billboard ads, and direct mail — placements where traditional web analytics can not attribute traffic accurately. Without tracking, you are flying blind: you know the QR code exists, but not whether anyone scans it, where they scan it, or whether they convert.

When you track QR code scans properly, you can answer questions like:

  • Which physical location generates the most scans?
  • What time of day do people engage with your QR campaign?
  • Are mobile users landing on a mobile-optimised page?
  • Is the print campaign outperforming the digital campaign?

That data directly informs budget decisions, creative direction, and distribution strategy.


Static vs. Dynamic QR Codes: The Core Distinction

Before you can track anything, you need to understand why static QR codes cannot be tracked.

Static QR codes

A static QR code encodes a URL directly into the pattern of black and white squares. Once printed, it is fixed forever. There is no intermediary server to log a visit, so zero data is collected. If you want to change the destination, you must reprint the code.

Dynamic QR codes

A dynamic QR code encodes a short redirect URL (like go.fewly.tech/xyz). When someone scans it, their device fetches that short URL, the server logs the event and collects metadata, then redirects them to the destination in milliseconds. You can also change the destination without reprinting.

For any campaign where measurement matters, dynamic QR codes are the only viable choice. The tracking happens at the redirect layer, which is why a good QR code generator is inseparable from a link analytics platform.


Step 1: Choose a Platform That Supports QR Scan Tracking

Not all QR code generators offer scan analytics. Many free tools generate static codes or provide only basic total-scan counts. Look for a platform that offers:

  • Dynamic QR codes tied to editable short links
  • Per-scan event logging (not just aggregate totals)
  • Geographic data — country, region, city
  • Device and OS breakdown — iOS vs. Android, mobile vs. desktop
  • Time-series data — scans by hour, day, or month
  • Custom branded domains — so the short link in the QR code matches your brand

fewly's QR code generator creates dynamic codes backed by the same infrastructure as its link analytics platform, so every scan logs full metadata automatically. You get real-time dashboards without any third-party integrations.


The cleanest workflow is to create the short link before generating the QR code, because the QR code simply encodes that link.

  1. Log in to your link management dashboard.
  2. Paste your destination URL — the page you want the scanner to land on.
  3. Customise the short link slug if needed (e.g., go.fewly.tech/summer-sale).
  4. Enable UTM parameters if you want the traffic to appear correctly segmented in Google Analytics alongside your QR data.
  5. Save the link. The short URL is now live and logging.

A note on UTM parameters: Adding UTM tags (source, medium, campaign) to the destination URL means that when someone scans your QR code and lands on your site, Google Analytics also attributes that session correctly. A typical setup might look like: ?utm_source=print&utm_medium=qr&utm_campaign=summer-brochure. The QR analytics platform tracks the scan; GA tracks the on-site session. Both layers together give you the full funnel picture.


Once your trackable short link exists, generating the QR code is straightforward.

  1. In your platform, navigate to the QR code generator tool.
  2. Input your short link as the QR code destination. Do not paste the long destination URL here — that would create a static code.
  3. Choose the QR code format. Most platforms offer: - Standard black-and-white - Custom colours matching your brand palette - Logo overlay (your brand mark centred in the code) - Rounded or square module styles
  4. Download in the correct format: - SVG — for print materials (infinitely scalable) - PNG at 300 dpi or higher — for print if SVG is not available - PNG at 72-150 dpi — for digital use only
  5. Test the QR code by scanning it with at least two different devices (iOS and Android) before distributing.

A common mistake is downloading a low-resolution PNG for a poster or billboard, resulting in a blurry, unscannable code. Always use SVG for print.


Step 4: Deploy Your QR Code Across Channels

Tracking becomes meaningful only when you isolate variables. The best practice is to create a separate short link — and therefore a separate QR code — for each placement. That way the analytics break down naturally by channel.

Placement Short link What the data tells you
Print brochure go.fewly.tech/brochure-q3 Engagement rate of printed material
Restaurant table tent go.fewly.tech/menu-scan Table-level or venue-level engagement
Email footer go.fewly.tech/email-sig Email audience vs. print audience behaviour
Trade show badge go.fewly.tech/expo-24 Event-specific ROI
Product packaging go.fewly.tech/pkg-launch Post-purchase engagement

Even a small naming convention like this transforms your analytics from one lumped data set into a channel comparison matrix.


Step 5: Read and Interpret Your QR Scan Analytics Dashboard

This is where the real work begins. Once your codes are live and scans accumulate, open your analytics dashboard and look for the following data points.

Total scans over time

The headline figure. Look for trends: a spike on launch day is normal, but sustained scan activity indicates strong placement or ongoing campaign relevance. A flat line after day one suggests the code is buried or the placement is wrong.

Unique scans vs. total scans

Total scans count every event. Unique scans filter to one scan per device (identified by a combination of IP and user agent). A high ratio of total-to-unique scans on a physical placement (say, a restaurant menu) is expected — returning customers scan repeatedly. On a one-time direct mail piece, a high ratio could indicate a single household scanning multiple times, which is worth noting but rarely alarming.

Geographic distribution

If your campaign targets a specific region, geographic data is your first verification that the code reached the right audience. In a national campaign with multiple regional codes, geographic data validates distribution. Industry studies suggest location data is one of the top three metrics marketers examine in QR campaign reports.

Device and OS breakdown

The device split directly affects conversion rate. If 90% of your scanners are on mobile but your landing page is not optimised for mobile, that is an immediate fix. The OS breakdown also informs you whether your app deep-link (if you use one as the destination) is routing correctly to the App Store vs. Google Play.

Scan time distribution

Hourly and day-of-week breakdowns reveal when your audience engages. A restaurant QR code that peaks at 12:30 pm and 7:00 pm aligns with meal times — confirming it is being used as intended. A conference badge code that spikes on day two of a three-day event suggests day-one networking is driving day-two scans.


Step 6: Set Up Conversion Tracking Beyond the Scan

A scan is a micro-conversion — the person showed intent. The macro-conversion is what happens next: a sign-up, a purchase, a video view, a form submission. Closing this loop requires one additional step.

Option A: UTM-based attribution in Google Analytics

If you appended UTM parameters to your destination URL in Step 2, Google Analytics will show sessions tagged with your QR campaign. Navigate to Acquisition > Traffic Acquisition, filter by source/medium matching your UTM setup, and you can track goal completions or e-commerce revenue attributed to those sessions.

Option B: Pixel-based retargeting

Some link management platforms allow you to fire a retargeting pixel (Meta, Google Ads) when someone lands on the redirect URL. This lets you build a custom audience of "people who scanned QR code X" and serve them follow-up ads — a powerful re-engagement layer for physical campaigns.

Option C: Unique landing pages

The simplest approach: send each QR code to a unique landing page URL. Any session on /landing-summer-brochure came exclusively from that QR code. No UTMs required, no pixel setup — just page-level analytics in whatever tool you already use.


Step 7: Optimise Based on Data

Tracking without action is a reporting exercise, not an optimisation loop. Here is how to act on what you find.

Low scan rate on a physical placement: The code may be too small, poorly positioned, or competing with visual clutter. Industry guidance from Google's QR code usage documentation and UX researchers consistently recommends a minimum print size of 2 cm × 2 cm, high contrast backgrounds, and a clear call-to-action adjacent to the code ("Scan for 20% off").

High scan rate, low conversion: The destination page is the problem, not the QR code. The landing page may be slow to load, not mobile-optimised, or mismatched with the expectation set by the physical material. Run A/B tests on the landing page while keeping the QR code unchanged — because with dynamic codes, you can swap the destination URL without reprinting.

Geographic mismatch: Scans coming from outside your target region suggest the code appeared in unintended channels (social media photos of the print piece, for example). This is not necessarily bad — it may reveal organic amplification worth leveraging.

Drop-off after a campaign ends: If you want to sunset a campaign but the code is still in circulation (on packaging, in magazines), update the destination to a relevant evergreen page rather than letting scanners hit a 404.


Common Mistakes When Trying to Track QR Code Scans

  • Using a static QR code generator: If the tool does not require an account or offer a dashboard, it is almost certainly static.
  • One QR code for all placements: You lose the ability to compare channels.
  • No mobile-optimised destination: Renders most of your scan traffic into bounces.
  • Low-resolution download for print: Creates unscannable codes and wasted print budget.
  • No test scan before launch: A single broken link in 10,000 printed brochures is an expensive mistake.
  • Ignoring scan data after launch: Tracking is only useful if someone reads and acts on the reports.

QR Scan Tracking for Specific Use Cases

Retail and product packaging

Use individual short links per SKU or product line. Geographic data tells you which markets engage with which products post-purchase. You can use scan data to time re-engagement campaigns: if most scans happen within 48 hours of purchase, a follow-up email at 72 hours complements the QR journey.

Events and conferences

Create one code per session, booth, or speaker. Scan density by time slot tells you which sessions drove the most mobile engagement. Badge QR codes linked to speaker LinkedIn profiles can be tracked to understand networking patterns.

Restaurant and hospitality

Table-specific QR codes reveal which tables have the highest engagement with the digital menu. Pair scan data with POS data to see whether high-scan tables have higher average order values.

Out-of-home advertising

Billboards and transit ads are historically impossible to attribute. A QR code with a unique short link changes that. Scan volume by hour correlates with commuter traffic patterns, validating (or refuting) the media buy.


Frequently Asked Questions

Can I track QR code scans without a third-party analytics tool?

Yes — if you use a platform like fewly that has built-in scan analytics, all the tracking happens natively in your dashboard. You do not need Google Analytics or any other external tool, though adding UTM parameters lets you connect scan data to on-site conversion data if you want the full funnel in one place.

Do I need to reprint QR codes when I change the destination URL?

No — this is one of the main advantages of dynamic QR codes. The printed QR code encodes a short redirect link, not the final URL. You update the destination in your dashboard and the change takes effect immediately for all future scans without touching the physical material.

How can I tell if someone scanned my QR code vs. typed the URL manually?

If you use a dedicated short link exclusively for the QR code (not shared in any email, social post, or other channel), then all traffic to that link came from a scan. For belt-and-suspenders confirmation, QR code scanners typically identify themselves via user agent strings on mobile browsers, which your link analytics platform can surface in the device breakdown.

What is a good QR code scan rate for a print campaign?

Scan rates vary widely by industry, placement quality, and incentive strength. Industry studies suggest that QR codes with a clear, compelling call-to-action ("Scan to claim your discount") significantly outperform codes placed without context. Rather than benchmarking against an industry average, compare your own campaigns over time — channel-to-channel and period-to-period — to build a relevant baseline.

Can I use QR code scan tracking for offline-to-online attribution?

Yes, and this is one of the strongest use cases. A unique QR code on a print ad, mailer, or product insert acts as the attribution bridge. When a user scans and converts, you can attribute that conversion to the physical touchpoint with much greater confidence than traditional methods like promo codes or vanity URLs — because you also have timestamp, location, and device data alongside the scan event.


Start Tracking Your QR Code Scans Today

Every untracked QR code is a missed opportunity to understand your audience. The setup takes minutes: create a trackable short link, generate a dynamic QR code from it, deploy it to your material, and watch the data populate in real time.

Start free on fewly — create your first dynamic QR code, get full scan analytics, and connect physical campaigns to measurable results without any technical setup.

Share

Put these tips to work

Create a free fewly account and start shortening, branding, and tracking your links.