Back to Blog
February 27, 20265 min readqrmarketinganalyticsutm

QR code redirects: best practices (301 vs 302, UTMs, and avoiding broken scans)

Most dynamic QR codes are redirects. Learn which redirect type to use, how to keep UTMs, avoid caching issues, and prevent broken QR destinations after printing.

QR code redirects: best practices (301 vs 302, UTMs, and avoiding broken scans)

A "dynamic QR code" is just a QR code that points to a URL you control, and that URL redirects to the real destination.

That redirect is a gift because it lets you:

  • change the destination later
  • add tracking
  • fix mistakes without reprinting

It is also a risk.

If you implement redirects poorly, you can create:

  • slow loads after scanning
  • broken destinations that you do not notice
  • tracking that lies

This post shows the redirect rules that keep dynamic QR codes reliable.

If you want the dynamic QR basics first:

  • /blog/dynamic-qr-code
  • /blog/dynamic-vs-static-qr-code

TL;DR

  • Dynamic QR codes are usually redirect links.
  • Prefer 302 while a campaign is active and you might change the destination.
  • Use 301 only when the destination is truly permanent.
  • Preserve UTM parameters for campaign measurement.
  • Avoid long redirect chains and avoid taking people through 4 tracking tools.
  • Test on iPhone and Android, with cellular, not only your office WiFi.

Why redirects matter for QR codes

A QR code scan is a high intent click.

People scan because:

  • they are in front of a menu
  • they want a discount
  • they want to leave a review
  • they want to download an app

If the redirect is slow, you lose conversion.

If the redirect breaks, you lose the whole print run.

301 vs 302 for dynamic QR codes

These are HTTP status codes that tell a browser what kind of redirect it is.

301: permanent redirect

A 301 tells browsers and crawlers that the move is permanent.

That can be useful for SEO, but for QR codes it has a downside:

  • some clients may cache it aggressively

If you later change the destination, some users might keep going to the old place.

302: temporary redirect

A 302 tells clients the move can change.

For dynamic QR codes, that is often what you want because:

  • you expect to edit the destination
  • you might run A/B tests
  • you might switch offers

Practical advice:

  • Use 302 by default for dynamic QR codes.
  • Switch to 301 only if you are confident you will not change it again.

Redirect chains: the silent conversion killer

A redirect chain looks like this:

  1. QR code short link
  2. tracking platform redirect
  3. link shortener redirect
  4. landing page redirect to add https
  5. landing page redirect to add trailing slash

That is five separate requests.

On a phone, on cellular, that can feel like forever.

How to fix it

  • keep it to one redirect if possible
  • make the final destination URL correct (https, no unnecessary hops)
  • avoid stacking multiple tracking tools

If you care about scan to page speed, read:

  • /blog/landing-page-speed-for-scans

UTMs: how to track QR scans without breaking links

If you want campaign tracking, you need UTMs.

Start here:

  • /blog/qr-code-campaign-tracking-utm

UTM best practices for QR

  • Keep the UTM tags consistent across print pieces.
  • Use a naming convention you can filter in analytics.

Example:

  • utm_source=qr
  • utm_medium=print
  • utm_campaign=spring-menu

Do not strip query parameters

A common redirect bug is dropping the query string.

If your redirect does not preserve the query parameters, your UTMs disappear.

That is how you end up thinking a print campaign did not work.

The "dynamic QR broke after printing" failure mode

This happens when:

  • the short link domain changes
  • the redirect service expires
  • someone changes the destination and does not notice it is broken

Prevention checklist

  1. Use a stable domain you control.
  2. Monitor the QR destination.
  3. Do not rely on a free link shortener for printed materials.

Testing: do not test like an engineer

Engineers test on perfect WiFi with a new iPhone.

Your customers:

  • use older phones
  • have low signal
  • scan in bright light
  • scan while walking

So test like a customer:

  • scan on iPhone and Android
  • scan with cellular
  • scan from different distances

QR redirects and analytics: what should you measure?

The core funnel is:

  • scans
  • landing page views
  • conversion

A redirect based dynamic QR can report scans, but it cannot tell you the full story without a good landing page.

Good landing page basics:

  • fast load
  • clear CTA
  • form fields that fit on mobile

If you are collecting leads, this is relevant:

  • /blog/qr-code-lead-capture-form

Make your QR code editable, trackable, and fast

QRShuffle is built for the practical use case:

  • generate dynamic QR codes
  • edit destinations anytime
  • track scans
  • keep links reliable for print

Create a dynamic QR code in minutes:

https://qrshuffle.com

QRSHUFFLE • CREATE

Create a QR code with editable links.

Print once. Update the destination later. Track scans. No reprints.

Editable

Update links without reprinting

Trackable

Scan analytics + UTMs

Fast

Built for real-world scans