Guide

How dynamic QR codes work

The short version: a dynamic QR code encodes a short link you control instead of the final destination. That one extra hop is the entire reason dynamic codes are editable, trackable, and worth the money for anything you'll print more than once.

Anatomy of a dynamic QR code

A static QR code contains the destination directly. Scan it and your phone reads, say, https://example.com/menu straight out of the black-and-white pattern.

A dynamic QR code contains a short link on the generator's domain — for QR Lift it looks like qrlift.codes/q/abc123. The final destination is stored in a database keyed by that short code. Change the row, and every future scan lands somewhere new — without touching the printed pattern.

What happens on scan

  1. The camera reads the short URL out of the pattern.
  2. The phone opens that URL in its browser.
  3. QR Lift's server looks up the code, records a scan row (timestamp, country, device, browser), and returns a 302 redirect to the current destination.
  4. The browser follows the redirect to the real page.

The whole sequence takes ~100 ms. The user sees a normal link open; the redirect is invisible.

Why 302 and not 301? A 301 tells browsers and Google to cache the final URL and skip the redirect next time — which kills tracking. 302 keeps every scan flowing through the analytics pipeline.

Editing the destination

Because the destination lives in a database row (not the printed pattern), editing is instant. Log in, update the URL, save — the next scan follows the new link.

Common edits: a Beta URL becomes the production URL post-launch; a seasonal menu switches out; a campaign landing page moves domains. None of these require reprinting.

What analytics you get

Because every scan hits the server, every scan is measurable. QR Lift records:

  • Timestamp, down to the millisecond.
  • Country and city, inferred from IP (country is ~99% accurate; city is close on residential/business networks, less so on cellular).
  • Device type — mobile, tablet, desktop — and OS.
  • Browser and version. In-app scans reveal the source app (Instagram, TikTok).
  • Repeat-scan flag.

What you don't get: identity, exact GPS, or anything that happens after the redirect. For post-scan behaviour, pair the code with UTM parameters on the destination and read them in Google Analytics — the full playbook is in how to track QR code scans.

Dynamic vs static — when to pick which

SituationBest choice
Printing 100+ physical itemsDynamic
Need to measure scansDynamic
Destination might changeDynamic
Route by device/country/timeDynamic
WiFi credentials (no internet)Static
vCard on a business cardStatic
One-off event, no measurementStatic
Signage where a third-party dependency is unacceptableStatic

Rule of thumb: if it's going on more than a hundred physical items, or you'd ever ask "how's it performing?" — dynamic.

Trade-offs of the dynamic model

Dynamic isn't free of downsides. Being honest about them:

  • Requires internet at scan time. The short link has to reach the server. Not a problem outside of remote signage.
  • Depends on the generator staying online. Pick a tool that offers data export (and, on higher tiers, a custom short domain) so you're not locked in.
  • Adds ~100 ms of latency. Imperceptible in practice.
  • Costs money. Static codes are free forever; dynamic ones are why generators have paid plans.

Getting started

The fastest way to see this in action is to make one. QR Lift's free plan includes three dynamic codes with full per-scan analytics — no credit card, no watermark, and codes never expire.