QR codes are commerce infrastructure now. They survived their 2010s reputation as “marketing gimmick,” got rescued by COVID-era contactless menus, and are now the standard way customers interact with packaging, posters, in-store signs, and event materials.
For Shopify merchants, the question isn’t “should we use QR codes?” — it’s “are our QR codes converting?” Most don’t. This playbook is how to make them convert.
The fundamental rule: scan to checkout, not to homepage
The single biggest mistake in commercial QR deployment is sending scanners to a product page or homepage. The scan moment is the highest-intent moment in the entire customer journey:
- The customer is looking at a physical object
- They’ve made a deliberate action to engage (holding up phone, framing the code, tapping the link)
- Their phone is unlocked, their browser is open, their payment methods are auto-fill
That’s not the moment to ask them to “browse.” That’s the moment to send them to a pre-loaded checkout with the product in the cart and the discount applied.
This single rule changes QR conversion rates by 5-10x in our customers’ data. Everything else in this playbook is downstream of it.
Destination strategy
Three destinations, in order of conversion:
1. Pre-loaded checkout (best for almost every commerce use case)
The QR opens directly on Shopify checkout with the product and any discount applied. The customer sees the price, confirms shipping (often auto-filled by Shop Pay), and pays.
Checkout Links is the standard tool for this — every link generated comes with a branded QR by default.
2. Pre-checkout page (when the product needs context first)
A lightweight landing page with the product image, name, price, and a single “Checkout” CTA. Same products pre-loaded, same discount, same one-tap-to-pay — just with a moment of “is this what I scanned for?” confirmation before the checkout step.
Useful when the QR is on a non-obvious physical surface and the customer might be uncertain (“did I scan the right thing?”). The pre-checkout page reassures.
3. Product page (rarely the right call)
Standard Shopify product page. Customer has to add to cart and navigate to checkout. Use only when the QR placement deliberately invites browsing — e.g. a “see more from this collection” QR on a brand-page poster, where the goal is discovery, not conversion.
Use case playbook
Packaging reorder
The highest-LTV QR use case. Put a QR on the product packaging that links to a one-tap reorder of the same SKU.
- QR destination: Checkout with the product pre-loaded
- Optional discount: Loyalty discount for repeat buyers
- Bonus pattern: Subscription pre-select — the QR can encode a selling plan, so the reorder becomes a subscription start
The unit economics here are remarkable: zero ad spend, near-zero attribution friction, and the customer is already holding your product.
In-store cross-channel
Brick-and-mortar Shopify merchants with a parallel online catalogue use QR codes to bridge:
- Out-of-stock variant on the shelf: QR scans to checkout with the right variant from online
- Larger online catalogue: QR scans to checkout with a SKU not stocked in-store
- Delivery for bulky items: Customer touches the floor sample, scans the QR, gets the item delivered
POS staff can also use a “scan-to-add-to-POS” pattern where QR codes encode complex cart configurations (bundles, discounts, free gifts) that would be too tedious to ring up by hand. How to use QR codes with Shopify POS covers this end-to-end.
Event / pop-up / booth
Trade shows, conferences, pop-ups, festival vendors. QR codes are the right primary commerce mechanism in environments where dragging out a card terminal is friction.
- QR placement: Large, branded, on the booth backdrop or product display
- QR destination: Pre-loaded checkout with the product
- Attribution: Per-booth or per-event unique link so you can measure event ROI
For multi-day events, dynamic QRs let you swap the destination during the event (e.g. switch from a launch SKU to a sold-out backorder option).
Print and out-of-home
Magazine ads, postcards, billboards, transit displays. The QR is the bridge between physical-world awareness and digital-world conversion.
- Size matters: Print QR codes at minimum 1.5cm × 1.5cm — smaller and phone cameras struggle in low light
- Contrast matters: Dark on light, not coloured on coloured. Standard QR scanners cope with brand colours but conversion drops 10-20% when the contrast is poor
- Quiet zone: Leave at least 4 modules of white space around the code. Designers regularly violate this and quietly reduce scan rates
Influencer creator content
Creators with podcasts, magazines, YouTube content, or live shows can pin a QR to physical materials they distribute. Same per-creator attribution as URL-based influencer programs.
B2B / wholesale repeat orders
Wholesale customers can scan a QR on packaging, a sample card, or an order confirmation that re-orders a standing cart. Skips the whole portal-login-and-rebuild step.
Design
QR design is engineering with brand aesthetics layered on top. The engineering rules:
- Contrast ratio matters more than colour. Dark foreground on light background. Brand-coloured QRs work but only if the contrast is preserved.
- Don’t crop the quiet zone. 4 modules of background around the code. Designers will be tempted to extend the brand visual right up to the code; don’t.
- Centre logos are fine. The error-correction layer of QR codes tolerates up to 30% obscured area — a centred logo at ≤20% size scans normally.
- Size for context. Phone-held scan: 2cm minimum. Wall poster from 3 metres: 15cm minimum. Billboard from 30 metres: 1m+ minimum.
- Test on multiple devices. iOS native camera, Android native camera, low-light environments. A QR that works in your office lighting can fail in a dim restaurant.
The brand-aesthetic rules:
- Make the QR feel like the brand. Brand colour foreground, brand-aligned background, centred logo. A black-and-white square next to a beautifully-designed package undermines both.
- Frame the CTA next to the code. “Scan to reorder” / “Scan for 10% off” / “Tap to buy now” — the QR alone doesn’t motivate; the CTA does. A QR without a clear call-to-action under it gets ignored.
- Indicate destination. “→ Shopify checkout” or “→ One-tap reorder” sets expectations and increases scan rate.
Attribution
The whole point of QR codes (vs typed URLs) is that they live on physical surfaces. The question is which physical surface drove which sale.
The per-surface attribution pattern:
- Generate one Checkout Link per physical placement. Same product, same discount, different UTM and different QR.
- Print each QR on its surface. Surface A (packaging) gets QR A. Surface B (postcard) gets QR B. Surface C (in-store sign) gets QR C.
- Per-link analytics in Checkout Links shows scans, checkouts, and revenue per QR.
This pattern scales: a brand running 10 simultaneous physical campaigns can measure ROI per placement, decide which placements deserve repeat budget, and kill the ones that don’t pay.
Placement decides the scan rate
The code is rarely the problem. Where it sits, and what surrounds it, usually is.
Packaging is the best surface you own. Every order you ship is a physical object in a customer’s hands, at a moment when they are positively disposed toward you. It costs nothing incremental once the artwork exists, and it compounds — every customer you have ever shipped to is a potential scan.
Give the code a reason. A bare QR code with no context gets ignored. A single line stating what happens — “scan to reorder in one tap”, “scan for the refill at 20% off” — is the difference between a decorative square and a channel. The reason should be a benefit, not an instruction.
Match the size to the distance. The working rule is roughly a tenth of the scanning distance: a code read from two metres needs about 20cm. Codes on posters are the most common failure here, printed at business-card size and scannable from nowhere useful.
Respect the quiet zone. Codes need clear space around them. Crowding a code with text is a frequent cause of unreliable scanning, particularly in poor light.
Consider the posture. People scan standing up, one-handed, often in a queue. A code below waist height or above eye level goes unscanned regardless of how good the offer is. Table tents work because they sit at exactly the right height for someone already seated.
Light matters. Matte stock beats gloss under retail lighting, where glare on a laminated surface can defeat the camera entirely.
What happens after the scan
The scan is the easy part. The landing experience is where the orders are won or lost, and the constraint is that this is a mobile session started in a physical place.
Assume poor connectivity. In-store, in a basement, on a train. The destination has to be light — a heavy page loses people who already scanned, which is the most frustrating way to lose them.
One decision on the screen. The scan expressed intent already. Landing on a category page or a homepage asks the customer to start browsing, which is the opposite of what they signalled.
Do not require an account. Guest checkout is not optional for physical-to-digital. A password prompt after a scan converts terribly.
Wallet payments matter more here than anywhere. Someone standing in a shop is not typing a card number. Apple Pay and Google Pay availability is close to a hard requirement for this channel.
Make the offer visible immediately. If the scan promised a discount, the discount should be visible without scrolling. Any doubt about whether it applied sends the customer to check, and checking on a phone in a queue means leaving.
Reading the data
QR attribution is unusually clean — every scan is a deliberate act at a known physical location, which is more than most channels give you.
A distinct link per placement. Not per campaign. The same offer on packaging, on a poster and on a table tent should be three links, or you learn nothing about which surface works.
Watch scan-to-order rate, not scan count. Scans are cheap and flattering. The conversion from scan to order is the number that tells you whether the destination is right.
Compare placements against each other, not against a benchmark. Published QR conversion rates are close to meaningless given how differently the codes are used. Your own packaging insert versus your own poster is the useful comparison.
Look at time-of-day patterns. They tell you where the physical surface actually is. Scans clustering at lunchtime mean something different from scans spread through the evening, and they can reveal that a placement is being seen somewhere other than where you put it.
Track repeat scans. On packaging especially, the same customer may scan on each reorder. That is a durable channel rather than a one-off campaign, and it should be measured over months.
Compliance and accessibility
A few notes for completeness:
- Privacy disclosure. If your QR triggers any tracking beyond what the destination URL already does, disclose it next to the code (“We track scans to improve our marketing”).
- GDPR / CCPA. The destination URL inherits the data-collection posture of your Shopify store; QR scanning itself isn’t a new compliance surface, but the analytics on the link are.
- Accessibility. QR codes are inherently visual. If the QR is the only way to access an offer, you’re excluding users with visual impairments. Pair every commerce QR with an accessible URL printed underneath (“or visit yourstore.com/abc123”) so the offer is reachable via screen-reader workflows.
Static versus dynamic codes
A decision worth making deliberately, because it is expensive to reverse once the code is printed.
A static code encodes the destination URL directly. Nothing sits between the scan and the site, so there is no dependency and nothing to expire. The cost is permanence: if the URL changes, every printed code is dead.
A dynamic code encodes a redirect you control. The printed artwork stays valid while the destination changes, which matters enormously for anything with a long physical life.
For packaging, dynamic is close to mandatory. Printed packaging has a lead time measured in months and a shelf life measured in years — the product it points at will be reformulated, renamed or discontinued long before the boxes run out, and a code that outlives its destination sends customers to a 404 with your logo on it.
For short-lived print — an event, a seasonal campaign — static is fine and has fewer moving parts.
The rule of thumb: if the artwork will outlive the campaign, use a redirect you control. And whichever you choose, the destination should degrade gracefully — a discontinued product should land on its replacement, not on an error.
Testing before it goes to print
Print is unforgiving, and every one of these has caught a real failure:
- Scan it from the actual distance, on the actual material, in the actual lighting. A code that works on a screen at 30cm may fail on matte card across a room.
- Test on both iOS and Android, and on an older phone. Camera quality varies more than you would expect.
- Scan it on mobile data, not office wifi. This is how customers will experience it.
- Have someone unfamiliar try it without instruction. If they hesitate about what will happen, the surrounding copy is not doing its job.
- Confirm the destination is live and the offer applies. Obvious, and skipped often enough to be worth listing.
- Print a proof. Screen and press differ, and a code that is slightly too small or slightly too low-contrast in print is a five-figure mistake at packaging volume.
The general principle: the cost of testing is minutes, and the cost of a bad print run is the entire run.
What not to do
Common mistakes that cost commercial QR campaigns money:
- Sending scans to a homepage or landing page. The customer scanned a product. Send them to checkout for that product, not to your brand’s front door.
- Static QR codes for time-bounded campaigns. A printed QR that points at a campaign URL becomes a 404 the day the campaign ends. Use dynamic QRs that you can redirect.
- QR codes with no CTA next to them. A naked QR is a mystery. A QR with “Scan for 10% off” next to it is a transaction.
- Tiny QRs in print ads. Below 1.5cm × 1.5cm, scan rates drop sharply, especially in low light. Don’t let the designer shrink the QR for aesthetics.
- High-contrast brand-colour swap (e.g. dark red on dark blue). The QR will scan in a lab and fail in the wild.
- QR codes pointing to product-page-with-add-to-cart. Too many steps. Use a checkout-first destination.
Measurement
The metrics that matter:
- Scan rate (scans / impressions). Hard to measure without sensor data; usually only available for in-store digital displays.
- Click-through rate (link opens / scans). Some scans don’t follow the link (preview, then close). Industry benchmark: 80-95% follow-through.
- Conversion rate (checkouts / link opens). The headline number for a commercial QR. Industry benchmark for a checkout-first destination: 4-8%. For a product-page destination: 0.5-1.5%.
- Revenue per scan. Total revenue attributed to the QR / total scans. Useful for cross-campaign comparisons.
- Cost per acquisition via QR. Print cost + ad-cost-allocated / customers acquired via QR. For packaging QRs (printing is sunk cost) this approaches zero.
Per-link analytics in Checkout Links covers everything except scans-without-follow-through (no tool can — the scan is on the device, the analytics start at the URL open).
The 30-day rollout
If you’re starting from “we don’t really do QR codes,” here’s the order to ship:
Week 1:
- Install Checkout Links and generate the first QR. Test it from 3 different phones in 3 different lighting conditions.
- Pick the highest-volume packaging SKU you ship. Build a “scan to reorder” QR for it.
Week 2:
- Add the QR to the packaging artwork for the next print run.
- Build 2-3 in-store QR codes for cross-channel use (out-of-stock-variant scenarios).
Week 3:
- Set up a tracked QR for your highest-traffic offline marketing surface (postcard, magazine, event materials).
- Build per-QR UTMs so analytics differentiate by surface.
Week 4:
- Review per-QR conversion data. Iterate the surfaces that under-perform; double down on the ones that over-perform.
- Plan a packaging refresh that bakes the QR into every SKU’s standard artwork.
By the end of 30 days you have a measurable QR-driven commerce surface, per-placement attribution, and the data to budget the next iteration.
Scaling beyond the basics
Once the foundational QR program is shipping, the next step changes depending on the business shape:
- Subscription brands. Bake a subscription selling-plan into the QR so packaging scans become subscription starts instead of one-off reorders. The first month of subscription revenue typically pays for the printing cost across the entire SKU range.
- B2B brands. Print QR codes on sample cards and trade-show materials that pre-build wholesale carts at the customer’s account tier. Sales reps stop carrying a tablet and start handing out cards.
- Multi-store brands. A single dynamic QR can be redirected per region, per language, or per inventory location. Useful for brands shipping globally where a single physical asset (a magazine spread, a piece of packaging) needs different destinations per market.
- Event-led brands. Trade shows, pop-ups, and live shopping events generate scans in bursts. Per-event Checkout Links let you measure ROI per event and decide which to repeat next year.
The pattern that scales fastest is “packaging-first.” Every product you ship is a physical surface you control. A QR on packaging that drives even a 1% reorder lift compounds across every customer who ever bought from you. Other surfaces (print, in-store, event) are episodic; packaging is forever-on.
Further reading
- QR code payment setup in Shopify — implementation walkthrough.
- How to create QR code checkout links on Shopify — step-by-step setup.
- How to use QR codes with Shopify POS — in-store cross-channel patterns.
- QR code marketing strategies — broader marketing strategy context.
- Checkout Links for QR codes — the link layer.








