Printed QR codes fail quietly. Nobody complains; the scans simply do not happen, and the print run comes and goes without anyone learning why. Most of the causes are decided before the file goes to the printer.
1. Say what the scan gives them
A bare QR code asks the reader to spend an action on an unknown reward, and most people decline. A code with four words next to it — "Scan for tonight’s specials", "Scan to join our Wi-Fi", "Scan to book a viewing" — is a different proposition entirely.
Be specific. "Scan for more information" is only marginally better than nothing, because it still does not say what they get.
2. Put it where the phone already is
Placement beats size. A code needs to be reachable while the reader is holding their phone and standing still.
- Table cards work because people are seated, unhurried, and phone in hand.
- The base or back of a pack works because that is where someone looks when the product runs out.
- Eye level on a window works; knee height on a pavement A-board does not.
- A code above head height or behind a counter is decoration, not a call to action.
- Moving contexts — a bus side, a motorway billboard — are close to useless regardless of size.
3. Route the scan somewhere that deserves it
The single most wasteful mistake is sending every scan to a homepage. Someone standing in front of a specific product, property, or menu wants that specific thing, and a homepage makes them search for it on a phone, standing up, with one hand.
Send them to the exact page. If the surface genuinely serves several audiences — a shop door where some people want the menu and others want to book — send them to a link page that offers the choice rather than guessing.
4. Make the landing page work on a phone
Every QR scan is a mobile visit, without exception. A PDF laid out for A4, a page with a desktop-width table, or a form asking for eleven fields will lose most of the people who scanned. If the destination is a PDF, consider whether a mobile web page would serve better — with a dynamic code you can switch later without touching the print.
5. Use one code per placement
Reusing a single code across the flyer, the window, the packaging, and the mailer gives you one number that tells you nothing. Separate codes give you a ranking, and a ranking is what changes next quarter’s print budget.
Name them clearly when you create them — "Flyer — March drop — North" rather than "QR 4" — because in six months the name is all the context you will have.
Before the run: print one proof at final size on the real stock, scan it with three phones including an older Android, in the lighting the material will live in. Ten minutes here saves the entire print run.
6. Design it to survive the medium
Dark pattern on a light background, a clear quiet zone of at least four modules, matte rather than gloss, vector artwork rather than an upscaled PNG, and a flat surface. Size to roughly a tenth of the scanning distance — the details are in the best QR code size for printing.
7. Plan for the code outliving the campaign
Printed material stays in circulation for months or years after the campaign that funded it has closed. A static code pointing at a dead campaign page becomes a 404 on every copy still in a drawer.
Use a dynamic code and schedule the change: campaign page during the window, evergreen page afterwards. The material keeps working instead of aging into a broken link. That is the whole argument for QR codes in print campaigns, and you can set it up on the dynamic QR code generator in a couple of minutes.