The hard part about QR codes was never the technology — it's the moment. Someone has half a second to decide whether scanning is worth it. Most QRs fail that test before the camera even opens.
This is the playbook we use to design QR campaigns that survive contact with real people.
The three failure modes
- No reason to scan. A naked QR with no value proposition is a closed door. Always pair the code with a one-line promise: "Scan to claim", "Scan for the menu", "Scan for the playlist".
- Bad placement. Below knee level, behind glare, on a moving surface. QRs need stillness, light, and roughly arm's-length distance.
- Broken landing page. The destination loads slowly, isn't mobile-first, or asks for a signup before delivering the promise. Scanners bounce in under three seconds.
Try it free, no signup
QR Code Generator
Turn any URL into a scannable QR code.
Design rules that hold up in print
- Contrast first. Dark code on a light background, always. Inverted QRs (light code on dark) are unreadable on most older Android cameras.
- Quiet zone of at least 4 modules. That's the white border around the code — without it, scans drop by 30%+.
- Error correction level H when adding a brand mark. You can occlude up to 30% of the code without breaking it.
- Test at print size. A QR that scans on screen will not necessarily scan on a 5×5 cm matte sticker.
Placement that converts
| Surface | Minimum size | Notes | | ---------------- | ------------ | ---------------------------------- | | Business card | 2 × 2 cm | Top-right corner, standalone | | Restaurant menu | 3 × 3 cm | Top of menu, near "Order now" copy | | Storefront window| 8 × 8 cm | Eye-level, away from glare | | Conference booth | 15 × 15 cm | Pair with a one-line CTA | | Billboard | 80 × 80 cm | Test from the actual driving lane |
Always use dynamic QRs for campaigns
Static QRs encode the destination URL directly into the pixels. If the destination changes, the code is dead.
Dynamic QRs encode a short link that you control. You can:
- Repoint the destination after the print run ships.
- Track scans, geo, and time-of-day per code.
- Run A/B tests on landing pages without reprinting.
- Retire campaigns cleanly without orphan QRs in the wild.
What to measure
Scans alone are vanity. The metrics that matter:
- Scan-through rate — scans ÷ impressions (foot traffic, mailers, etc.)
- Time-on-destination — anything under 5 s is a broken landing page
- Conversion — the actual outcome (signup, order, redemption)
- Geo concentration — does the campaign work where you expect?
Treat QR codes as attributable channels, not novelties, and the budget will follow the results.