Why add UTM parameters to a QR code?
When someone scans a QR code, their phone opens the URL directly – there is no referring website. Without UTM tags, analytics files the visit under Direct, alongside people who typed your address. Adding a source (where the code is printed), a medium and a campaign turns every scan into attributable traffic, so you can compare the poster in the shop window with the flyer in the mail-out.
Use a different source per placement – flyer, poster, packaging, business-card – and a single campaign name for the initiative. If you print several versions of the same flyer, put the variant in utm_content.
Which medium should QR codes use?
Most teams use utm_medium=qr because it is easy to filter on. Be aware that GA4 has no default channel for it, so QR traffic appears as “Unassigned” in channel reports – it is still fully visible under source, medium and campaign. If you want QR scans as their own channel, add a custom channel group in GA4 with the rule “medium exactly matches qr”. The generator shows the predicted channel as you type.
QR code printing checklist
- Keep the URL short. Long tagged URLs produce dense codes. Shorten the link first if the code will be printed small.
- Use SVG for print. Vector files stay sharp at any size; PNG is fine for screens and documents.
- Respect the quiet zone. Downloads include a four-module margin – do not crop it away.
- Dark on light. Keep strong contrast and avoid inverted colours; the generator warns about both.
- Minimum size. Around 2 × 2 cm for hand-held items, larger for posters scanned from a distance.
- Test-scan. Try at least two phones, then check the visit in GA4 Realtime.