← Hashito System home 日本語 Tools Blog
Tracked URL
Generated URL

QR code

Error correction level

Choosing the parameter values

UTM parameters are tracking values appended to a URL that Google Analytics and most other analytics tools read. A QR code printed on a flyer or poster is otherwise recorded as direct traffic, so you cannot tell which piece of print the visit came from. Adding these parameters before generating the QR code lets you count each source separately.

utm_sourceThe source itself. Use the name of the physical medium: poster, business card, flyer.
utm_mediumThe delivery method. For a QR code, qr works well; pick whatever unit you want to group by.
utm_campaignThe campaign name. Change it per period or per initiative so you can compare later.
utm_contentDistinguishes placements or revisions inside one campaign: store A and store B, first print and reprint.
utm_termOriginally for search keywords. Print media rarely needs it, so leaving it empty is fine.

Watch out for inconsistent casing. Most analytics tools treat Poster and poster as two different values. Keeping "Force values to lowercase" enabled avoids that split.

How to use

  1. Enter the destination URL — Paste the URL of the page the QR code should open.
  2. Fill in the three required fields — Enter utm_source (the medium), utm_medium (how) and utm_campaign (the campaign name).
  3. Separate placements if needed — Use utm_content when you want to tell placements or revisions apart within one campaign.
  4. Check the generated URL — Review the URL with the parameters attached and confirm the destination is correct.
  5. Save the QR and send to print — Pick an error correction level, save the PNG and place it in your print data.

Frequently asked questions

What are UTM parameters?

They are tracking values appended to a URL as a query string. Fields such as utm_source, utm_medium and utm_campaign are read by Google Analytics and most other analytics tools to classify where a visit came from. Without them, a QR code on a printed poster is recorded as direct traffic and you cannot tell which piece of print produced it.

Which fields are required?

utm_source, utm_medium and utm_campaign. If any of the three is missing, some analytics tools will not classify the visit as campaign traffic. utm_content and utm_term are optional; use them only when you need to separate placements.

Why force the values to lowercase?

Most analytics tools treat utm values as case sensitive. If you print both Poster and poster, one campaign shows up as two separate rows. Printed material cannot be corrected afterwards, so it is safer to normalise the casing when you generate the code.

Is the URL or my input sent to a server?

No. Building the URL and drawing the QR code both run entirely in your browser via JavaScript. Nothing you type is transmitted or stored on a server.

Which error correction level should I use for print?

For paper that will be posted outdoors or in a shop, level H (recovers about 30%) tolerates dirt and creases better. Raising the level adds modules, so the pattern becomes finer and can be harder to scan at the same physical size. If you plan to print small, keep M and enlarge the printed code instead.