best-practices

10 QR Code Mistakes That Kill Your Scan Rates

Common QR code pitfalls that reduce scan rates, from poor contrast to missing calls-to-action, and how to fix them.

SmartyTags TeamOctober 20, 202512 min read

The Gap Between Printing a QR Code and Getting Scans

You created a QR code. You printed it on your flyer, packaging, or poster. You expected scans. You got... almost nothing. The code works when you test it yourself, so what went wrong?

In most cases, the answer is not that people do not want to scan QR codes. The answer is that something about the implementation discouraged or prevented scanning. These are fixable problems, and fixing them can dramatically improve your scan rates.

Here are the 10 most common QR code mistakes and exactly how to avoid each one.

Mistake 1: No Call to Action

The problem: A QR code sits on the page with no text explaining what happens when someone scans it. The code is effectively a mystery box, and most people will not open a mystery box.

Why it matters: Studies on QR code engagement consistently show that codes with clear calls to action receive 30-50% more scans than codes without any context. People need a reason to pull out their phone, open their camera, aim it at the code, and tap the link. "Scan me" is not a reason. A specific outcome is.

The fix: Always include a brief, specific CTA near the QR code:

  • "Scan for 20% off your next order"
  • "Scan to watch the how-to video"
  • "Scan to download the app"
  • "Get your free guide - scan here"

Three to five words that clearly state what the scanner will receive. Position the CTA directly adjacent to the code, not across the page where the connection is not obvious.

Mistake 2: Printing Too Small

The problem: The QR code is too small for phone cameras to read reliably from the distance at which people encounter it.

Why it matters: A QR code on a poster in a hallway needs to be scannable from 3-5 feet away. A code on a business card needs to work from 6 inches away. The physics are different, and the minimum size changes accordingly.

The fix: Use this rule of thumb: the QR code width should be at least one-tenth of the intended scanning distance. A code meant to be scanned from 30 cm away needs to be at least 3 cm wide.

Scanning DistanceMinimum QR Code Size
10 cm (business card)1.5-2 cm
30 cm (packaging, table tent)3 cm
1 meter (poster, sign)10 cm
3 meters (banner, wall display)30 cm
10 meters (billboard)1 meter+

For product packaging, see our detailed sizing guide in the QR code packaging article. When in doubt, go bigger. Nobody has ever complained that a QR code was too easy to scan.

Mistake 3: Poor Color Contrast

The problem: The QR code modules (the dark squares) do not have enough contrast against the background. The code looks stylish but scanners cannot distinguish the pattern.

Why it matters: QR code scanners work by detecting the difference between dark and light areas. When the contrast ratio drops below approximately 4:1, scanning becomes unreliable. Many branded codes fail because the brand colors simply do not provide enough contrast.

The fix: Always use a dark foreground color on a light background. The foreground should be noticeably darker, not just slightly darker. Test this: if you squint and the modules blur into the background, the contrast is too low.

Specific colors to avoid as foreground on white:

  • Yellow
  • Light green
  • Light blue
  • Pastel anything

If your brand colors are light, use a darker shade for the QR code or use your brand color as the background with black or dark gray modules. For a comprehensive guide on QR code color design, see our design and branding tips.

Mistake 4: Using a Static QR Code When You Need a Dynamic One

The problem: You generated a static QR code that encodes the destination URL directly in the code pattern. Once printed, the URL cannot be changed. When you need to update the link, every printed material with that code becomes obsolete.

Why it matters: URLs change. Pages get restructured. Campaigns end. Products get updated. A static QR code on 10,000 printed brochures that links to a dead page is an expensive mistake.

The fix: Use dynamic QR codes for anything that will be printed in quantity or placed in locations that are difficult to update. A dynamic QR code encodes a short redirect URL. The redirect destination can be changed at any time through your QR code management platform.

With SmartyTags, every QR code you create is dynamic by default. You can update the destination URL, view scan analytics, and configure smart routing at any time. Create a free QR code and experience the difference.

Static codes are fine for one-time personal use (like sharing a Wi-Fi password at home). For anything business-related, dynamic is the standard.

Mistake 5: Linking to a Non-Mobile-Friendly Page

The problem: The QR code links to a desktop website that is not optimized for mobile. The text is tiny, buttons are impossible to tap, and the user has to pinch-zoom to navigate.

Why it matters: Virtually 100% of QR code scans come from smartphones. If your landing page does not work on a phone, you have wasted the scan. Worse, you have made a negative impression on someone who was engaged enough to scan in the first place.

The fix: Before deploying any QR code, scan it with your own phone and evaluate the landing page experience:

  • Does the page load in under 3 seconds on a mobile connection?
  • Is the text readable without zooming?
  • Are the buttons and links large enough to tap with a finger?
  • Does the page work in both portrait and landscape orientation?
  • Is the primary action (buy, sign up, download, etc.) immediately visible?

If the answer to any of these is no, fix the landing page before deploying the QR code. The QR code is only as good as the page it links to.

Mistake 6: Placing QR Codes Where They Cannot Be Scanned

The problem: The QR code is in a location where scanning is physically impractical or impossible.

Classic bad placements:

  • On a moving vehicle (buses, trucks) where the target is in motion
  • On a billboard along a highway where drivers cannot stop
  • On the bottom of a package that sits on a shelf
  • On a surface behind glass that creates heavy glare
  • In an email or digital ad where a clickable link would be more appropriate
  • On a TV commercial that flashes for 3 seconds

Why it matters: A QR code requires the scanner to hold their phone steady within a certain range for about 1-2 seconds. Any placement that makes this difficult or dangerous is a wasted code.

The fix: Think about the scanning moment:

  • Is the person stationary or moving?
  • Can they hold their phone at the right distance?
  • Is there sufficient lighting?
  • Is the surface flat and stable?
  • Does the person have a free hand?

The best placements are on stationary surfaces in well-lit areas where people have a reason to pause: table tents, product packaging in hand, posters in waiting areas, receipts, or menus.

Mistake 7: Encoding Too Much Data

The problem: You encoded a very long URL or a large amount of text directly in a static QR code. The code has so many modules that it becomes dense and difficult to scan, especially at small sizes.

Why it matters: More data means more modules, which means each individual module is smaller. Smaller modules are harder for cameras to resolve, especially on older phones or in suboptimal conditions. A QR code encoding a 200-character URL is significantly denser than one encoding a 20-character short URL.

The fix: Use a URL shortener or, better yet, a dynamic QR code service. The QR code encodes a short URL (like https://smtg.co/abc123), and the redirect service handles the long destination URL on the server side. The code stays simple, with fewer modules, and scans more reliably.

This also gives you the ability to change the destination later, which brings us back to Mistake 4.

Mistake 8: Not Testing Before Printing

The problem: The QR code was generated, placed in the design file, and sent to the printer without anyone scanning it from a physical print.

Why it matters: Several things can go wrong between the digital file and the printed result:

  • The code might have been accidentally scaled below the minimum scannable size
  • Color shifts in printing might have reduced contrast
  • The design might have encroached on the quiet zone
  • The print resolution might have softened the module edges
  • The surface finish (glossy, matte, metallic) might create scanning issues

The fix: Print a test at the actual size, on the actual material if possible, and scan it. Test with at least three phones: an iPhone, a recent Android, and an older or budget phone. Scan under bright light, dim light, and fluorescent light. If any device fails to scan within 2 seconds, the code needs adjustment.

For high-volume print runs (packaging, large poster orders), this testing step can save thousands of dollars in reprints. Spending 30 minutes testing is always worth it.

Mistake 9: No Scan Analytics

The problem: You deployed QR codes across multiple channels but have no way to measure which codes are being scanned, how often, from where, or on what devices.

Why it matters: Without analytics, you cannot:

  • Know if the QR code is actually being used
  • Compare performance across different placements or campaigns
  • Identify which call-to-action messaging works best
  • Calculate ROI on print materials
  • Make informed decisions about future QR code deployments

The fix: Use a dynamic QR code platform with built-in analytics. SmartyTags provides scan counts, unique visitor counts, device breakdown, geographic data, and time-series data for every QR code you create.

For a detailed guide on which metrics to track and how to act on them, read our article on QR code analytics and metrics.

If you are running multiple QR codes across different campaigns, use distinct codes for each placement so you can compare performance. The same QR code on a poster and a flyer tells you nothing about which placement works better. Separate codes with separate analytics give you actionable data.

Mistake 10: Linking to Content That Does Not Match the CTA

The problem: The call to action promises one thing, but the QR code links to something different. "Scan for a free sample" leads to a product page with no mention of a free sample. "Get your discount" leads to the homepage.

Why it matters: This is a trust violation. The person took the action you asked them to take, and you did not deliver what you promised. They will not scan your codes again, and they will form a negative impression of your brand.

The fix: The landing page must immediately deliver on the CTA promise. If the CTA says "Scan for 20% off," the landing page should prominently display the 20% discount code or automatically apply it. If the CTA says "Watch the video," the video should start playing (or be the first thing visible) on the landing page.

Create dedicated landing pages for your QR codes rather than linking to generic pages. A custom page that matches the CTA converts significantly better than your homepage.

Bonus: Compounding Mistakes

The real danger is when multiple mistakes combine. A QR code that is slightly too small, with slightly too little contrast, with no call to action, linking to a non-mobile-friendly page represents four simultaneous failures. Each one reduces scan rates. Together, they practically guarantee failure.

The good news is that the reverse is also true. Fixing each of these issues has a cumulative positive effect. A well-sized code with strong contrast, a clear CTA, and a great mobile landing page will outperform a mediocre code by a factor of 5-10x.

A Quick Pre-Deployment Checklist

Before deploying any QR code, run through this checklist:

  • The QR code has a clear, specific call to action
  • The code is large enough for the intended scanning distance
  • Foreground and background have high contrast (4:1 ratio minimum)
  • The code is dynamic (not static) if it will be printed
  • The landing page is mobile-optimized and loads in under 3 seconds
  • The placement allows comfortable, stationary scanning
  • The data encoded is short (using a redirect/short URL)
  • The code has been test-scanned on 3+ physical devices from a print
  • Analytics tracking is set up
  • The landing page delivers exactly what the CTA promises
  • The quiet zone (margin around the code) is clear of other design elements

If every box is checked, your QR code is ready to deploy. If any box is not checked, fix it first. The few minutes spent on this checklist consistently prevent the most common and costly QR code failures.

Moving Forward

Most QR code failures are not technology failures. The technology works. They are implementation failures, and they are all preventable. Review your existing QR codes against this list. Chances are, at least one or two of these mistakes are reducing your scan rates right now.

Start with the highest-impact fix, which is usually adding a clear call to action or improving the landing page. Then work through the rest. Use SmartyTags features to track your improvements with real data.

You can create a free QR code on SmartyTags that avoids many of these mistakes by default: dynamic codes, built-in analytics, customizable design, and high-quality file exports. But the tool is only half the equation. The implementation choices, where you place it, how you size it, what you say next to it, and where you send the scanner, are up to you. Get those right, and your scan rates will follow.

Frequently Asked Questions

Why is my QR code not scanning?
The most common reasons are: insufficient contrast between the code and background, the code is too small for the scan distance, the image is blurry or low resolution, or the destination URL is broken. Test with multiple devices before printing.
Does adding a logo to a QR code make it harder to scan?
It can if the logo covers too much of the code. Keep logos to 15-20% of the QR code area maximum. Use high error correction (level H) when adding a logo, which allows up to 30% of the code to be obscured while still scanning.
Should I use a static or dynamic QR code for print?
Always use dynamic for print materials. If there is a typo in the URL, the page moves, or you want to update the content, you can fix it without reprinting. Static codes are permanent once printed.
How do I test a QR code before printing?
Test on at least 3 different devices (iPhone, Android, older phone). Scan from the expected distance. Try different lighting conditions. Verify the destination page loads correctly on mobile. Print a test copy and scan the actual printed version.

SmartyTags Team

Content Team

The SmartyTags team shares insights on QR code technology, marketing strategies, and best practices to help businesses bridge the physical and digital worlds.

Related Articles

Stay up to date

Get the latest QR code tips, guides, and product updates delivered to your inbox.

No spam. Unsubscribe at any time.