Skip to content

QR code tracking

QR codes started as an industrial tool for tracking cars during manufacturing. Masahiro Hara invented them in 1994. Today they bridge offline and online marketing, letting you measure offline campaign performance with digital metrics.

How tracking works

A QR code is a machine-readable link. By itself, no analytics tool can track traffic from it. Without configured links, QR traffic shows as direct. The trick is in tracking parameters and choosing static vs dynamic codes.

Static vs dynamic

Code type defines analytics capability.

Critical difference

Static QR codes:

  • Final URL is in the code
  • Can't change after creation
  • No detailed analytics
  • Fit only simple redirects

Dynamic QR codes:

  • Use an intermediate URL for redirect
  • Final link can change after print
  • Collect detailed scan stats
  • Required for full tracking

Only dynamic codes support real-time tracking. Static codes redirect without tracking. Dynamic codes use short URLs or tracking URLs.

graph LR
    A[QR code scanned] --> B{Code type?}
    B -->|Static| C[Direct redirect]
    B -->|Dynamic| D[Tracking URL]
    D --> E[Data collection]
    E --> F[Analytics]
    F --> G[Landing page]
    C --> H[Landing page]

UTM for QR codes

UTM tags turn a scan into a data point. Detail every placement.

Basic structure

ParameterPurposeQR example
utm_sourceWhere QR is placedposter, flyer, package
utm_mediumChannel typeqr_code, offline, print
utm_campaignCampaignspring_sale_2025

Detailed tagging

Detailed UTM example

Base URL: example.com/special-offer

With UTM for QR on packaging:

example.com/special-offer?utm_source=package&utm_medium=qr_code&utm_campaign=product_launch&utm_content=box_side&utm_term=sku_12345

Analytics will show:

  • Source: product packaging
  • Channel: QR code
  • Campaign: product launch
  • Variant: box side
  • Extra: specific SKU

Key metrics

Two basics: total scans and unique scans. Total tells you raw interest. Unique tells you reach.

Performance indicators

Total scans

Absolute interest. Counts every scan, including repeats.

Unique scans

Distinct devices that scanned. Real reach.

Conversion to target action

Share of scanners completing the goal: purchase, signup, download.

Geography

Country, city, region distribution. Helps placement decisions.

Time of day

Hourly and daily activity. Surfaces peak interaction windows.

Devices and OS

iOS vs Android, browser. Drives mobile experience optimization.

Offline ROI

ROI calculation

Inputs:

  • 10,000 flyers with QR: $500
  • Design and setup: $200
  • Total: $700

After one month:

  • Scans: 850
  • Conversions: 42
  • Average order: $35
  • Revenue: $1,470

ROI = (1,470 - 700) / 700 × 100% = 110%

Practical use cases

Retail and packaging

Unique UTMs per format show which works. Adjust budget on real numbers, not guesswork.

QR on packaging covers:

  • Extra product information
  • Cross-sell and upsell
  • Post-purchase feedback
  • Loyalty programs

Packaging placement

  1. Box exterior

  2. QR for primary info

  3. utm_content=box_front

  4. Inside packaging

  5. QR for warranty registration

  6. utm_content=warranty_card

  7. On the product

  8. QR for instructions and support

  9. utm_content=product_label

Restaurants

Table QR codes drive upsell. Diners are relaxed and browsing.

graph TD
    A[Enter restaurant] --> B[QR on table]
    B --> C{Customer action}
    C -->|View menu| D[utm_content=table_menu]
    C -->|Order online| E[utm_content=table_order]
    C -->|Loyalty program| F[utm_content=table_loyalty]
    D --> G[Dish popularity analysis]
    E --> H[Average check by table]
    F --> I[Conversion to regular customers]

Events

Events offer multi-touch QR tracking opportunities.

Event QR placement matrix

PlacementUTM sourceGoal
Entry ticketsticketPre-event interest
Attendee badgesbadgeNetworking and contact exchange
Booths and bannersboothContent engagement
HandoutshandoutPost-event conversions
Speaker presentationspresentationMaterial downloads

Analytics integration

Google Analytics 4

When a visitor lands with utm_medium, utm_source, utm_campaign in the URL, GA4 attributes the session to the QR code.

Setup:

  1. Build the UTM link

Use Campaign URL Builder or write parameters manually.

  1. Generate the QR code

Convert the UTM URL with a generator that supports long URLs.

  1. Test before launch

Scan and check GA4 Realtime.

  1. Analyze

Data shows in Reports → Acquisition → Traffic Acquisition after 24-48 hours.

Custom channels for QR

If QR is core to your tracking, set up a Custom Default Channel under Property Settings → Data Settings → Channel Groups.

Channel grouping

Without it, QR traffic falls into "Unassigned" or "Direct".

Recommended channels:

  • QR Code - Print
  • QR Code - Package
  • QR Code - OOH
  • QR Code - Event

A/B testing with QR

You can vary content, products, CTAs, designs, colors, or URLs.

Creative testing

Run different versions in parallel.

utm_content=poster_emotional
utm_term=happiness_focus

CTA: "Discover the joy of shopping" Design: bright colors, smiling people

utm_content=poster_rational
utm_term=savings_focus

CTA: "Save up to 50% right now" Design: clear numbers, savings charts

utm_content=poster_urgency
utm_term=limited_time

CTA: "Only 3 days! Don't miss out" Design: timer, red accents

Placement testing

Find the best touchpoint.

graph LR
    A[QR code campaign] --> B[Placement 1: Window]
    A --> C[Placement 2: Checkout]
    A --> D[Placement 3: Package]
    B --> E[CR: 2.3%]
    C --> F[CR: 5.7%]
    D --> G[CR: 8.1%]
    G --> H[Test winner]

Limits of standard tools

Standard analytics platforms restrict QR tracking. GA limits URL length and event count. Other systems block arbitrary parameters.

Typical limits

Google Analytics:

  • UTM value length limits
  • 24-48 hour processing delay
  • Sampling on large volumes

Social networks:

  • UTM truncation in reposts
  • Proprietary tracking parameters
  • Limited raw data access

Statable approach

Statable removes typical QR tracking issues.

Flexible parameters

Arbitrary tracking parameters with no quantity or length limits. Pass detailed placement info.

Real-time without delays

Processing at scan time. Instant dashboard updates.

Intelligent attribution

Automatic source identification even with incomplete or wrong UTMs. ML recovers lost parameters.

Privacy-first QR tracking

Server-side tracking

Server-side processing helps:

  • Bypass browser blocks
  • Keep data complete
  • GDPR compliance
  • Control collection

First-party data

Focus shifts to your own data.

First-party via QR

Direct identification

  • Promo codes tied to QR
  • Bonus signup

Progressive profiling

  • Gradual data collection
  • Value exchange for info

Touchpoint unification

  • Link offline and online IDs
  • Unified customer profile

Future

US scans are projected to exceed 11 million by 2025. Tracking matters more.

AR and AI integration

Next-gen QR codes will include:

  • AR after scanning
  • AI personalization
  • Predictive behavior analytics
  • Voice interaction

Omnichannel attribution

QR becomes part of complex journeys:

graph TD
    A[TV ad with QR] --> B[Scan]
    B --> C[Site visit]
    C --> D[Email subscription]
    D --> E[Push notification]
    E --> F[In-app purchase]
    F --> G[QR on receipt for review]
    G --> H[Repeat purchase]

Proper attribution accounts for every touch, not just the last.

QR codes evolved from a link transfer method into a marketing analytics tool. Proper tracking measures offline ROI as precisely as digital. Detailed tagging, the right tools, and continuous data-driven optimization win.

About AI participation in writing articles

This article, like many others on our site, was created, written and proofread by a team of developers. Of course, not without the participation of AI assistants. We don't hide this and believe that modern systems are already quite good at handling simple tasks and, relatively speaking, writing an article about Viewport yourself is quite strange. It won't come out significantly better and will take a lot of time. But providing basic understanding to beginner webmasters is necessary. Of course, after the article is written by assistants - there's always proofreading, and this is where not one or two people participate, and only after that the article is published.


Ready to measure offline campaigns?

Sign up for a free trial of Statable. QR tracking without traditional limits. Detailed attribution, real-time data, flexible parameters.


Ready to take control of your web analytics? Try Statable free for 30 days — no credit card required, full feature access, GDPR-compliant by default. Start your free trial or view a live demo.