6 min readThe Subtraq team

The flyer is at the printer. The destination can still change.

The difference between the two isn’t about the technology of the code — it’s about what you decided to engrave in it. One locks a destination into the ink; the other locks in a door. Here’s what that choice allows, what it costs, and why you make it before printing.

A QR code isn't a smart image. It's a grid that encodes text, and nothing else. A phone photographs it, decodes it, reads the character string, and does what corresponds: open an address, dial a number, add a contact.

So when people talk about a "dynamic" QR code, they're not talking about a code that moves. The grid is just as fixed as the other kind. What changes is the text that was put in it.

The only difference, in two lines

Static: you engrave the final address. https://store.com/summer-promo-2026?ref=flyer-june. The grid encodes that full string, permanently.

Dynamic: you engrave a door. example.com/flyer. The grid encodes that short address, and it's the server behind the door that decides, at each scan, where to send the person.

Everything else follows from that.

What dynamic does that static never will

What you wantStaticDynamic
Change the destination after printingimpossibleat any time
Know how many scans, and whennoevery scan is a counted click
Distinguish two printed piecesonly with two different addressesone link per medium
Fix a deleted pageyou have to reprintredirect to somewhere else
Connect a scan to a salenoyes, if the chain goes all the way

The second row is the one people underestimate. A static QR code is silent: you'll never know if it was scanned three times or three thousand. Not because the tool is missing, but because there's nothing to measure — the phone goes directly to your site, and its visit looks like any other. It will, in fact, swell the "direct" line in your report, for the reasons explained in this article.

The fifth row is the one that decides a budget. A counted scan is a touchpoint like any other: it can be tied to a sale, and therefore enter into the comparison with your other channels. A printed medium stops being a faith-based expense. That's what the dynamic QR codes page describes.

What static does better

It's worth saying, because half the articles on this topic skip it to sell a subscription.

It's free, forever. No service to pay for, no account to keep open, no provider that might shut down. The code works as long as the page exists.

It depends on nobody. A dynamic QR code relies on a redirect service. If that service disappears, all the printed codes become dead squares. That's a real dependency, which is why it should carry your domain name rather than a provider's: a domain can be recovered, a provider's address cannot. The topic is developed on short links and domains.

It works for uses that aren't web addresses: a Wi-Fi network identifier, a contact card, a phone number. There's nothing to redirect there.

Our QR code generator creates both kinds, free and without sign-up.

The detail that matters at print time: density

Here's what nobody talks about, and what actually decides real-world readability. The longer the encoded string, the more cells the grid needs to contain it. A dense code has smaller modules at the same print size, so it scans from a shorter distance, tolerates poor printing less well, and forgives reflections less.

Compare:

https://store.com/collections/summer-2026?utm_source=flyer&utm_medium=print&utm_campaign=june
example.com/summer

The first line produces a tight grid; the second produces a wide, clean grid, readable on a store window, a table tent, or the side of a van. A dynamic QR code isn't just more flexible — it's physically more readable, because what it encodes is short. And the slug stays dictable out loud for people who don't scan.

The format also provides several error correction levels, from lightest to most robust: a more fault-tolerant code occupies more cells. On a medium that will be handled, laminated, or mounted outdoors, that setting matters as much as size.

The choice, medium by medium

MediumWhat's recommendedWhy
Business carddynamicit survives a site or job change
Flyer for a dated promotiondynamicthe offer page will be taken down before the flyer
Product label, packagingdynamicprinted by the thousands, alive for years
Window display, table tentdynamicyou want to count, and the code needs to be readable from a distance
Wi-Fi network identifierstaticthere's no URL to redirect
Institutional address that will never changestaticnothing to gain by adding a dependency

The dividing line is simple: if the medium will outlive the page it points to, use dynamic. That's almost always the case.

The single-code trap

The most common mistake isn't choosing dynamic or static. It's printing the same code everywhere.

One code on the flyer, the same one on the poster, the same one on the label, the same one on the trade show banner. At the end of the quarter, you have a total scan count and no idea what produced it. Did the trade show accomplish anything? Did the flyer delivered to mailboxes justify the print run? Impossible to answer, and next year's budget will be decided on gut feeling.

The cost of separating them is zero: creating four links instead of one takes a few minutes, and each can lead to the exact same page. What changes is that each medium has its own counter.

example.com/flyer-june    → the offer page
example.com/poster-station → the same page
example.com/show-2026     → the same page

Three codes, three different grids, one destination. And the day the offer page changes, one edit updates them all — which is exactly what dynamic allows.

The same logic applies to a long-running campaign: if the poster stays up for six months and the offer changes midway, the counter keeps running on the same link and you see the effect of the destination change on the same curve. With a static code, you would have had to reprint.

Where to start, concretely

  1. One code per medium, never one code for everything. The flyer, the poster, and the label are three different links — otherwise there's nothing to compare.
  2. Serve it from your domain, not a provider's. Paper can't be corrected.
  3. Keep the encoded address short, for physical readability. Campaign parameters are added after the redirect, invisible to the grid.
  4. Test the print before the run, at real size and under real conditions: at night, behind glass, at ten feet.
  5. Set an alert on the link. A code that stops scanning should show up in a dashboard, not in a client complaint. That's what alerts are for.

Questions that come up

"Does a dynamic QR code expire?" Not with all providers, but some do — and that's the question to ask before printing ten thousand labels. A code whose redirect depends on an interrupted subscription becomes a dead square.

"Can you turn a static code into a dynamic one after the fact?" No. The address is engraved in the ink. The only option is a redirect placed on your own site, at the exact address that was printed — which is only possible if that address was already on your domain.

"Does this change anything for SEO?" No — it's an ordinary redirect, with the same rules as any short link. The article on short links and SEO details what Google does with them.

"How long after a scan does a sale count?" The same setting as for all your links: the attribution window. On a printed medium, the delay between scan and purchase is often longer than online, which makes the setting all the more important — the click lifespan article explains it.

"How do I show this to a client?" Scans appear as ordinary clicks, with their own row in the client report, next to online channels. It's often the first time a printed medium gets compared to a social campaign on the same page.


The full guide for choosing before printing rather than after is on dynamic QR codes. And to connect a scan to a collected sale, it's sales tracking.

See the method applied to real numbers

Read next

The rest of the method

7 min

We count the visits. Not the visitors.

Measuring a campaign doesn't require identifying anyone. What a tracked link actually records, and who is responsible for what under GDPR.

The monthly letter

One more article. Once a month.

What we published, what we learned building it, and the numbers we can show. No offers, no automated follow-ups.

One letter a month, written by us, with no tracking pixel inside. Your address is used for that and nothing else: it is never sold or shared. Privacy policy · Unsubscribe