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.
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.
Just scan the QR and the discount applies. Clearly faster than typing, reducing staff workload and errors at checkout.
https://{shop}.myshopify.com/discount/{CODE} this URL is encoded as-is. POS reads this URL to resolve the discount.
Product-specific discount codes that apply to certain products. You can generate a QR and apply it by scanning.
Order-level discount codes that apply to the entire order are also supported.
| Item | Traditional (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) |
At the store register, scan with the device camera or a connected hardware scanner to apply the discount on the spot.
Share the QR with customers so they can apply the discount directly while shopping online.
Print the generated QR to keep it permanently next to the register, hand it out to customers, or post it on in-store signage.
Open the target discount code in the admin.
Generate and get a scannable QR.
Print, distribute, or post it, then scan it on POS or online to apply the discount.
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.
This release does not adopt GS1 Digital Link. Note that it simply turns a regular URL into a QR code.
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.
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.
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.
SUMMER20 and other alphanumerics so you don't need to worry about double-encoding (a no-op), keeping operations stable./discount/{CODE} format. Splitting codes per campaign also makes it easier to measure results by traffic source.https://{shop}.myshopify.com/discount/{CODE} format. Match special-character codes to Shopify's double-encoding./discount/{CODE} share link as before.Faster than manual entry with fewer mistakesand it extends to in-store POP, flyers, and app integrations.