Most QR codes are deployed once and forgotten. That is a mistake. Small changes — the color, the call-to-action, the size, the landing page — can double or halve scan rates. The only way to know which changes work is to test them.
A/B testing QR codes is the same discipline as A/B testing web pages or ad creative: one variable at a time, measured against a control.
What You Need Before You Start
Dynamic QR codes with analytics
Static QR codes cannot be tested — you cannot tell variants apart. Use a dynamic QR generator that tracks scans per code, with timestamps and device info.
A hypothesis
"Variant B will beat variant A because..." Without a hypothesis, you are guessing and the data is noise.
Enough traffic
You need enough scans to reach statistical significance. For small businesses, that often means running each test for at least 2-4 weeks.
One variable at a time
Change the color AND the call-to-action at once, and you cannot say which one caused the result.
What to Test
Call-to-Action Copy
The three most common test variants:
- Generic: "Scan me"
- Benefit-led: "Scan for 20% off"
- Curiosity: "Scan to see what's inside"
Benefit-led almost always wins in our experience, but the specific benefit matters. Test wording.
Visual Design
- Plain black square vs. branded with your logo
- Square vs. circular vs. custom-shaped eyes
- High-contrast black/white vs. brand colors
- Border vs. no border
- With arrow pointing to it vs. without
Don't assume "branded" always wins. Black-and-white often scans faster and from farther away.
Size
Test a 3cm code vs. a 5cm code in the same location. Bigger almost always wins until you hit a certain threshold, at which point returns diminish.
Placement
Same QR, same design, different locations:
- Window vs. door vs. checkout counter
- Page 1 vs. page 10 of the menu
- Top of the flyer vs. bottom
- Receipt vs. table tent
Landing Page
Same QR, same placement — different destinations:
- Homepage vs. dedicated landing page
- Form vs. video vs. text
- Instant offer vs. email capture vs. phone call
This one often matters more than the QR itself.
Time of Day / Day of Week
Not strictly A/B, but worth tracking: when do scans peak? Use that to time promotions.
Setting Up the Test
Step 1: Pick the variable
Decide the single thing you're testing. Write down your hypothesis.
Step 2: Create two QR codes
- Variant A (control): your current design/copy/placement
- Variant B (challenger): the new version
Both should be dynamic, both separately trackable.
Step 3: Split the exposure
This is the tricky part. Options:
Alternating placement: Week 1 use A, week 2 use B, week 3 A, week 4 B. Controls for day-of-week and seasonal effects.
Parallel placement: Run A at location X and B at location Y. Only works if the locations have similar traffic patterns.
Audience split: Use A on one batch of flyers, B on another, distributed randomly.
For small sample sizes, alternating usually gives the cleanest signal.
Step 4: Let it run
Resist the urge to peek and declare a winner after 3 scans. You need enough data to separate signal from noise.
Step 5: Analyze
Compare:
- Scan count (raw traffic)
- Unique scanners (deduplicates repeat scans)
- Conversion rate (what percentage completed the next action — bought, signed up, called)
- Time to action (faster conversions suggest better targeting)
A variant that gets more scans but fewer conversions is not a winner.
Sample Test Ideas
Restaurant Menu
- A: "Scan to order" / B: "Skip the line — order here"
- Measure: scan-to-order conversion rate
Real Estate Yard Sign
- A: QR to listing page / B: QR to direct WhatsApp chat
- Measure: lead quality (not just scan count)
Retail Store Window
- A: "Scan for today's specials" / B: "Scan to get 10% off your first order"
- Measure: new email signups
Event Flyer
- A: QR in top-right corner / B: QR center-bottom
- Measure: which position drives more RSVPs
Product Packaging
- A: QR to product video / B: QR to user reviews
- Measure: repeat purchase rate
Common Mistakes
- Ending the test too early — 10 scans is not a sample size
- Testing too many things at once — you learn nothing
- Ignoring external variables — if you tested the new QR during a promotion and the old one wasn't, that's a confound
- Not having a hypothesis — data without a question is noise
- Forgetting to archive losers — keep notes so you don't re-test things you already ruled out
Statistical Significance (Plain English)
You don't need a PhD in stats, but you should understand the concept. If variant B beat variant A 60 to 40, that's suggestive but not conclusive — natural variance could explain it. If B beat A 600 to 400, the gap is much more trustworthy.
A rough rule: at least 100 scans per variant before you call a result, and ideally more for anything close to a tie.
Compound Your Wins
A/B testing QR codes isn't a one-time exercise. Once you find a winning variant:
- Make it the new control
- Identify the next variable to test
- Repeat
Companies that A/B test consistently see compounding gains over months — a QR code program that started at a 2% scan rate can realistically get to 8-10% through disciplined iteration.
Tools and Tracking
Every QR code in a serious test needs:
- Dynamic generation with scan analytics
- Unique URL per variant (for clean attribution)
- UTM parameters so Google Analytics can track downstream behavior
- A clear owner responsible for monitoring results
If you're running multiple tests, a spreadsheet with variant, hypothesis, start date, end date, sample size, and winner is enough — no fancy tooling required.
When to Stop Testing
Some QR codes are high-value enough to keep iterating on (the checkout QR at a busy restaurant, the yard sign QR for a real estate agent with 50 listings). Others are not worth the effort (a one-off event flyer for 200 attendees).
Apply the 80/20: find the 20% of QR codes that drive 80% of your scans, and test those relentlessly. The rest, ship and forget.
A/B testing is one of the highest-leverage habits in marketing — and QR codes are one of the easiest surfaces to test on. Every placement is a chance to learn something.
Ready to create QR codes?
Generate custom QR codes with landing pages, analytics, and more.