POS / New feature

Apply discount codes by "QR scan"
No more typing in long codes by hand

Staff can now apply a discount code simply by scanning a QR at checkout. In the admin, you can generate, print, and share a scannable QR from any discount code, for use in-store or online.

What's on this page
  1. What's actually changing (in 30 seconds)
  2. How it works: from generating the QR to applying it
  3. Which discounts are supported and which aren't
  4. Old way (manual entry) vs. scanning
  5. Use cases (POS / online)
  6. How to use it (3 steps)
  7. 5 points developers should know
  8. 3 use cases for your business
  9. A one-line summary for pitches

1What's actually changing

Until now, staff at checkout entered discount codes one character at a time by hand.
Now, from a discount code in the admin, you can generate a scannable QR code , and at checkout (POS) or online, just scan that QR to apply the discount.

Before: typing in long codes by hand

SUMMER20 Entering a code like this on the keypad. Typos and double-checking slow things down, and the checkout backs up when it's busy.

Now: scan a QR

Just scan the QR and the discount applies. Clearly faster than typing, reducing staff workload and errors at checkout.

2How it works: from generating the QR to applying it

Shopify admin Open a discount code Generate & download QR Print & share In-store signage / by the register Hand out to customers / post on the web Paper or digital Scan POS camera / Hardware scanner Read the URL Apply to checkout Resolve discount/SUMMER20 Apply the discount to the cart
What's inside the QR Not a new mechanism — it's the shared link Shopify has always used.
https://{shop}.myshopify.com/discount/{CODE} this URL is encoded as-is. POS reads this URL to resolve the discount.

3Eligible vs. ineligible discounts

Supported

Product-specific discount codes

Product-specific discount codes that apply to certain products. You can generate a QR and apply it by scanning.

Supported

Order-level discount codes

Order-level discount codes that apply to the entire order are also supported.

Automatic discounts are not supported.Because there's no code to scan in the first place (the discount applies automatically without a code), it isn't included in the QR scan mechanism.

4Traditional (manual entry) vs. scanning

ItemTraditional (manual entry)QR scan
How it's applied Typed in One character at a time on the keypad Scan Done in one shot with a camera / hardware scanner
Speed The longer the code, the slower it is Clearly faster Reduces friction in the checkout line
Input errors Typos can happen Scanning avoids transcription errors
Where the QR comes from Generated and downloaded from a discount code in the admin
Channels POS / online (copy & paste) POS (camera/scanner) + online (used by customers)

5Use cases (POS / online)

Apply by scanning in POS

At the store register, scan with the device camera or a connected hardware scanner to apply the discount on the spot.

Customers use it online

Share the QR with customers so they can apply the discount directly while shopping online.

Print for in-store display and handouts

Print the generated QR to keep it permanently next to the register, hand it out to customers, or post it on in-store signage.

6How to use it (3 steps)

1

Open the discount code

Open the target discount code in the admin.

2

Generate and download the QR

Generate and get a scannable QR.

3

Share, scan, and apply

Print, distribute, or post it, then scan it on POS or online to apply the discount.

Detailed steps are in the Shopify Help Center's "Scan a discount code" guide. You can generate a QR for either product-level or order-level discount codes.

75 points developers should know

/discount/

1. The QR contains an existing share link

The QR just encodes https://{shop}.myshopify.com/discount/{CODE} . It's the same format as the shared discount links Shopify has used all along.

No GS1

2. GS1 Digital Link is not used

This release does not adopt GS1 Digital Link. Note that it simply turns a regular URL into a QR code.

3. For custom QR codes, match the URL format

If your app generates its own QR codes for Shopify discount codes, align them with this URL format. Once aligned, they'll be compatible with POS scanning.

%25 ×2

4. Codes with special characters are "double" URL-encoded

For codes containing special characters, Shopify's route helper twice URL-encodes them.SUMMER20 and other alphanumeric characters, it's a no-op; but when a code contains special characters, so that POS can decode it correctly, matching the double encodingis required.

5. Automatic discounts can't be scanned (by design)

QR scanning only works for discounts that have a code(product-specific / order-level discount codes). Automatic discounts have no code, so they're excluded. If you design a promotion around "apply by scanning," you'll need to set it up as a code-based discount.

83 use cases you can put to work

In-store signage
USE CASE 1

Keep a "just-scan coupon" permanently on in-store signage / next to the register

Challenge
Even when you tell in-store customers about a coupon verbally or on the receipt, staff still have to type the long code at the register, which is tedious and error-prone.
Solution
Generate and print a QR from the campaign's discount code and post it next to the register or on receipts. Staff just scan it with the POS camera/scanner.
Result
Checkout is faster, reducing friction during busy periods, and it prevents misapplied discounts from mistyped codes.
Technical notes
Keep codes as SUMMER20 and other alphanumerics so you don't need to worry about double-encoding (a no-op), keeping operations stable.
USE CASE 2

"Drive-to-online coupons" on flyers, direct mail, and social media

Challenge
You want to drive shoppers from paper flyers and direct mail to online purchases, but the extra step of entering a code causes drop-off.
Approach
Put a discount-code QR on flyers, direct mail, and social images. Customers scan it with their phone and can apply the discount and buy online right away.
Impact
The path from offline campaigns to online purchases becomes smooth, reducing drop-off from code entry.
Technical notes
The QR URL is in the /discount/{CODE} format. Splitting codes per campaign also makes it easier to measure results by traffic source.
USE CASE 3

Make QRs issued by apps/partners POS-compatible

Challenge
Membership apps and coupon-distribution apps generate their own QRs, so scanning them in Shopify POS doesn't apply the discount.
Approach
Standardize what your custom QR encodes to the https://{shop}.myshopify.com/discount/{CODE} format. Match special-character codes to Shopify's double-encoding.
Impact
App-issued QRs pass POS scanning as-is, connecting store operations and app campaigns without a break.
Technical notes
These are regular URLs, not GS1 Digital Link. Avoiding special characters and using alphanumeric codes minimizes the risk of decoding mismatches.

9One-line summary you can use in a pitch

"Turn discount codes into QR codes in the admin andjust scanning with a POS camera/scanner or reading them onlineis all it takes to apply them — a new feature.
Under the hood, it's the same /discount/{CODE} share link as before.Faster than manual entry with fewer mistakesand it extends to in-store POP, flyers, and app integrations.
(Automatic discounts are not supported.)"