qr · marketing

QR Codes for Print Marketing: Placement, Size and Tracking

Where QR codes get scanned, how large to print them for the distance, why the code should hold a short link, and how to measure scans per placement.

Ananya Sharma
8 min read1,658 wordsUpdated
Guide cover: QR codes for print marketing — placement, size, tracking

QR codes on printed material fail for boring reasons. The code is too small for where it's placed. It's on something people can't stand still in front of. It encodes a long URL that's dense and fragile. And when it does get scanned, nobody can tell, because the destination is the same page the website links to and the scans vanish into "direct traffic". None of those problems are about QR codes as a technology; they're about placement, size and measurement, and each has a simple fix.

This guide covers the fixes in the order you'll meet them: deciding where a code goes and how large it must be there, what to encode (a short link, always), how to measure scans per placement, and the production details that separate a code that scans first time from one that makes people give up.

Where QR codes get scanned, and where they don't#

A QR code is scanned by someone who has a phone in hand, a few seconds, and a reason. Design around those three.

Places where all three are true:

  • Restaurant tables, café counters, bar tops. People are seated, waiting, and want the menu. This is the highest-performing QR placement there is.
  • Packaging, labels, receipts. The product is in their hand; the code offers instructions, registration, a reorder.
  • Event signage, name badges, conference stands. Attendees are there to collect things; a code to a deck, a demo or a contact is expected.
  • Print advertising in waiting situations — transit interiors, waiting rooms, in-flight magazines. Captive time.
  • Direct mail. Held in the hand, read at home.

Places where at least one is false:

  • Billboards on roads. Nobody scans from a moving car, and they shouldn't. If you must, make it enormous and aim it at pedestrians.
  • Moving vehicles. Same.
  • Anything at ceiling height or behind glass with reflections.
  • TV and video — briefly on screen, at a distance, gone. A short spoken URL beats a code here.

The rule of thumb: if a person can stop, face the code squarely at under two metres and hold their phone steady for two seconds, it will be scanned. Otherwise it's decoration.

How large to print it#

Size follows scan distance. The dependable rule is that the code's width should be at least one tenth of the distance it's scanned from; more for dense codes or poor light.

How large to print a QR code for the distance it will be scanned from: 2–3 cm at 30 cm, 3–8 cm at arm's length, 10–30 cm across a room, 50 cm to 1 m for a billboard
How large to print a QR code for the distance it will be scanned from: 2–3 cm at 30 cm, 3–8 cm at arm's length, 10–30 cm across a room, 50 cm to 1 m for a billboard
Placement Typical scan distance Minimum code width
Table tent, menu, packaging, receipt up to 30 cm 2–3 cm
Flyer, poster read at arm's length 30–80 cm 3–8 cm
Shop window, exhibition stand, wall poster 1–3 m 10–30 cm
Large banner, vehicle side, billboard for pedestrians 5–10 m 50 cm–1 m

Two things shrink the safe size further:

  • Data density. A code holding a 90-character tagged URL has far more modules (the little squares) than one holding go.you.com/menu, and each module is smaller for the same overall size. Encoding a short link makes the code sparser and easier to read at every size — which is the first reason to always encode a short link.
  • Print quality. Newsprint, fabric, curved surfaces and low-contrast colour all need a larger code than glossy card.

Print the code, put it where it will live, step back to the real distance, and scan it with the oldest phone in the office. That test costs nothing and catches most failures.

The code should hold a short link on your domain, not the destination URL. Three reasons, each sufficient on its own.

1. You can change where it goes after printing#

The pattern on the paper never changes. A short link's destination can be edited at any time. A menu code that points at go.cafe.com/menu shows the September menu today and the October one next month, on the same printed cards. A code that encodes cafe.com/menus/september-2026.pdf is wrong on the first of October and stays wrong until you reprint. Editable destinations are the main reason to put a shortener behind print at all.

2. The code is smaller and more robust#

Fewer characters means fewer modules means a code that scans from further away, on worse paper, with a worse camera. A URL with UTM tags on it can more than double the module count.

3. Every scan is counted, per placement#

A code that encodes the destination directly sends scans into the destination's "direct" traffic, indistinguishable from someone typing the address. A code that encodes a short link gets counted by the shortener — with time of day, country and device — and if each printed placement has its own short link, you learn which placements work. That's the next section.

You get the tracking without any tags visible to the reader: the short link's destination can carry UTM parameters invisibly, so your site analytics also see "print / flyer / spring-2026".

Measuring scans per placement#

The method is the one that works for every channel: one short link per placement. The flyer gets /spring-flyer, the table cards get /menu-table, the window poster gets /spring-window, the packaging gets /setup-box. Same destination, different links, and now each code's scans are its own number.

On Xlyl's statistics page each link shows its clicks by hour and day, the country and city-level region of the scanner, and the device. For print, the hourly chart is unusually informative: table-card scans cluster around meal times; a poster in a station peaks with commuter hours; a code in a monthly magazine trickles for weeks. The device split tells you what the code was scanned with, which matters for how the destination should be built (almost entirely phones, so the landing page had better be fast and mobile-first).

Bot traffic — link previews, mail scanners — is filtered before counting, so a scan count is people. Each scan keeps its location and device; visitor IPs are never stored.

Generating the code is one click on any link in the dashboard: the QR code generator produces a downloadable code that encodes the short link, so the code, the link and the count are one object.

Production details that decide whether it scans#

Quiet zone#

The code needs a margin of blank space on all four sides — at least four modules' width, more is safer. Designers routinely crop it to fit a layout, and the code stops scanning. Treat the quiet zone as part of the code.

Contrast and colour#

Dark modules on a light background. Black on white is safest; a dark brand colour on white or cream is fine; anything inverted (light on dark) fails on many readers, and low-contrast pairs (mid-grey on white, two mid-tones) fail on most. If the code sits on a photograph, put it in a white box.

Error correction#

QR codes carry redundancy so they scan when partly obscured. The four error-correction levels are part of the ISO/IEC 18004 standard and recover roughly 7%, 15%, 25% and 30% of the code. Higher error correction (level H) lets you put a small logo in the centre and survive scuffs, at the cost of more modules. For print, level M or Q is a good default; use H only if you're overlaying a logo, and then keep the logo under about 20% of the area.

Surfaces#

Flat, matte, opaque. Glossy laminate reflects the phone's flash; curved bottles distort the pattern; fabric blurs it; glass adds reflections. If the surface is unavoidable, go a size up and test on the real thing.

Say what it does#

Put a line of text beside the code: what the reader will get, and the short link itself in words — "Scan for the menu · go.cafe.com/menu". The text gives non-scanners a way in, tells scanners what they're about to open, and doubles as the fallback if the code is damaged. It's also why the alias should be short and readable.

Where the scan lands#

Everything above is wasted if the destination is slow or built for a desktop. Nearly every scan comes from a phone, often on mobile data, often outdoors. The page must load fast, fit the screen, and do the one thing the code promised. If the destination is a PDF, keep it small. If it's a form, keep it short.

And because the short link can be edited, you can fix a bad landing page after the print run — which, in practice, is the QR feature people end up most grateful for.

A checklist before the print run#

  1. Is the code somewhere a person can stop, face it, and scan within two seconds?
  2. Is it at least one tenth of the scan distance wide — and a size up for poor paper or light?
  3. Does it encode a short link on your domain, not the destination?
  4. Does each placement have its own short link?
  5. Quiet zone intact, dark on light, no overlay larger than a fifth of the area?
  6. Is the short link printed in words beside it?
  7. Have you scanned a printed proof, at the real distance, with an old phone?
  8. Does the landing page load quickly on a phone?

Seven yeses and one scan is all it takes.

Frequently asked questions

How big should a QR code be on a poster?
Roughly one tenth of the distance it will be scanned from. A poster read from about a metre away needs a code at least 10 cm wide; a table card scanned from 30 cm can be 3 cm. When in doubt, print larger — a too-small code is the most common reason a campaign gets no scans.
Can I change where a printed QR code goes?
Only if the code encodes a short link. The pattern printed on paper never changes, but a short link's destination can be edited at any time, so a code pointing at go.yourbrand.com/menu can be sent somewhere new next season without reprinting.
Do QR code scans count as clicks?
Yes. Scanning opens the encoded URL in the phone's browser, which requests the short link like any other click. The shortener counts it and records the country and device — that's how you measure scans per placement.
Should I put a URL under the QR code?
Yes, always. Some readers can't or won't scan; a short, readable link under the code — go.yourbrand.com/menu — gives them a way in and tells scanners where the code leads before they point a camera at it.

Found this useful? Pass it on.

PostShare

Keep reading

All guides →