March 1, 2026 · 10 min read
QR Codes for Small Business: A No-BS Guide
QR codes had a moment during COVID and then became a permanent fixture of business life. Most small businesses use them — but most use them badly. The codes are either static (no analytics, can't be updated), linked to the wrong destination, placed somewhere nobody will scan them, or all three.
This guide covers where to put QR codes, what to link them to, how to measure whether they're working, and the operational details that separate codes that drive engagement from codes that just sit there.
Where QR Codes Actually Work
Not every surface is a good placement. The scan has to be convenient — the person needs to be stationary, phone accessible, and willing to interact. If any of those conditions aren't met, the placement won't convert.
Good placements:
- Table tents in restaurants. Person is sitting down, has time, phone is nearby. This is one of the highest-converting QR placements that exists.
- Business cards. Person is already engaged, just received your card, is actively looking at your contact info. Great moment to drive them to a booking page or portfolio.
- Retail shelf tags. Person is standing in front of a product, considering a purchase decision. A QR code linking to detailed specs, reviews, or a how-to video is directly useful.
- Storefront windows. Person is standing outside, interested enough to stop. Link to hours, menu, or booking.
- Event programs. Person is seated, has time to scroll through a program. Links to speaker bios, schedules, or sponsor offers work well here.
- Product packaging. Person just bought your product, is actively opening it. This is a high-intent moment — they own the product and are engaged.
- Email signatures. Less obvious but works: people view email on one device and sometimes want to open a link on another. A QR code in an email signature bridges that.
- Waiting areas. Any context where people are sitting and waiting — hair salons, medical waiting rooms, auto shops. Dwell time is high, phones are out.
Bad placements:
- Highway billboards. Three-second exposure at speed. Nobody scans.
- Fast-moving transit ads. Same problem as billboards if the vehicle is moving.
- Small placements. Anything under 1 inch square is unreliable. The further away the scan distance, the larger the code needs to be. Window signs should be at least 3–4 inches square.
- Low-light environments. Cameras need adequate light to read QR patterns. Dim bars, dark storefronts — test before relying on these.
- Cluttered visual contexts. A QR code surrounded by competing graphics and text is easy to overlook. Give it visual breathing room.
The test: can a person comfortably stop, take out their phone, scan, and wait for the page to load? If the physical context doesn't allow for that, the placement won't convert regardless of what you link it to.
What to Link QR Codes To
A QR code is only as useful as what it leads to. The destination has to be worth scanning — mobile-optimized, fast-loading, and directly relevant to what the person just saw.
High-value destinations:
- Digital menu (restaurants — this is now table stakes)
- Online ordering page (specific and direct, not your homepage)
- Appointment/booking page (service businesses, medical, salons)
- Product detail page (retail — the specific product, not your homepage)
- Google review request page (high ROI for service businesses — catch customers while they're in front of you)
- Video demonstration (products with installation, setup, or how-to content)
- Contact card (vCard download — useful on business cards)
- Landing page built for the campaign (when you want clean tracking and a specific CTA)
- Loyalty/rewards signup (retail — catch customers at point of purchase)
Low-value destinations:
- Your homepage. Too generic. High bounce rate. Send people somewhere specific.
- PDFs that load slowly. Mobile browsers handle PDFs poorly. Convert to a webpage if possible.
- Pages that require login before showing content. Friction kills conversions.
- Desktop-only pages. QR codes are scanned on phones. If the destination doesn't work on mobile, your code fails.
- Social media profiles (usually). These work but perform worse than a dedicated landing page with a single call to action.
The mobile test is non-negotiable. Scan your QR code on your own phone and experience what the customer experiences. If the page is slow, hard to navigate, or requires scrolling through irrelevant content to find what you're offering, fix the destination before printing.
Dynamic Codes Are Non-Negotiable for Business
If you're using QR codes for anything that will be printed, use dynamic codes. Always. Here's why it matters in practice:
Your URLs will change. You'll redesign your website. You'll switch booking systems. You'll move to a new e-commerce platform. Your menu URL will change when your menu service updates their URL structure. Every URL change breaks a static code permanently.
You need to know what's working. Without analytics, you're printing blind. A dynamic code tells you how many scans each placement gets, when they happen, where your visitors are coming from, and what devices they use. That data is the only way to know whether your physical marketing is working.
Print runs last. You print 500 business cards. You install signs. You put codes on product packaging. These materials last months or years. A lot can change in that time. Dynamic codes let you update the destination without touching the physical materials.
The cost is $20/year per code at TwoDollarQR. That's less than the cost of reprinting 50 business cards. The math is simple.
A Practical Setup for Common Business Types
Restaurant
| Code | Destination | Placement |
|---|---|---|
| Code 1 | Digital menu | Table tents (all tables) |
| Code 2 | Online ordering | Takeout bags, register counter |
| Code 3 | Google review request | Receipt, exit signage |
Cost: $60/year for 3 dynamic codes with full analytics.
Compare that to reprinting 200 table tents because your menu URL changed: $200–400+ in print costs. The dynamic codes pay for themselves in a single URL-change event.
Retail Store
| Code | Destination | Placement |
|---|---|---|
| Code 1 | Loyalty program signup | Register counter, receipt |
| Code 2 | Product detail / how-to video | Shelf tag on featured product |
| Code 3 | Google review | Storefront window / receipt |
Cost: $60/year. Analytics tell you which placement drives the most engagement.
Service Business (plumber, HVAC, consultant, etc.)
| Code | Destination | Placement |
|---|---|---|
| Code 1 | Booking / contact page | Business card |
| Code 2 | Portfolio / testimonials | Leave-behind one-pager |
| Code 3 | Service menu with pricing | Vehicle wrap / yard sign |
Cost: $60/year. The business card code alone can drive meaningful appointment volume if the booking page is well-designed.
Event Organizer
| Code | Destination | Placement |
|---|---|---|
| Code 1 | Event schedule / speaker bios | Event program |
| Code 2 | Post-event survey | Exit signage, receipt |
| Code 3 | Next event registration | Follow-up email, thank you materials |
Cost: $60/year. The post-event survey code is often the highest-ROI QR application for events — it catches attendees before they've left and while engagement is highest.
Reading Your Analytics
Once you have dynamic codes running, actually look at the data.
Weekly habit: Check scan counts. Is the trend up, flat, or down? Flat doesn't mean the code isn't working — it may mean consistent usage. Declining is worth investigating.
After a print drop: Did that mailer drive scans? Compare the two weeks before distribution to the two weeks after. That delta is your response rate.
Location check: If you have a physical location and scans are coming from an unexpected city, your code got shared somewhere online. That can be good news — it means your material or content spread beyond your immediate geography.
Device check: Mostly mobile? Good — that's expected for QR. If you see substantial desktop traffic on a code that's only on physical materials, people are typing your URL manually rather than scanning. The QR code placement may not be working as intended.
Zero scan events: A code that consistently gets daily scans and suddenly drops to zero means something broke. Either the physical material was removed, the destination URL changed, or there's a technical issue. Catch this in your analytics before customers encounter the dead code.
Design Best Practices
Minimum size: 1 inch square for close-range scanning (table tents, business cards). For anything scanned from a distance — window signs, signage — increase proportionally. A good rule: the code should subtend at least 10% of the field of view at the expected scanning distance.
Color and contrast: Black code on white background is the reference standard. Colored codes can work if the contrast ratio is sufficient. Avoid inverting (white code on dark background) — it's unreliable with some scanners. Never use a light color on another light color.
Error correction: Most QR tools default to a medium error correction level (M or Q). This allows the code to scan successfully even if 15–25% of the pattern is obscured. If you're embedding a logo in the center of the QR code, use the highest error correction level available.
Test on multiple devices: Android and iOS QR scanning algorithms differ slightly. A code that scans perfectly on your iPhone may fail on a lower-end Android, especially if it's dense or has design customizations. Test on both before printing.
Download the right file format: For print, download PNG at 1000px or higher resolution, or SVG (infinitely scalable). A 200px PNG printed at 3 inches will pixelate and may fail to scan reliably.
Leave breathing room: Don't run text or other design elements right up to the edge of the QR code. The "quiet zone" — the white border around the code — is part of the spec. Violating it can cause scanning failures.
Integrating QR Codes with Your Other Marketing
QR codes don't have to operate in isolation. They work best as part of a connected flow:
Append UTM parameters to destination URLs. If your destination is yoursite.com/menu, use yoursite.com/menu?utm_source=qr&utm_medium=print&utm_campaign=table-card. This tags QR-sourced traffic in Google Analytics or any other analytics tool, letting you see what happens after the scan — bounce rate, pages viewed, orders placed.
Rotate destinations for A/B testing. Dynamic codes let you change the destination URL. Run a promo, change the destination to the promo page. When the promo ends, change back. You can use scan volume before and after as a rough measure of engagement.
Cross-reference with revenue. If you run a promotion with a dedicated landing page and measure orders from that page, QR scan data is your top-of-funnel metric. Sales from that page / QR scans = QR-to-purchase conversion rate. Measure this across campaigns and you'll know which physical placements drive actual revenue.
Common Mistakes
Making the QR code too small. The most common design mistake. When in doubt, make it bigger.
Low contrast. Dark code on busy background. Always check scanability before printing.
Linking to non-mobile pages. Test your destination on an actual phone. This catches more broken flows than any other step.
Using the same code for everything. Segment codes by placement so you can compare performance.
Not testing before printing. Scan the code before you send 500 flyers to print. Confirm the redirect works and the destination loads correctly on mobile.
Ignoring the analytics. You're paying for dynamic codes. The tracking is part of the value. Check it.
Not updating the destination URL when things change. The whole point of dynamic codes is that you can update them. If your menu URL changes and you don't update the code, it breaks. This only takes two minutes to fix when you know to do it.
Getting Started
The fastest path from nothing to working QR codes:
- Pick your first use case — menu? business card? window sign?
- Create a dynamic QR code at TwoDollarQR — takes two minutes
- Set the destination URL (use UTM parameters if you have website analytics)
- Download the PNG at 1000px or higher, or download SVG
- Drop it into your design at the appropriate size
- Print and deploy
- Check analytics after two weeks
Start with one code. See the scan data come in. That data will tell you whether the placement is working and make the case for expanding to additional codes.
The entire system costs $20/year to run. It pays for itself the first time you update a URL without reprinting.
Ready to get started? Create your first QR code for $20.
QR code tracking for $20/year
Dynamic QR codes with scan analytics. No subscriptions that drain your wallet.
Create your first QR code →