First Contact: Catching The Eye
QR codes are now a familiar sight, from restaurant menus to delivery tracking. The public is accustomed to scanning them with built-in phone cameras. The key question is not whether to use them, but how to deploy them so they improve, rather than frustrate, the customer journey.
Placement matters more than most people think. A code positioned at ground level or hidden around a corner will simply go unnoticed. IKEA demonstrates a thoughtful approach by placing a QR code beneath the feedback terminal, making it accessible to customers in wheelchairs even if the arrangement seems unusual at first glance.
When you do position a code, give it breathing room. Avoid crowding it with other design elements so it can be easily spotted. Leave clear space around it, and minimize surrounding visual noise.
Examination: Persuading The Scan
A bare QR code is a missed opportunity. Customers need to know what they’ll get before they point their camera at it. Pair every code with a clear call to action, and go one step further by explaining the value behind that action. Nespresso, for example, pairs its app-download call with an infographic that lists the key benefits a customer will recieve.
Depending on the context, it can also make sense to include contact details alongside the code—for example, a hotline number for customers who prefer a human interaction. Branding also helps. Most QR code generators let you place your company logo in the center and adjust the colors. A code that uses your brand colors and logo looks more professional and draws more attention than a generic black-and-white square.
The Scan: Removing Friction
The physical world creates constraints that digital design doesn’t. Size is the most obvious. A code that is too small, or placed too far from the scanning distance, will simply fail. Also consider the surface. Placing a code on a countertop or other high-touch surface means it will erode, become dirty, and eventually stop scanning reliably. Stick codes inside windows rather than on the exterior, where they are exposed to the elements.
Location also affects comfort and safety. A billboard on a highway is a poor place for a code—drivers shouldn’t be scanning while driving. Think about whether customers will have a stable enough network connection where the code is placed. A code that leads to a website is useless in a dead zone.
Pay attention to the surface material. Transparent surfaces are a particularly common mistake. In one Nespresso boutique, the code was placed on glass and was nearly impossible to scan—staff had to hold a sheet of paper behind it every time a customer tried. Outdoor placement brings additional concerns: lighting at night, rain, and dirt on vehicles all reduce scannability.
Before printing, test your code on different phone models. A code that works perfectly on one device may not scan at all on another. If you customize the color, ensure there is enough contrast. The safe rule is to keep it dark on a light background. Also verify that the resolution is high enough to print crisply, and consider the environment where it will be read.
Don’t assume everyone knows what to do. Even in the age of built-in scanners, a brief instruction next to the code helps. Auchan learned this the hard way when it rolled out its “Scan & Pay” system. Customers using native camera apps encountered errors because the codes were designed to be read only by the app’s dedicated camera. Make sure users can scan with their standard camera app unless there is a compelling reason not to.
QR codes also work on websites. On a desktop site, a scannable code that links to an app store is far more useful than a button for downloading an app. On a mobile site, however, a QR code makes little sense—users already have a smartphone in hand. The exception is when the code must be shared, such as displaying a COVID-19 vaccination status from a mobile device.
The Destination: What Happens After The Scan
All of the care that goes into the physical code is wasted if the link is broken. Check every new code before sending it to print, and periodically verify that existing codes still work. The content at the link must also remain relevant. A code for a limited-time offer that leads to an expired page will generate frustration.
When several actions are possible, resist the urge to create multiple codes. Direct the customer to a single landing page and present the choices there. This keeps the printed material clean and the customer focused. A gym might print one code that leads to a page with buttons for each review platform, rather than three different codes.
Make sure the landing page matches the CTA that was presented next to the code. If the code promises a way to contact support, it should lead to a dedicated page for that purpose, not to a general homepage where the customer must search for what they need.
Mobile optimization is non-negotiable. Scanning a code happens on a phone, so the destination must load and display properly there.
Deep linking can reduce the number of codes needed. By identifying the type of device that scanned the code, you can automatically route iPhone users to the App Store and Android users to Google Play. It eliminates any choice from the customer. Uniqlo, for example, does not ask what kind of smartphone you have—the correct store opens automatically.
Finally, add UTM parameters to your QR code links. This enables both personalization and analytics. A restaurant can append a server’s ID so that feedback is personalized, while a business that places codes on banners around a city can see which locations generate more traffic and should be retained.
When QR Codes Backfire
A QR code that fails to deliver is worse than no QR code at all. If the scan leads to a dead link, a slow page, or content that doesn’t match the user’s intent, the customer’s trust in your brand takes the hit. Small technical oversights — like a low-contrast code printed on a glossy surface, or a URL that isn’t tested across devices — can turn a convenient touch point into a frustrating dead end.
The most common failure is also the easiest to avoid: sending users to a destination that isn’t optimized for mobile. A QR code scan almost always happens on a phone, so the landing page must load quickly, be responsive, and present the relevant information above the fold. If the code promotes a discount, the offer should be immediately visible; if it links to a menu, the menu should be the first thing on the screen.
Planning for Practical Limits
QR codes have physical constraints that matter in real-world deployments. A code that is too small, placed too far from the expected scanning distance, or printed on a curved surface may be unscannable. The general rule is that the code should be large enough to be scanned at the distance from which a user will realistically point their phone — a poster on a wall needs a bigger code than a business card.
Print quality also plays a role. High-gloss materials can cause glare, and dark backgrounds reduce contrast. Always run a test print before committing to a large batch, and verify the code scans under typical lighting conditions, not just in ideal studio light.
Retesting and Maintaining Your Codes
QR code maintenance is an ongoing task, not a one-time setup. URLs change, campaigns end, and pages get redesigned. A code that worked perfectly six months ago might now point to a 404 error page if the underlying link was moved without updating the code.
Set a recurring calendar reminder to test every active QR code in your environment. This is especially important for codes printed on durable materials — signage, packaging, or product labels — that may outlive the campaign they were created for. If a code links to a temporary offer, plan the expiration and replacement in advance.
Useful References
- Alternatives to typical technical illustrations and data visualisations
- The role of illustration style in visual storytelling
- Creating an effective multistep form for better user experience
- Timing matters: good design is all about the right timing
The Bottom Line
QR codes are a bridge between the physical and digital worlds, but the bridge is only as good as both of its endpoints. Thoughtful implementation — testing, maintenance, and attention to the user’s context — transforms a scan from a gimmick into a genuine convenience. Neglect those details, and the code becomes a liability. Used well, it’s a silent, useful workhorse.



