Sign in

UTM builder for QR codes

Build a tagged URL for a printed code and see what Google Analytics 4 will actually do with it before you print anything. Nothing you type is sent anywhere; the whole tool runs in your browser.

Start from what you are printing (optional)

The page a scan opens. A scheme is added if you leave it out.

Why QR scans show up as Unassigned

GA4 sorts traffic into channels with substring and regex rules on the medium, not exact matches. There is no default rule for a QR medium, so scans land in Unassigned unless you add a custom channel group. Worse, a medium that merely contains certain text is claimed by a channel it has nothing to do with: anything containing cp is treated as paid traffic, and anything containing mobile or notification is treated as a push notification.

The warnings above are those rules, checked as you type. Getting this wrong is not a typo you notice: the campaign reports fine, in the wrong channel, and the print run is already out.

Printing this code

A tagged URL baked into a static QR image is permanent: fixing a tag means a reprint. Codes made here append their tags at scan time instead, so the tagging stays editable after the artwork is at the printer, and the image never changes.

Make a code with these tags