Marketing
April 17, 2026·10 min read

How to Track QR Code Scans: A Complete Guide (2026)

Learn how to track QR code scans with dynamic codes, analytics dashboards, UTM parameters, and A/B testing. A practical guide for businesses measuring offline marketing ROI.

TL;DR

Most QR campaigns fail at ROI because scans are tracked in bulk instead of per asset. Use dynamic QR codes with clear naming, campaign tags, UTM parameters, and A/B testing to attribute every scan to the exact flyer, poster, or package that earned it. Then compare asset-level performance to decide where your next print budget goes.

Why Most QR Code Campaigns Fail to Show ROI

The usual mistake isn't poor design. It isn't even low scan volume. It's weak attribution.

A shop owner might know that a QR code received scans. What they often don't know is which printed asset caused them. Was it the window poster, the counter card, the takeaway menu, or the packaging insert? Without that layer, all results get lumped together.

Industry reporting summarized by Mobilocard's guide to tracking QR codes says 68% of marketers struggle with offline-to-online attribution, and print campaigns are under-measured by 40% because of those gaps. That lines up with what many local businesses run into. They can see activity, but they can't tie it back to the exact material that created it.

Aggregate data hides the real winner

A single QR code across every asset sounds simple. It also blurs the answer.

If the same code appears on a flyer, a storefront poster, and a product label, the dashboard may show scans in aggregate. That doesn't tell the business where to spend the next print budget. It only says that something worked.

Practical rule: If two materials have different jobs, they need different tracking identifiers.

That doesn't always mean different designs. It means each code or campaign tag should map to a distinct asset, location, or print run.

What small businesses actually need

Most owners don't need a giant analytics stack. They need a clean way to answer practical questions:

  • Which asset drove scans: flyer, poster, menu, table tent, or packaging
  • Which location performed better: front window versus checkout counter
  • Which campaign earned revenue: promo offer versus regular menu access
  • Which print version to keep: the code on old stock or the updated one

The difference between vague and useful QR reporting is simple. Useful reporting lets a business stop guessing and start reallocating money.

The takeaway: ROI fails when scans are tracked in bulk instead of being tied to the exact printed material that generated them.

Static vs Dynamic QR Codes: The Key to Tracking

A QR code can either behave like ink on paper or like a smart redirect. That choice decides whether tracking is possible.

A static QR code stores the final destination directly inside the pattern. Once it's printed, that's the endpoint. A dynamic QR code sends the scan through a short redirect first, which makes analytics and edits possible.

A comparison chart outlining the key differences between static and dynamic QR codes for marketing analytics.

Why dynamic wins for any serious campaign

Commercial dynamic QR tracking took off around 2015, and by 2025 QR code usage in marketing had grown 94% year-over-year, with 80 million US consumers scanning monthly, according to QR Planet's QR analytics overview. That adoption happened for a reason. Businesses finally had a way to measure offline activity instead of treating printed codes like blind links.

A dynamic code gives the business room to fix mistakes after printing. If a menu URL changes, the destination can change too. If a campaign ends, the redirect can point to a new offer without reprinting the card, label, or poster.

For anyone comparing formats, this explanation of dynamic QR codes is useful because it frames the core advantage clearly. The code on paper stays the same, while the destination and tracking logic stay flexible.

Static vs Dynamic QR Code Features

FeatureStatic QR CodeDynamic QR Code
Destination URLFixed after creationCan be updated after printing
Scan trackingNot suitable for analyticsBuilt for analytics and reporting
Campaign editsRequires reprintCan be changed without reprint
Attribution setupLimitedCan be organized by campaign or asset
Long-term useRisky if link changesBetter for ongoing campaigns

A static code still has a place for one-off, permanent information where tracking doesn't matter. A dynamic code is the only practical option when the goal is measurement, attribution, and optimization.

A static QR code is like printing a phone number on a poster. A dynamic QR code is like routing calls through a receptionist who logs where they came from before connecting them.

The takeaway: if tracking matters at all, dynamic QR codes aren't a nice-to-have. They're the starting point.

How to Create and Deploy a Trackable QR Code

The setup doesn't need to be complicated. It does need to be deliberate. Our trackable QR code guide covers the metrics and ROI measurement side in detail — here we focus on the practical setup.

According to QR Code Generator's tracking guide, dynamic QR codes work by redirecting through a trackable short URL, logging details like IP-derived geolocation, timestamp, OS, and browser, while static QR codes offer 0% tracking because the destination is embedded permanently.

A hand pressing a generate button to create a dynamic trackable QR code for marketing analytics.

A simple deployment workflow

A cafe is a good example. Instead of creating one generic menu QR code, the business should create separate dynamic codes for each use case.

  1. Choose the destination page — Send people somewhere specific. A breakfast flyer should go to the breakfast offer page, not the homepage.
  2. Name the code clearly — Use labels that make reporting readable later. Good names look like "Window Poster Spring Promo" or "Table 10 Menu."
  3. Assign a campaign or tag — This is what keeps assets organized. A restaurant might tag by location, shift, or promotion. A retailer might tag by packaging run or in-store display.
  4. Generate the dynamic code — The code should redirect through a managed short URL so the scan can be logged before the visitor reaches the page.
  5. Export the right file type — For print, SVG is usually the safest choice because it scales cleanly. PNG works well for digital placements and quick mockups.

Deployment mistakes that cause messy data

Many businesses make the code first and think about structure later. That creates dashboard clutter fast.

A cleaner approach is to decide the reporting question before generating the code. If the business wants to compare table tents against wall signage, those assets need separate identifiers from the start. Otherwise, the campaign ends with a scan total and no useful answer.

  • Don't reuse one code everywhere: that hides asset-level performance
  • Don't use vague names: "promo-final-new" becomes useless within weeks
  • Don't skip testing: scan the printed proof before full production
  • Don't send every scan to the homepage: specific pages convert better because they match the user's context

What to print where

Different materials need different file handling.

MaterialBetter export choiceWhy
Menus and packagingSVGSharp at any size
Posters and flyersSVGBetter for commercial print scaling
Social graphicsPNGFast and easy for screen use
Internal mockupsPNGConvenient for reviews and approvals

The best QR setup starts before printing. Naming, tagging, and destination planning are what make later reporting usable.

The takeaway: create each dynamic QR code around a reporting question, not just a destination link.

Configuring Your QR Code Analytics Dashboard

A dashboard can either help a business make decisions or bury it in vanity metrics. The difference comes down to which numbers get attention.

The first pair to understand is total scans versus unique scans. Total scans include every scan, even repeats. Unique scans aim to count first-time scanners within the platform's identification window. Both matter, but they answer different questions.

A hand-drawn style dashboard showing analytical data metrics including total scans, unique scans, and scan distribution charts.

The metrics worth watching first

For a small business, the most useful dashboard view is often the simplest:

  • Unique scans: best for comparing how many people each asset reached
  • Total scans: helpful for spotting repeat engagement
  • Time of scan: useful for staffing, promo timing, and event windows
  • Location data: shows where scans cluster geographically
  • Device and browser data: helps catch landing page issues on mobile

A menu QR code with high total scans but modest unique scans may suggest repeat use by existing customers. A flyer with stronger unique scans may be doing a better job bringing in fresh interest.

How to structure assets for attribution

Many dashboards falter because if codes aren't grouped by campaign, location, or asset type, the numbers become hard to compare.

A cleaner structure might look like this:

CategoryExample tag
Asset typeflyer, poster, menu, packaging
Locationfront-window, counter, patio, table-10
Campaignspring-launch, lunch-promo, holiday-offer

That naming structure turns raw scans into something a business can act on.

Privacy matters too. Platforms that hash IPs can still provide useful location-level reporting without storing raw addresses. Businesses that want a privacy-first approach can review Scanely's privacy model for an example of how hashed analytics are handled.

A dashboard should answer business questions, not simply display activity.

The takeaway: the right dashboard setup turns scan counts into decisions about asset, location, timing, and user behavior.

Advanced QR Tracking with UTMs and A/B Testing

Basic scan reporting tells a business that someone scanned. It doesn't tell the full story after the click.

That second layer comes from UTM parameters and A/B testing. UTMs help analytics platforms classify traffic properly. A/B testing helps compare destinations to find which one drives better outcomes.

A hand-drawn illustration showing a QR code branching into two separate paths with distinct UTM tracking tags.

A practical UTM setup

Supercode's guide to QR code tracking notes that integrating dynamic QR codes with UTM parameters and Google Analytics 4 can prevent 30-50% of scan traffic from being misclassified as direct. That matters because direct traffic is where offline performance often disappears.

A simple tagged destination might look like this in concept:

  • utm_source = flyer
  • utm_medium = qr
  • utm_campaign = spring_menu
  • utm_content = table_10

Those tags let a business separate scans by printed source inside GA4. The key is consistency. If one poster uses "qr" and another uses "QRCode," reports get messy fast.

Where UTMs help most

UTMs are especially useful when multiple physical assets send people to the same website.

A retailer can send packaging, shelf wobblers, and receipt inserts to one product page while still identifying which printed asset started the session. Amazon sellers can apply the same approach with a trackable QR code for Amazon on product inserts and packaging. A restaurant can send all menu codes to one ordering flow but separate source data by room, table area, or promo type.

A/B testing one code against two destinations

A/B testing is where optimization starts. The same source explains that A/B testing destinations via QR codes consistently yields a 10-40% uplift in conversions by identifying the stronger landing page.

That can be as simple as testing:

  • Version A: a menu page with a discount banner
  • Version B: a menu page with a featured item and no discount

Or for retail:

TestDestination ideaWhat it reveals
Packaging QRProduct page vs bundle pageWhich path drives stronger purchase intent
Event posterRegistration page vs speaker pageWhether urgency or information wins
Cafe flyerPromo landing page vs online menuWhich action feels easier to complete

Field note: If the business can't change the printed code later, testing opportunities disappear. That's another reason dynamic routing matters.

The takeaway: UTMs show what happened after the scan, and A/B testing shows which destination deserves more of the next campaign's traffic.

How to Interpret Scan Data and Calculate ROI

Data becomes useful when it changes a budget decision.

ViralQR's tracking best practices states that QR code scan rates average 10% from distributed materials, such as 100 scans from 1,000 flyers. The same source says businesses can track post-scan revenue in Google Analytics via UTMs, including $2.50 average per scan in retail, and prevent 40% of data loss from untracked direct traffic.

Turning scan numbers into business decisions

A retailer doesn't need to celebrate every scan equally. If packaging inserts generate scans but shelf signage drives more revenue per scan, the signage may deserve the larger print run.

A restaurant can compare table tags, menu inserts, and window decals in the same way. One asset may create more scans, while another creates stronger order intent. Those aren't the same thing.

A simple ROI formula

Use this basic calculation:

ROI = (Revenue from QR-driven conversions - Campaign cost) / Campaign cost

If a business distributes 1,000 flyers and gets 100 scans, that's a 10% scan rate based on the benchmark above. If those scans produce measurable revenue in analytics, the business can compare that revenue against print and design costs to decide whether to repeat the campaign.

The more useful comparison is often asset versus asset, not campaign versus nothing. Flyer A may look fine in aggregate, but Poster B may produce better economics.

For businesses that want to keep long-term assets active without losing historical value, Scanely lifetime access options are relevant because print materials often outlive a short promotion.

  • Restaurant example: compare menu scans by table area to spot where promo placement works best
  • Retail example: compare packaging QR performance against in-store signage
  • Event example: compare poster scans against badge or ticket scans to see where attendee intent is strongest

The takeaway: a QR code campaign proves ROI when scan data is connected to revenue and compared at the asset level, not just rolled up into one total.


A practical QR strategy doesn't end at generating a code. It starts paying off when each printed asset has clear attribution, clean analytics, and a destination that can be improved over time. For businesses that want that kind of control without rebuilding their print workflow, Scanely is built for dynamic QR creation, scan analytics, campaign tagging, A/B testing, and print-ready exports that make offline ROI easier to measure.

Ready to track your QR codes?

Start free — no credit card required.

Get Started Free