Every QR code is a way of writing a short piece of text in squares. What separates a dynamic QR code from an ordinary one is not the pattern — it is which text got written into it.
The mechanism, in one paragraph
A static QR code encodes your destination directly. Scan it and the phone reads https://example.com/spring-sale straight out of the pattern and opens it. A dynamic QR code encodes a short address belonging to a QR platform instead — something like https://your-qr-domain.com/q/8f2a1c. Scan that and the phone loads the short address, which asks a server where this code currently points, and the server issues a redirect to your real destination.
The extra hop takes a few dozen milliseconds and nobody scanning notices it. What it buys you is that the destination is now a value in a database rather than ink on cardboard.
What the indirection makes possible
Once the destination lives on a server, four things become available that are simply impossible with a static code:
- Editing after printing. Change the destination and every printed copy of that code follows, within seconds. The pattern never changes.
- Measurement. The redirect is a moment where a request passes through your infrastructure, so it can be counted. Static codes go straight from the camera to the destination and leave no trace you can see.
- Conditional routing. Because a server decides the destination at scan time, it can decide differently for different scans — by time of day, by country, by device, or by a random split for A/B testing.
- Revocation. A code can be expired or switched off. If material with a code on it goes somewhere you did not intend, you are not helpless.
A smaller, more reliable pattern
There is a practical side effect worth knowing about. QR codes get denser as the encoded text gets longer, and denser codes need to be printed larger or scanned closer to work. A long campaign URL with UTM parameters can easily run to 120 characters; the short redirect address that replaces it is usually under 40.
The result is a visibly simpler pattern with fewer, chunkier modules — which scans faster, tolerates worse printing, and survives being reproduced small on a business card or a bottle label. Dynamic codes are not only more flexible; they are usually more scannable.
Worth being deliberate about: the flip side of the redirect is a dependency. A static code works forever with no server involved. A dynamic code works as long as the service resolving it does. That is a real trade-off, and the right response is to pick a provider you expect to be around and to keep a record of what each code points to.
What gets recorded when someone scans
On a scan, a dynamic code typically records the time, the device type and browser reported by the phone, and an approximate location derived from the IP address — usually accurate to a city. It does not record who the person is, and it cannot follow them around afterwards.
That level of detail is enough to answer the questions that matter for print: which placement gets used, when scanning peaks, and whether the audience is on iOS or Android. If you want to know what happened after the redirect, that is your website analytics’ job — pass UTM parameters through the destination and the two datasets join up. There is a fuller walkthrough in how to track QR code scans.
When a static code is still the right answer
Static is the better choice when there is no network at the point of scanning, when the encoded data is the payload rather than a link — a Wi-Fi credential, a phone number, a plain block of text — or when you specifically want something that will keep working with no dependency on anyone. A Wi-Fi QR code, for instance, is inherently static: the phone needs the credentials themselves to join a network, not a link to fetch them.
For anything printed at volume and tied to a campaign, a product line, or a page that might move, dynamic is the default worth arguing against rather than the one worth arguing for.
Getting one
The practical steps are short: create the code, point it somewhere, print it, and change the destination whenever you need to. If you want to see the mechanics rather than read about them, the dynamic QR code generator creates a working code in under a minute, and static vs dynamic QR codes works through the comparison in more detail.