The glossary

Published:

Last updated:

QR code – create a free, static QR code and measure the scans

Definition

A QR code is a two-dimensional barcode that a phone camera can read, usually holding a link to a web page. It is a grid of dark and light modules with built-in error correction, so it can be read even when part of it is damaged.

Create a QR code

Type or paste the address and choose the level of error correction. The code is drawn as you type and can be downloaded as SVG or PNG. It is static: the address is held in the code itself, with no account and no service in between, so it will not stop working.

QR code generator

Type or paste the address. The code is drawn in your browser as you type, and it is static: the link sits in the code itself, with no redirect through any service, so it works for as long as the page exists.

How much of the code can be damaged and still read. A higher level copes with dirt and creases but makes a denser code.

Version 5 · 37 × 37 modules · 75 characters

Edit the UTM parameters
More free tools

Static or dynamic QR code?

Many QR services generate dynamic codes. The code then holds a short address at the service, which forwards visitors to your page. The upside is that you can change the destination after printing and see statistics in the service. The downside is that every scan passes through the service, so if the subscription ends or the service shuts down, the code stops working – including on everything already printed.

Static and dynamic QR codes
PropertyStaticDynamic
What the code holdsYour own addressA short address at the service
Works for as long asYour page existsThe service and subscription exist
Change destination after printingThrough a redirect on your own domainIn the service
StatisticsWith UTM parameters in GA4In the service
CostFreeOften a subscription

You can get the benefits of a dynamic code without depending on a service. Point the code at an address on your own domain, such as /menu or /offer, and set up a 301 redirect from there to whichever page you want to show right now. To change the destination, you change the redirect, not the code.

How to measure scans in GA4

A scan opens the link in the phone's browser with no referring page, so without tags the visit usually lands in Direct, alongside everyone who typed the address in themselves. Add UTM parameters to the link before you create the code:

  • utm_source – where the code is, such as poster, flyer or packaging.
  • utm_medium – the same value for every QR code, such as qr.
  • utm_campaign – the campaign, such as lunch or autumn-campaign.
  • utm_content – which of several codes in the same campaign, such as entrance and till, if you want to compare placements.

GA4 has no default channel for QR codes or print, so the medium qr matches no rule and the visits land in Unassigned – unless the source is on Google's list of social networks or search engines (Google). So create a custom channel group under Admin in GA4 and add a channel of your own there, such as QR, for the medium qr. A standard property can have two custom channel groups, and they apply retroactively in your reports (Google).

Five things to check before you print

  1. Scan with several phones. Test both iPhone and Android, at the distance and in the lighting where the code will sit.
  2. Dark on light. Dark modules on a light background are the safe choice. Not every reader copes with light modules on a dark background.
  3. A clear margin around the code. The standard requires an empty area at least four modules wide around the code (DENSO WAVE). The files from this generator include it, so do not crop it.
  4. Size to match density. The longer the link, the more modules it needs and the larger it has to be printed. DENSO WAVE recommends printing the code as large as the space allows (DENSO WAVE).
  5. A page that lasts. Link to a page that works well on a phone and will still be there for as long as the printed material is in use.

How does a QR code work?

QR stands for Quick Response. The code was launched in 1994 by DENSO WAVE, then part of DENSO (DENSO WAVE). The three large squares in the corners let the camera find the code and work out its orientation, from any angle.

The code comes in 40 sizes, called versions, from 21 × 21 modules in version 1 to 177 × 177 in version 40. Each version adds four modules per side (DENSO WAVE). The generator picks the smallest version that holds the text, so a shorter link gives a sparser code that is easier to scan.

Error correction means the code can still be read when part of it is dirty or damaged. There are four levels: L recovers about 7 per cent, M 15 per cent, Q 25 per cent and H 30 per cent. M is the level most often chosen (DENSO WAVE). A higher level tolerates more damage but needs more modules for the same text.

QR Code is a registered trademark of DENSO WAVE INCORPORATED.

Frequently asked questions about QR codes

Is the QR code free?

Yes. The code is generated in your browser with no account, does not expire and may be used in commercial material. DENSO WAVE, which developed the QR code, holds patents on the technology but has declared that it will not enforce them, and anyone may use QR codes that follow the standard (DENSO WAVE).

Does a QR code stop working?

A static code does not, because the address is held in the code itself. It works for as long as the page it points to exists. A dynamic code goes through a service and stops working if the service shuts down or the subscription ends.

Can I change the link in a printed QR code?

Not in a static code. Instead, point the code at an address on your own domain, such as /menu, and set up a 301 redirect from there to the page you want to show. You can then change the destination without reprinting the code and without a service in between.

Should I choose SVG or PNG?

SVG for print. It is a vector image that scales to any size without blurred edges. PNG for the web, presentations and email, where an ordinary image file is simplest.

How do I see how many people scanned the code?

Add UTM parameters to the link before you create the code, for example utm_source=poster and utm_medium=qr. The scans then show up as separate visits in GA4. Because GA4 has no default channel for QR codes, they land in Unassigned until you add a channel of your own in a custom channel group.

Ready for the next step?

Now that you know more about QR code, you may be wondering what your next step should be.

We are always happy to help and to answer any questions you have.

Book an intro call