Avoiding QR code mistakes: a marketer's guide

23 May 2026Avoiding QR code mistakes: a marketer's guide

Avoiding QR code mistakes: a marketer’s guide

Hand-drawn QR code themed blog title card


TL;DR:

  • Nearly 39% of QR code scans fail due to preventable design, placement, and post-scan issues rather than faulty devices. Using dynamic codes, high contrast, appropriate size, and effective tracking enhances campaign success, trust, and ROI. Testing in real conditions and adding clear calls to action are essential for delivering a reliable, engaging user experience.

Nearly 39% of QR code scans fail before completion, not because of faulty smartphones, but because of preventable errors in design, placement, and post-scan experience. For marketers, business owners, and event organisers, that failure rate represents lost leads, wasted print budgets, and eroded audience trust. Avoiding QR code mistakes is not a minor technical concern. It is the difference between a campaign that converts and one that quietly falls apart at the moment it matters most.

Table of Contents

  • Key takeaways
  • 1. Choosing the wrong QR code type from the start
  • 2. Misunderstanding error correction levels
  • 3. Ignoring payload size and URL length
  • 4. Exporting in the wrong file format
  • 5. Printing codes that are too small
  • 6. Poor contrast and colour choices
  • 7. Cropping or cluttering the quiet zone
  • 8. Placing codes in the wrong locations
  • 9. Failing to include a clear call to action
  • 10. Delivering a poor post-scan experience
  • 11. Tracking only total scans
  • Common mistakes vs. recommended fixes
  • My honest take on where QR campaigns actually go wrong
  • How Qrlytics helps you get QR codes right
  • FAQ

Key takeaways

Point Details
Choose dynamic over static Dynamic QR codes let you update destinations without reprinting, protecting your investment.
Prioritise error correction level Use Level M for standard print and Level H only when a logo covers the centre of the code.
Size and contrast are non-negotiable Print codes at a minimum of 2 cm square with strong contrast on a matte surface.
Post-scan experience drives conversions Slow mobile pages and broken redirects are responsible for a significant share of campaign drop-off.
Track beyond total scan counts Advanced analytics covering device type, location, and conversion paths deliver real campaign insight.

1. Choosing the wrong QR code type from the start

The first decision you make when generating a QR code shapes everything that follows. Static QR codes embed the destination URL directly into the pattern. Once printed, that destination cannot change. If your campaign URL changes, your landing page moves, or you discover a typo after 5,000 flyers are already printed, you have no recourse.

Marketer compares static and dynamic QR codes

Dynamic QR codes resolve this by storing a short redirect URL inside the code and pointing it to a destination you can update at any time. You can correct errors, swap out seasonal offers, and redirect traffic from a retired page without touching the printed material. For any campaign involving physical print, dynamic is the only sensible choice.

Pro Tip: If you are running a time-limited event, use a dynamic code and redirect it to a “thank you” or evergreen page after the event ends. This turns a short-term asset into a long-term one.

2. Misunderstanding error correction levels

Error correction is the mechanism that allows a QR code to be scanned even when part of it is obscured or damaged. It is built on Reed-Solomon mathematics, which can reconstruct corrupted data up to a defined threshold. There are four levels: L, M, Q, and H.

The problem most people encounter is choosing Level H by default, assuming more correction means better reliability. In practice, Level H reduces data capacity by roughly 30%, which forces the code to pack more modules into the same space. On small prints or older scanning devices, this increased density causes failures. The ISO default for standard print is Level M, which offers 15% recovery and a far better balance between resilience and scan speed.

Use Level H only when a logo or design element will cover the centre of the code. Use Level M everywhere else.

3. Ignoring payload size and URL length

Every character in your destination URL adds data density to the QR code. The longer the URL, the denser the pattern and the harder it is to scan reliably. Long, complex URLs increase module density, which creates problems particularly at smaller print sizes or on older devices.

The fix is straightforward. Use a short redirect URL as your QR code payload, not the full destination address. A redirect service or a dynamic QR platform handles the heavy work of pointing a short URL to wherever you need it to go. This keeps your QR code pattern clean, scannable, and manageable.

4. Exporting in the wrong file format

This mistake is surprisingly common, especially when designers hand off files to print vendors without guidance. Exporting a QR code as a low-resolution JPEG and then scaling it up for a poster produces blurred edges and pixelation that cameras struggle to parse.

Print requires a 300 DPI baseline at minimum. For anything going to large-format print, a vector format such as SVG or EPS is the correct choice because it scales without any loss of sharpness. Always export at the final intended size, or use a vector format that can be scaled safely later.

5. Printing codes that are too small

Size matters far more than most people expect. A QR code smaller than 2 cm square significantly reduces scan success on business cards and small print materials. For larger materials, the required size increases proportionally with the expected scan distance.

A useful rule of thumb: divide the expected scanning distance by ten to get the minimum code size. If a poster on a wall will be scanned from 1 metre away, the code should be at least 10 cm square. Printing it at 3 cm on a busy A3 poster is a reliable way to guarantee poor scan rates.

6. Poor contrast and colour choices

QR code scanners read the difference between light and dark modules. When foreground and background colours are too similar, or when you invert the code with a dark background and light pattern, many scanners fail to register it correctly. Some scanning apps handle low contrast poorly, and certain colour combinations that look bold in design software perform very badly under artificial lighting.

The safest approach is dark modules on a white or very light background. If your brand requires colour, test for matte surfaces with high contrast before committing to a print run. Do not rely on a screen preview. Print a physical test page and scan it under the same lighting conditions your audience will encounter.

Pro Tip: If your code must appear on a coloured background, add a white quiet zone border of at least four modules wide around the entire code. This preserves the contrast the scanner needs to find the code’s edges.

7. Cropping or cluttering the quiet zone

The quiet zone is the blank border surrounding the QR code pattern. It is not decorative. Scanners use it to distinguish the code from surrounding content. When designers crop this zone, bleed the code to the edge of a design element, or place text or graphics too close, scan rates drop noticeably.

Many templates and design tools crop the quiet zone automatically when fitting a code into a tight space. Always add a manual buffer of at least four modules on all sides, regardless of what the template shows. This single habit prevents a significant number of avoidable scan failures.

8. Placing codes in the wrong locations

Where you put a QR code is just as important as how you design it. Common placement errors include:

  • Placing codes on curved surfaces such as bottles or rounded signage, where the scanning angle distorts the pattern
  • Positioning codes at ground level or above head height, where users cannot comfortably hold a phone steady to scan
  • Using busy or patterned backgrounds directly behind the code, which confuses scanners trying to locate the pattern edges
  • Placing codes in poorly lit environments without supplemental lighting nearby

A less discussed placement error is location context. 53% of users avoid scanning codes from sources they do not recognise. A QR code stuck on a lamp post with no surrounding branding or context will be ignored, not because it does not scan, but because users do not trust it. Placement and trust signals are inseparable.

9. Failing to include a clear call to action

A QR code on its own communicates nothing. Users scanning a code need to know what they will get before they decide whether to scan. A code without a call to action or value proposition nearby relies entirely on curiosity, and curiosity is not a reliable conversion mechanism.

Every QR code you deploy should be accompanied by a concise instruction and benefit. “Scan to access exclusive event pricing” outperforms “Scan here” by a significant margin. The copy does not need to be long. It needs to answer one question: why should I scan this right now?

Branding is equally important. Users increasingly scan codes selectively, prioritising trusted sources that signal legitimacy. Your logo, brand colours, and a recognisable domain in the destination URL all contribute to that trust. Without them, even a technically perfect code will underperform.

10. Delivering a poor post-scan experience

Getting a user to scan is only half the job. Where you send them determines whether the campaign converts. This is where many otherwise well-executed QR code campaigns quietly fail:

  • Slow loading pages. 24% of users exit after a slow load post-scan. On mobile, a page that takes more than three seconds to load loses a substantial portion of its audience.
  • Unoptimised mobile pages. Sending users to a desktop-formatted page after a mobile scan is a conversion killer. 11% of post-scan exits are attributed specifically to pages that do not render well on smartphones.
  • Broken redirects and 404 errors. If your destination URL changes after printing and you are using a static code, every scan hits a dead end. This is one of the strongest arguments for dynamic codes.
  • Unsecured destinations. Always use HTTPS. Branded short domains and HTTPS build confidence and reduce the risk of phishing associations. You can explore QR data privacy practices to understand why this matters for your users.

11. Tracking only total scans

Looking at total scan counts tells you that people scanned. It does not tell you where, on what device, at what time, or whether they completed a desired action after landing on your page. Tracking total scans is superficial; advanced analytics covering device types, locations, and conversion paths are what actually improve campaign performance.

Advanced analytics in marketing can significantly improve ROI when applied consistently. For QR campaigns, this means tracking at the individual code level, monitoring scan trends over time, and connecting offline scan data to online conversion events. Treating QR codes as measurable campaign assets rather than passive redirects changes how you optimise and report on them entirely.

Common mistakes vs. recommended fixes

Mistake Recommended fix
Static code with printed URL Use a dynamic code with a short redirect URL
Error correction Level H on small print Use Level M for standard print contexts
Low-resolution JPEG export Export as SVG or 300 DPI PNG at final size
Code smaller than 2 cm square Size based on scan distance: distance divided by ten
No call to action near the code Add concise instruction and clear value statement
HTTP destination URL Use HTTPS with a branded short domain
Tracking only total scans Monitor device, location, time, and conversion data

My honest take on where QR campaigns actually go wrong

What I have seen consistently is that most QR code failures are not technical at all. Marketers invest time in getting the design right and generating a clean code, then rush the deployment. The quiet zone gets clipped in a last-minute layout adjustment. The landing page is not tested on three different Android devices. The call to action gets cut for space.

The uncomfortable truth is that QR codes are proximity tools. They only work when the physical and digital experience are designed together, not handed off to separate teams. I have reviewed campaigns where the code was technically flawless but the destination page loaded in six seconds on mobile. The code did not fail. The campaign failed.

My preferred approach is to test QR codes in situ across device types, lighting conditions, and distances before a single item is printed. That means scanning from the actual wall, shelf, or table where the final piece will live. It takes twenty minutes and catches problems that no screen preview ever will.

I also think the industry underestimates trust as a design variable. Branding a code is not vanity. It is a functional decision. A recognisable logo inside the pattern and a familiar domain in the destination URL measurably affect whether a user chooses to scan. I treat those elements as part of the technical specification, not optional extras.

— The Qrlytics Team

How Qrlytics helps you get QR codes right

If you want to stop guessing and start deploying QR codes with confidence, Qrlytics gives you the tools to do it properly from the start.

https://qrlytics.app

With Qrlytics, you can generate dynamic QR codes with built-in redirect management, high-quality exports in the correct format, and real-time analytics that go well beyond total scan counts. You get device-level tracking, location data, and conversion path visibility. Codes created during an active subscription remain functional permanently, so you never have to worry about printed materials becoming obsolete. You can start with the free QR code generator with no credit card required, and explore the full QR code tracking guide for marketers to see how to apply analytics to your campaigns immediately.

FAQ

What is the most common reason QR codes fail to scan?

Poor print quality, insufficient size, and low contrast between modules and background are the leading technical causes of scan failure. Placement errors such as curved surfaces and busy backgrounds also contribute significantly.

Should I use a static or dynamic QR code for printed materials?

Dynamic QR codes are strongly recommended for any printed material because they allow you to update the destination URL without reprinting. Static codes lock the destination permanently into the pattern.

What error correction level should I use?

Level M is the ISO default for standard print and the best choice for most campaigns. Use Level H only if a logo or graphic will cover the centre of the code, as it reduces data capacity by approximately 30%.

Why do users not scan QR codes even when they display correctly?

Trust is the primary barrier. Research shows that 53% of users avoid scanning codes from sources they do not recognise. A visible brand identity, a clear call to action, and a familiar destination domain all increase scan rates meaningfully.

How should I measure QR code campaign performance?

Go beyond total scan counts. Track device types, scan locations, time-of-day patterns, and whether users completed a conversion action after scanning. This data is what allows you to refine campaigns and demonstrate real ROI.

Recommended

  • How to generate QR codes: the marketing pro’s guide | QRlytics Blog
  • Why QR codes fail: critical errors and proven fixes | QRlytics Blog
  • Blog — QR Code Guides & Tips | QRlytics
  • Checklist for QR code printing that actually works | QRlytics Blog