Dynamic vs static QR codes: which one to use, and why it almost always matters

Static QR codes encode the destination directly. Dynamic QR codes redirect through a tracker you control. The difference is marketing data versus none.

Trakl Team4 min read
On this page+

A printed QR code looks the same whether the redirect happens at the camera or at a server. To the eye, both are squares. The difference is what happens after the scan, and it is the difference between marketing data and no data.

Here is the breakdown.

What each one actually is

Static QR. The destination URL is baked directly into the printed pattern. Scan it, the camera reads https://yoursite.com/landing-page, the browser opens that URL. Nothing in the middle.

Dynamic QR. The pattern encodes a redirector URL like acme.co/q2. Scan it, the camera reads the redirector URL. The browser opens the redirector. The redirector logs the scan and forwards the visitor to your real destination URL.

The middle step is what makes dynamic QR worth using.

What the middle step gives you

Three things, in order of how much they matter:

  1. Scan tracking. Every scan is logged at the redirector with timestamp, country, device, and (where available) referrer. Your destination's analytics never knew the scan happened. The redirector's analytics tell you exactly when, where, and how many.

  2. Editable destination. The redirector's destination URL can change at any time. The printed code keeps working. Your campaign URL moved? Update the destination, the QR keeps redirecting to the right place. The poster you printed six months ago does not become trash.

  3. UTM swap-in without reprinting. A dynamic QR can carry UTMs that you change later. Useful for retargeting, A/B testing, or pivoting attribution mid-campaign. A static QR's UTMs are baked in forever.

A static QR has none of these. The only thing it has is a slightly faster scan-to-load time, since there is no extra hop. The savings are roughly 30 to 100 milliseconds, which is invisible to humans on every connection that is not actively breaking.

When a static QR is actually defensible

Three cases, all narrow:

1. Offline-only kiosks where reliability is the only goal. A QR on a museum exhibit that points at a content URL the museum hosts, and the museum will shut down the kiosk before they ever change the URL. No tracking is needed; the link just has to work for ten years.

2. Print runs of millions where every scan is identical. A consumer product packaging insert that goes out in 5 million units, all pointing at the same registration page, and the registration page is permanent. The cost of operating a redirector for the lifetime of the product is non-trivial; the static QR has zero ongoing cost.

3. Privacy-sensitive contexts where any logging is unacceptable. Some healthcare, government, or legal applications require zero analytics. A static QR is the simplest way to guarantee no scan data is collected.

If your campaign is none of these, dynamic QR is the right answer. Marketing campaigns are roughly never any of these.

What dynamic QR looks like in practice

The setup:

  1. Your shortener gives you a redirector URL like acme.co/q2.
  2. The redirector points at your destination URL, which has UTMs: https://yoursite.com/q2?utm_source=qr&utm_medium=offline&utm_campaign=q2-launch&utm_content=poster-v1.
  3. You generate a QR that encodes acme.co/q2. Print it.
  4. Visitor scans, camera opens acme.co/q2, redirector logs the scan, redirector forwards to the destination URL with UTMs intact.

GA4 sees a session with utm_source=qr, utm_medium=offline, utm_campaign=q2-launch. Your shortener dashboard sees a scan event with country, device, time. Both data sources are populated.

Three details that matter

1. The encoded URL stays short. A QR code's pixel pattern gets denser as the encoded URL gets longer. Long URLs require more error correction, which means smaller modules, which means worse scan reliability at distance. Encoding the redirector URL (acme.co/q2) instead of the long destination URL (https://yoursite.com/q2?utm_source=...) keeps the QR sparse and reliable.

2. The redirector domain matters for trust. A QR that resolves to bit.ly/x9 after scan is fine on iOS. On Android the URL is shown briefly before the browser opens. Some users notice. A branded redirector domain (acme.co/q2) reads better in that brief moment. The piece on branded short links covers the broader case.

3. The redirect status code should be 302. Dynamic QR redirectors should use a 302 (temporary redirect) so the browser does not cache the destination forever. If the redirector ever needs to repoint, the cached 301 from a previous visit would never see the new destination. 302 makes the campaign editable for repeat scanners as well as new ones.

The data you should look at

A scan record from a dynamic QR gives you:

  • Total scans, scans per day, scans per hour. Useful for placement effectiveness and time-of-day patterns.
  • Country and approximate region. Useful for retail and out-of-home campaigns where placement geography matters.
  • Mobile OS class. iOS vs Android. Useful for app-install campaigns where deep-linking behavior differs.
  • Time-of-day distribution. Useful for retail, event, and transit campaigns.

What you do not get from a scan record:

  • Who. A scan is anonymous unless you tie it to a CRM identifier on landing.
  • Whether they completed the action. Scan = top of funnel. The conversion rate downstream is the actual marketing metric.

For the broader case on what scan data does and does not tell you, the QR codes pillar guide covers the read.

Cost comparison

A free QR generator gives you static QR codes. The cost is zero, the limitation is total. You get nothing back about the campaign.

A dynamic QR requires a redirector. The redirector is part of the link shortener service you use. Trakl includes dynamic trackable QR on every paid tier starting at $9 per month, with branded design (logo upload, colors, error correction picker) included. Bitly, Rebrandly, Short.io, and Dub all include dynamic QR on their paid tiers.

For a campaign that prints any meaningful volume of QR-bearing materials, the upgrade from static to dynamic pays for itself in the first month with attribution data alone.

What to ask before you generate the code

Three questions:

  1. Does the campaign brief require attribution? If yes, dynamic. If no, the brief is incomplete; ask the campaign owner.
  2. Will the destination ever change during the printed material's lifespan? Even a "no" is often actually a "maybe" once the campaign launches and the team learns. Default to dynamic.
  3. Are scans being tracked anywhere else? If your only tracking surface is GA4, and the visitor lands without UTMs, the data is gone. Dynamic with UTMs in the destination is the only way to keep the channel attribution.

For any marketing campaign, the answer is dynamic QR. The piece on trackable QR for print marketing covers the placement and UTM combinations for events, retail, packaging, and out-of-home.

Frequently filed

Common questions.

Q.01Can a static QR code be tracked?+

No. A static QR encodes the destination URL directly inside the printed pattern. Scanning it sends the visitor to that URL with no intermediary, which means there is nothing to log a scan against. The visit shows up in your destination's analytics as a regular pageview with no source attribution.

Q.02Can a static QR code be edited after print?+

No. The encoded URL is baked into the pattern. Changing it requires regenerating and reprinting the code. A dynamic QR points at a redirector you control; you can change the redirector's destination without touching the printed code.

Q.03Are dynamic QR codes more expensive?+

They require a service that runs the redirector, which is typically the same service that runs your link shortener. Trakl includes dynamic trackable QR on every paid tier starting at $9 per month. Static QR codes can be generated free from any QR generator.

TT

By the byline

Trakl Team

Editorial team

We build Trakl, a link shortener and UTM tracker for marketing teams. We write here from the cleanup work, support tickets, and campaign reviews that fill the rest of our week. Specifics over slogans, and we cite the source.

Photo: Logan Voss on Unsplash