Even with automatic discounts, loyalty apps, and all the fancy stuff, people still love a code. “Show this at checkout.” “Scan this for 15% off.” “Use WELCOME10.”
The problem is, typing codes is annoying. It’s slow, it’s easy to mess up, and on a phone keypad (or in a busy store line) it somehow feels even worse.
Scanning fixes that. And Shopify finally makes the whole thing feel… normal.
This guide covers what “scan discount codes” actually means in Shopify today, how to set it up for online and in-store, what works, what doesn’t, and the small gotchas that cause the usual “why didn’t it apply ?” headache.
Why scanning discount codes in Shopify is worth it (vs typing)
Typing a discount code sounds simple until you watch it happen in real life.
Someone is at checkout on mobile. They flip between tabs to find the code. They type it. Autocorrect gets involved. Or they confuse O and 0. Or they add a space at the end. Then they hit Apply and nothing happens. Now you have friction right at the moment you want the customer to feel good.
In-store it’s the same vibe, just louder. A cashier is trying to move a line. Someone shows a promo on their phone. The code is long. The register screen is small. You can feel the queue staring.
Scanning is basically the opposite experience :
- Faster discount application than typing
- Fewer errors
- Smoother checkout lines
- Less staff training and less staff stress
- Better customer experience, especially on mobile
Important clarification though. When we say “scanning a discount code” in this guide, we’re not talking about scanning a random barcode and magically having Shopify understand it.
We’re talking about scanning a QR code that applies a discount, either :
- Online : customer scans a QR code that opens a Shopify discount link and applies the code automatically.
- In-store (Shopify POS) : staff scans a QR code (from a customer phone or printed coupon) to apply the discount without typing.
That’s the whole game.
How Shopify discounts work (so your scanned QR code behaves correctly)
Before you generate a QR code and tape it to your counter, it helps to know what Shopify is actually doing under the hood.
Discount code types you’ll run into
In Shopify, discount codes generally fall into a few buckets :
- Order-level discount codes : take a percentage or fixed amount off the whole order.
- Product-specific discount codes : apply to specific products, variants, collections, or “buy X get Y” style setups.
- Shipping discounts : free shipping or reduced shipping, depending on your setup.
The scanning update works with product-specific and order-level discount codes. Shipping codes are still discount codes, so they follow the same “code link” idea, but your results depend on your shipping settings and eligibility rules.
Discount codes vs automatic discounts
This matters a lot :
- Scanned workflows generally rely on discount codes.
- Automatic discounts are not included in scanning, because there is no code to scan.
So if your store runs mostly automatic discounts and you’re expecting scanning to trigger them, it won’t. Scanning is about applying a code quickly.
Stacking and conflicts (set expectations early)
Most stores eventually run into this :
- Customer already has an automatic discount running
- They scan a code
- Or they scan a code and then try to add another code
Whether discounts stack depends on your Shopify discount settings and the specific discount types involved. A scanned code doesn’t get special treatment. It follows the same rules as if it were typed in manually.
So if you want scanning to feel smooth, keep your promo rules simple. Or at least test the combinations you expect customers to try.
Where discounts are created and managed
You create and manage discounts in Shopify admin → Discounts.
A small naming tip that helps later : make codes readable for humans and scanning/printing. Short, clear, uppercase usually wins. More on that in best practices.

The simplest way to scan a discount online : create a QR code that opens a discount URL
Online scanning is straightforward because Shopify already has a shareable discount link format.
The mechanism is basically :
QR code → URL → Shopify store opens → discount is applied
Shopify’s shareable discount URL format is :
https://{shop}.myshopify.com/discount/{CODE}
When someone opens that link, Shopify applies the code and brings them into the shopping flow (typically to your storefront, and the code carries into cart/checkout depending on the situation).
So your QR code doesn’t “contain the discount” in a magical way. It contains a link. Shopify reads the link. Shopify applies the code.
Where customers scan
Most customers will scan via :
- Their phone camera (iOS and many Android devices do this natively)
- A QR scanner app (less common now)
- Sometimes inside a social app in-app browser (Instagram, TikTok, etc)
What they should see when it works : they land on your store and by the time they hit cart/checkout, the discount is visible as applied.
Best use cases for online discount QR codes
This is where QR discounts really shine :
- Flyers, postcards, and direct mail
- Receipts (printed or emailed, turned into a QR)
- Packaging inserts
- Storefront signage that drives people to shop online later
- In-store posters (scan now, buy online)
- Social posts where you show a QR (works better in videos or on screens)
- Event booths and pop-ups where you want a fast “scan and shop” moment
Step-by-step : generate a scannable QR code for a Shopify discount
Shopify now lets you generate scannable QR codes for discount codes right from the admin. Which is honestly how it should have been all along.
Here’s the clean workflow.
Step 1 : Create the discount in Shopify admin
Go to Shopify admin → Discounts and create a discount code (not automatic).
Decide what you actually need :
- Order-level if it’s “10% off everything”
- Product-specific if it’s targeted (a collection, a product drop, a BOGO)
Set your guardrails now, so you don’t regret it later :
- Start and end dates
- Usage limits (total uses, once per customer, etc)
- Minimum purchase requirements
- Customer eligibility rules
Step 2 : Build the discount URL (the part the QR will encode)
At a high level, your QR code should point to :
https://{shop}.myshopify.com/discount/{CODE}
Replace {shop} with your actual myshopify domain, and {CODE} with the discount code exactly as created.
Example :
https://mystore.myshopify.com/discount/SUMMER20
You can also use your primary domain if you prefer, but the key is : test it. Open it on your phone and make sure it behaves the way you expect.
Step 3 : Generate the QR code in Shopify admin (the new easiest way)
Shopify now supports this directly :
- Open the discount code in your admin
- Download the scannable QR code
You can then print it, share it, or keep it at the counter for staff.
This is the simplest option because Shopify is generating a QR that matches its own expected discount link behavior.
Step 4 : Know when double URL encoding is needed (this is the weird one)
Most stores never think about URL encoding until something breaks.
Here's the key Shopify detail for developers and anyone generating their own QR codes :
- Shopify discount links use the shareable format :
https://{shop}.myshopify.com/discount/{CODE} - Codes with special characters are URL-encoded twice by Shopify's route helper.
If your code is simple alphanumeric like SUMMER20, double encoding is basically a no-op and you won't notice anything.
If your code includes special characters, things can get messy fast. This is especially true if you run the link through any of the following tools, each of which may alter or sanitize the URL in ways that break the encoding :
- A QR generator that sanitizes URLs
- A link shortener
- An email campaign tool
- A tracking redirect
In those cases you might need to match Shopify's double-encoding so scanning works consistently, including in POS.
If you're not sure, the practical advice is boring but reliable : avoid special characters in codes in the first place. Or generate the QR in Shopify admin and don't fight the platform.

Step 5 : Generate the QR code (if you're using a third-party QR tool) and test it hard
If you choose a third-party QR generator, follow these steps in order :
- Paste your discount URL.
- Generate the QR code.
- Confirm the discount actually appears in cart or checkout.
Test on all of the following before publishing :
- iOS camera scan
- Android camera scan
- At least one in-app browser — Instagram or Gmail is a good test
Do not skip the test step. It's always the test step people skip.
Step 6 : Print and share it (so it scans in real life)
A QR code that scans on your laptop screen can still fail in the real world.
Quick printing guidelines that help :
- Use high contrast (dark QR on a light background)
- Leave a quiet zone around the QR — don't crowd it with text or borders
- For counter scans, a smaller size is fine; for posters viewed from a few feet away, go bigger than you think
- Avoid glossy reflective paper if you can
- If scanning from a phone screen, turn brightness up
Scanning discount codes in-store with Shopify POS : what's possible (and what isn't)
This is the part most people imagine as "barcode style discount scanning at the register."
Reality is close, but not always identical depending on your setup.
What Shopify POS can do now
Staff can apply discount codes at checkout by scanning a QR code, instead of typing the code manually. That scanning can happen via the POS device camera or a connected hardware scanner that supports QR/2D codes.
This works with product-specific discount codes and order-level discount codes. Automatic discounts are still not part of this, because there is nothing to scan.
Practical POS workflows that actually work
- Customer shows a QR code on their phone : staff scans it, discount applies.
- Printed coupons : same thing, scan from paper.
- Staff cheat-sheet QR page : keep a sheet behind the counter with QR codes for common promos. Staff scans the right one for the situation — no typing, no guessing which code is active.
That last one is underrated, especially when you run rotating promos and have part-time staff.
Limitations to be aware of
- Some discount scenarios still require staff to think a bit (eligibility, minimums, product included, etc)
- Stacking rules still apply. Scanning does not override conflicts.
- Camera permissions and device behavior matter. If the POS device camera is slow to focus, scanning will feel less magical.
Hardware considerations : using a scanner (and when a phone camera is enough)
There are two “scanner” worlds here :
- Device camera scanning (iPad/iPhone/Android device running Shopify POS)
- Hardware scanner (usually a 2D barcode scanner that can read QR codes)
When a phone or tablet camera is enough
Camera scanning is fine if :
- You have a lower volume counter
- You’re scanning occasionally
- You’re running a small pop-up and want to keep hardware minimal
Just keep lighting decent and teach staff to pause for focus.
When hardware scanners are worth it
Hardware scanners win when :
- High volume checkout
- Events and rushes
- You need speed and consistency (less fumbling, less focus delay)
- Staff are scanning from cracked phone screens, low brightness, weird angles, all day long
Compatibility note : not every scanner reads QR by default. You want a 2D/QR-capable scanner, and you should test it with your specific QR format.
Operational tips that save you in the moment :
- If scanning from customer phones, ask them to increase brightness
- Avoid scanning from heavily scratched screens if possible (sounds obvious, but yep)
- If your printed QR is failing, reprint with higher contrast and larger size
- Have a fallback plan. Keep a short code that staff can type if scanning fails
Developer notes : making discount QR codes robust (encoding, redirects, and GS1 Digital Link)
If you’re a developer, partner, or you’re building an internal workflow, the main goal is simple : fewer broken scans.
Use Shopify’s existing discount link format
Shopify’s QR codes encode the existing shareable link format :
https://{shop}.myshopify.com/discount/{CODE}
If your app generates QR codes for Shopify discount codes, use that format so they’re compatible with POS scanning too.
Encoding checklist (the thing that breaks campaigns)
- Encode reserved characters properly
- Watch out for tools that encode again (shorteners, email tools, QR generators)
- Shopify’s note matters here : special character codes are often double URL-encoded by Shopify’s route helper
- Keep your URL stable and predictable. Avoid chains of redirects when possible.
GS1 Digital Link
GS1 Digital Link is not used in this Shopify release. It’s an optional standards-based approach that can unify product identifiers and web experiences, but for basic discount promos it’s usually overkill.
If you’re just trying to get “scan this, get 10% off,” keep it simple.
Tracking (UTMs)
UTM parameters can be useful, but they also add length and complexity to the URL, and they can interact with encoding.
If you add UTMs :
- Keep them consistent
- Test the final scanned link in multiple environments
- Validate the raw URL in a browser before turning it into a QR

Troubleshooting : when scanned discount codes don’t apply
Stuff breaks. Usually for predictable reasons.
Here are the common symptoms and what to check.
Symptom : QR opens the site but no discount applies
Most common causes :
- Discount code is expired, disabled, or not active yet
- Usage limit reached
- Customer eligibility rules exclude them
- Minimum purchase not met
- Discount only applies to certain products or collections, and the cart doesn’t qualify
- Another discount conflict is blocking it
Test on a fresh cart with qualifying products. If you test with a random item, you can accidentally convince yourself the QR is broken when it’s just not eligible.
Symptom : QR opens a 404 or weird page
- URL is wrong (typo in the code, wrong domain)
- Link got mangled by a shortener or campaign tool
- The QR generator altered the URL format
Copy the URL directly and paste into a browser. If the raw URL fails, regenerating the QR won’t fix it.
Symptom : discount shows up, then disappears at checkout
- Another discount is overriding it
- Stacking rules or incompatibilities are kicking in
- Cart changes cause eligibility to fail (remove the qualifying item, dip below minimum purchase, etc)
Symptom : POS can’t read the code
- Device camera permissions or focus issues
- Screen brightness too low (customer phone)
- QR printed too small or too low contrast
- Hardware scanner does not support 2D/QR codes
- Encoding mismatch if the code includes special characters
A simple testing workflow that saves time
- Test the raw link first (paste into browser)
- Test in incognito/private mode
- Test on a second device
- Test with a fresh cart
- Only then regenerate the QR if needed
Best practices for QR discount campaigns (online + in-store)
A few small choices make scanning feel effortless.
Make codes scan-friendly
- Keep them short
- Use uppercase
- Avoid ambiguous characters (O/0, I/1)
- Avoid special characters if you can
Even though scanning reduces typing, codes still show up in dashboards, receipts, and customer messages. Human readability still matters.
Use the right discount type
- Product-specific discount : great for targeted promos and controlled margins
- Order-level discount : best for simple “storewide” moments
Smart placement ideas
- Packaging inserts for repeat orders
- Receipt footer QR for next purchase
- Shelf talkers for “scan to save”
- Event wristbands, loyalty cards, booth signage
- A staff-only QR cheat sheet behind the counter
Try not to clutter. One clear QR with a clear offer beats a messy wall of promos.
Measure performance
- Use consistent naming in Shopify admin
- Track redemptions in the Discounts section
- If using UTMs, keep them consistent and tested
Prevent abuse
If the QR is in a public place, assume it will spread.
Use :
- Expiration dates
- Usage limits
- Customer eligibility rules (when appropriate)
And be careful with high-value codes on storefront windows. People will scan them at 2 am.
Wrap-up : the fastest way to “scan a discount” in Shopify today
The most reliable method is still the simplest :
- Use a QR code that opens Shopify’s discount URL :
https://{shop}.myshopify.com/discount/{CODE}
For online, this is smooth and dependable.
For in-store, Shopify POS scanning is a real upgrade, but the experience depends on your device and workflow. Camera scanning is fine for many stores. Hardware scanners are great for speed, especially during rushes.
If you want the practical action plan :
- Create a discount code in Shopify
- Use the Shopify shareable discount link (and test it)
- Download or generate the QR code
- Test on multiple devices
- Print/share it
- Monitor redemptions in Shopify admin and adjust
Conclusion
Scanning discount codes with Shopify is one of those small changes that has a big effect. Less typing. Fewer mistakes. Less awkward checkout friction. It’s faster for staff, smoother for customers, and honestly it just feels more modern.
If you do nothing else, do this : create one discount code, generate its QR in Shopify admin, test it on your phone, and keep it at the counter for a week. You’ll notice the difference pretty quickly.
FAQs (Frequently Asked Questions)
Why is scanning discount codes in Shopify better than typing them manually ?
Scanning discount codes in Shopify offers a faster, error-free, and smoother checkout experience compared to typing codes manually. It reduces friction at checkout, minimizes staff training and stress, and enhances the customer experience, especially on mobile devices.
What does 'scanning discount codes' mean in the context of Shopify ?
In Shopify, 'scanning discount codes' refers to scanning a QR code that either opens a Shopify discount link online or is scanned in-store via Shopify POS to automatically apply the discount code without manual entry.
Which types of discount codes can be applied using QR code scanning in Shopify ?
QR code scanning works with product-specific and order-level discount codes in Shopify. Shipping discounts are also discount codes but their effectiveness depends on your shipping settings and eligibility rules.
Can automatic discounts be applied through scanning QR codes in Shopify ?
No, automatic discounts cannot be applied through scanning because they do not have associated codes. Scanning only applies to discount codes that require manual entry otherwise.
How do I create a QR code that applies a discount online in Shopify ?
You generate a QR code containing a shareable Shopify discount URL formatted as https://{shop}.myshopify.com/discount/{CODE}. When customers scan this QR code, they are directed to your store with the discount automatically applied.
Where are the best places to use online discount QR codes for maximum impact ?
Online discount QR codes work best on flyers, postcards, direct mail, receipts (printed or emailed), packaging inserts, storefront signage encouraging online shopping later, in-store posters, social media posts (especially videos), and event booths or pop-ups for quick 'scan and shop' moments.


