How to track QR code scans with UTM links

By Dhurka Manchukan, software engineer · Last updated: 2026-10-04

The problem with untracked codes

A plain QR code to your home page looks the same in analytics as any other visit. If you print a flyer, a poster and a table card, you cannot tell which one worked. UTM parameters fix this by adding a label to the link, which tools such as Google Analytics read and report.

Build a tagged link

  1. Open the UTM builder.
  2. Enter the destination page.
  3. utm_source: where the traffic comes from, for example qr_print.
  4. utm_medium: the material, for example flyer or table_tent.
  5. utm_campaign: the promotion name, for example offline_promo.
  6. Optionally add a term and a content variant to tell two prints of the same campaign apart.
QRinst UTM builder with source qr_print, medium flyer and campaign offline_promo and the resulting tagged link
The builder produces the tagged link as you type.

Turn it into a QR code

Press Create QR Code with this Link and the tagged link is carried into the generator. Download the code and use a different link for each print run so the reports separate them. Keep names lowercase and consistent: Flyer and flyer appear as two different values in reports.

Static or dynamic?

A tagged link inside a static code cannot be changed later. If you might want to edit the destination after printing, use a dynamic code. The static vs dynamic guide explains the trade-off. A longer link also makes a denser code, so test it with the QR checker.

More guides