What is a dynamic QR code, and when do you need one?

A dynamic QR code encodes a short link you can edit after printing and count scans on. How it differs from static, what it costs in 2026, and when to skip it.

Muzahid Maruf — Founder of TrackRev.io

Muzahid MarufUpdated

Link tracking · 8 min read
On this page
  1. 01What a dynamic QR code is
  2. 02Dynamic vs static QR codes compared
  3. 03How a short link shrinks the code
  4. 04Static codes can be measured too
  5. 05What dynamic QR codes cost in October 2026
  6. 06Put the redirect on a domain you own
  7. 07When a static QR code is the better choice
  8. 08Watch for stickers over printed codes
  9. 09Dynamic QR codes in TrackRev

Explore with AI

Opens this article inside the chosen assistant with a ready-made prompt.

A dynamic QR code encodes a short web address that redirects to your real destination, so you can change where it points after printing and count each scan.

A static QR code encodes the destination itself: the pattern never changes and nothing records a scan.

Both look identical on a flyer. A typo in a static code on 10,000 flyers means reprinting all 10,000, while a dynamic code is fixed with an edit but depends on a service that stays paid and online.

Key takeaways

  • A dynamic QR code encodes a short redirect URL, so the destination can change after printing and each scan can be counted.
  • A short link keeps the grid small: at error correction level M an 87-character URL needs a 41 by 41 grid, while a 29-character short link needs 29 by 29.
  • Dynamic codes are a subscription. Uniqode deactivates them on cancellation, and Bitly's Core plan, $10 billed annually, allows 5 destination changes a month.
  • Use a 302 redirect on a domain you own, so edits reach returning visitors and you can switch providers without reprinting.
  • Choose static for engraved or molded codes and for URLs that never move.

What a dynamic QR code is

A printed QR symbol cannot be edited. Whatever its modules hold on printing day is what every phone reads, under the rules of ISO/IEC 18004:2024, edition 4, published in August 2024.

A version-n symbol is 17 + 4n modules wide, so version 3 is 29 by 29. A static code holds the destination URL, such as https://example.com/spring-sale. A dynamic code holds a short URL on a redirect server, such as https://go.example.com/spring.

When someone scans the dynamic code, the phone opens the short URL. The server looks up the current destination for the slug spring, logs the scan and answers with a redirect.

Editing the destination changes one database row and leaves the printed symbol alone. A static code that encodes a tracked short link behaves as a dynamic one.

Check the redirect type

The Internet Engineering Task Force's RFC 9110 (June 2022) calls a 301 response heuristically cacheable in section 15.4.2, so a browser can keep sending a returning visitor to the previous destination after you change it.

Section 15.4.3 says a client that receives a 302 ought to keep using the original URL. A terminal shows which one a short link returns:

Response from a short link that redirects with a 302 (example domain)
$ curl -sI https://go.example.com/spring
HTTP/2 302
location: https://example.com/spring-sale?utm_source=flyer&utm_medium=print&utm_campaign=spring26

TrackRev's short links return a 302. Run the same command on a vendor's link before you print.

Dynamic vs static QR codes compared

Static QR codeDynamic QR code
Data in the symbolThe destination URLA short URL on a redirect server
Repoint a printed codeNo, reprintYes, edit the redirect
Scan countsNone; only the destination page sees the visitPer scan: time, device, rough location
Data retentionNone30 days to 2 years on Bitly plans
PriceFreeFree tier or a paid subscription
If you stop payingKeeps workingCan stop working
Grid at level M for 87 and 29 characters41 by 41 modules29 by 29 modules
Best forFixed pages and Wi-Fi loginsPrint runs and anything measured

More data means a bigger grid, and the version number sets how many bytes fit.

VersionGridLevel L, 7%Level M, 15%Level Q, 25%Level H, 30%
225 by 2532262014
329 by 2953423224
433 by 3378624634
537 by 37106846044
641 by 411341067458
953 by 5323018013098

Byte-mode capacity per ISO/IEC 18004, confirmed by encoding test strings with the open-source qrcode library. Each level recovers about the percentage shown.

A static code that carries its own tracking tags, https://example.com/spring-sale?utm_source=flyer&utm_medium=print&utm_campaign=spring26, runs to 87 characters. At level M that overflows version 5's 84 bytes and lands on version 6.

The 29-character short link https://go.example.com/spring overflows version 2's 26 bytes and lands on version 3. Printed 2 cm wide with a 4-module quiet zone on each side, the modules measure:

Encoded URLCharactersLevel M gridLevel H gridModule size, M and H
Static URL with 3 UTM tags87Version 6, 41 by 41Version 9, 53 by 530.41 mm and 0.33 mm
Dynamic short link29Version 3, 29 by 29Version 4, 33 by 330.54 mm and 0.49 mm

Module size is 20 mm divided by the grid width plus 8 quiet-zone modules.

The short link's modules print 32% larger at level M and 49% larger at level H. Larger modules survive small prints and bad light better, so a short link helps most on packaging and stickers.

Static codes can be measured too

A static code gets analytics only through the page it opens. Google's guide lists 9 UTM parameters and says to always include 3: utm_source, utm_medium and utm_campaign.

Add those to the encoded URL and Google Analytics 4 reports the sessions under Traffic acquisition. Give each placement its own utm_content value, such as door and counter, to compare spots.

That fits one poster that sends people to your own site, and it costs nothing. It counts sessions, so a scan followed by a closed tab leaves no trace.

The tags also take 56 of the 87 characters in the example above and freeze into the print, so a moved landing page strands them. The UTM parameters guide covers naming.

What dynamic QR codes cost in October 2026

Vendors give static codes away and charge for the redirect. Bitly publishes the limits that matter most for printed codes:

Bitly planPrice per monthQR codes per monthDestination changes per monthScan history kept
Bitly Free$02NoneNot listed
Bitly Core$10, annual billing only5530 days
Bitly Growth$29 annual, $35 monthly1020120 days
Bitly Premium$199 annual, $300 monthly2001101 year

Prices from each vendor's pricing page, October 2026.

Core's 5 changes cover a weekly offer swap on one code (about 4 a month) but not on three codes (about 13).

Uniqode's dynamic codes start at $9 a month on annual billing only, with a 30-day money-back guarantee, and its FAQ lists a custom domain as a $2,000 per domain per year add-on on the Plus plan.

QR Code Generator Pro caps dynamic codes at 2 on Starter, 50 on Advanced and 250 on Professional, and Starter includes 10,000 tracked scans. Its euro prices load by script, so check them on its pricing page.

For link-level comparisons beyond QR, the Bitly alternatives guide covers six tools.

Cancelling can switch printed codes off

Uniqode's FAQ says cancelling makes your QR codes inactive, and its dynamic codes stop redirecting when the 14-day trial ends unless you upgrade. Ask every vendor before a print run: the paper outlasts the billing cycle.

Put the redirect on a domain you own

A code that encodes a vendor's domain works only while your account does. On your own subdomain, such as go.example.com/spring, it can move to another provider with a DNS change, if the new provider can recreate the slugs.

TrackRev supports custom tracking domains and encodes the branded URL once one is active; the branded short link guide covers the DNS setup.

I put anything printed in volume on a dynamic code on my own domain, and anything permanent or offline on a static one.

When a static QR code is the better choice

A Wi-Fi login has to be static. Android and iOS 11 and later read the network details straight from the image, according to the ZXing project's barcode contents guide:

Wi-Fi login payload
WIFI:T:WPA;S:mynetwork;P:mypass;;

That string is not a URL, so a redirect server has nothing to forward.

A static code also fits anything that must outlive a subscription, such as an engraved plaque or a molded part, and a URL on your own site that will not move; if the page does move, a server-side redirect keeps that URL alive.

TrackRev's free QR code generator makes static codes in your browser with no signup or watermark, exports PNG or SVG and switches to error correction level H (30%) when you add a logo.

The code encodes your link directly, so it never expires.

Watch for stickers over printed codes

The Federal Trade Commission's December 6, 2023 consumer alert notes scammers covering parking-meter QR codes with their own. A dynamic code is harder to vet at a glance because the scanned address is a short link.

In public places, print the short URL as text beside the code and inspect the spot now and then.

Dynamic QR codes in TrackRev

In TrackRev a campaign has one destination URL and a short link per channel.

Each link row has a QR icon that opens the designer with the link's URL filled in, so the printed code encodes the short link and each scan counts like any click, with device and location.

Edit the campaign's destination later and every link under it, QR code included, follows.

The QR code designer has six dot styles, a logo overlay up to 2 MB, and PNG exports at 256, 512, 1024 or 2048 pixels, or SVG.

The redirect is a 302 that adds the link's UTM parameters to the destination, so Google Analytics gets a source and medium without a long URL in the pixels, and device targeting can send iPhone and Android scans to different stores.

The free plan includes QR codes within its 50 links and 1,000 tracked events a month, and hides revenue figures.

Paid plans are Starter at $39, Growth at $99 and Scale at $199 a month (see pricing), and annual billing pays for 9 months to get 12.

On any of them, connect Stripe, Paddle, Polar or Lemon Squeezy and the same scans can be followed to payments; the QR code tracking to revenue post walks through that setup.

Pick a dedicated QR vendor when you want it to build the page behind the code; QR Code Generator Pro lists 22 QR code types. TrackRev's codes point at a URL you already have.

Pick Bitly if you need only a few codes a month and already pay for it.

Found this useful? Share it.

PostLinkedIn

Frequently asked questions

Muzahid Maruf — Founder of TrackRev.io

Written by

Muzahid Maruf

Founder, TrackRev.io & Contant.io

Muzahid Maruf is the founder of TrackRev.io and Contant.io. He writes about marketing attribution, link tracking, and revenue analytics for SaaS teams.

Writes about Marketing attribution · Link tracking · Revenue analytics · SaaS growth

Stop guessing where your revenue comes from.

Set up TrackRev in about five minutes. The free plan covers 1,000 events a month, no card needed.

Start free