A customer shows a coupon on their phone. Your staff doesn't know: is it valid? Has it already been used today? Is it even real?
Without a way to check, they guess. They give the discount because saying no feels worse than losing money. That's where most in-store coupon campaigns start bleeding margin, quietly, from day one.
This article walks through how QR code scanning fixes that: what happens when a customer presents a code, what your staff sees on their phone, and how the whole thing works without touching your POS system. If you're planning a full in-store promotion around this, see our complete guide to running in-store promotions without POS integration.
Not every campaign needs QR scanning. If you're running a simpler promotion, a "Mark as Used" button might be all you need. See Mark-as-Used vs QR code scanning to figure out which fits your setup.
With paper coupons or static discount codes, there's no reliable way to check any of that. Staff make a judgment call, and most of the time they just give the discount because holding up the line isn't worth it.
Static codes make it worse. One person shares a screenshot in a group chat, and suddenly fifty people are using the same "exclusive" offer. Your staff can't tell the difference between the original recipient and the fiftieth copy.
The obvious fix is a POS integration, but that's overkill for most promotions. You don't need to rewire your checkout system just to run a weekend campaign or a loyalty reward. You need something that sits between "trust the paper" and "rebuild your infrastructure."
The whole process is five steps. No special hardware, no POS changes.
The key piece is that each person gets their own QR code. When staff scan it, the scanner checks that code's status: whether it exists, whether it's been used, and whether it's still within the valid date range. Nobody has to guess. For a broader look at how this fits together, see the QR code redemption system overview.
You send each customer a unique QR code through your existing email platform. The code arrives as part of a normal campaign message, and each recipient gets their own.
The customer walks in, pulls up the email on their phone, and shows the QR code to your staff. Nothing to download, nothing to print. They just hold up their phone.
Staff open the Coupon Carrier scanner on their own phone. It's a mobile website, not a native app, so there's nothing to install. They point the camera at the customer's QR code and the scanner reads it instantly.
The scanner checks the code in real time. If it's valid, the same scan marks it as redeemed. There's no separate confirm step, and the code is locked from that moment.
The scanner shows Accepted and the customer gets their discount. If the code can't be used, staff see Already redeemed, Maximum redemptions reached, or Invalid code instead. The whole interaction takes a few seconds.
The scanner interface is deliberately simple. Staff open the scanner page on their phone, point the camera, and get an immediate result. There are no menus to learn and no training manual to read.
The results staff see most often:
Your staff doesn't need to interpret anything: the message on screen is the answer. If a code allows more than one use and has hit its limit, the scanner shows Maximum redemptions reached. Expired codes can't be redeemed either. It runs in any phone browser, so there's nothing to install.
A redeemed code is locked permanently. Any future scan shows "Already redeemed," whether it's five minutes later or five days later. The system also logs every redemption with a timestamp, so you have a full record of which codes were actually used and when. That's the data you need to measure how a promotion actually performed.
Static codes get shared. Count on it. One person screenshots the code, drops it in a group chat, and suddenly your "exclusive 20% off" is being used by people who never signed up for anything. Without validation, you won't even know it's happening until the numbers don't add up at the end of the month.
Unique codes fix this. Each person gets their own QR code, so a leaked code can still only be redeemed once. The scanner checks every code's status live, and once a code is scanned and marked as used, it's locked. A screenshot of that code gets rejected, and the original person can't use it again either.
This is the core difference between a QR code that's just a picture and a QR code that's actually tied to a redemption system. The picture can be copied endlessly. The tracked code can only be used once.
Getting this running doesn't take long. Here's the high-level sequence:
Try a retail demo voucher to see the customer view and Mark-as-Used flow. Open it on your phone, mark it as used, then check its status again. This sample does not provide scanner access.
If you're running promotions across multiple locations, this approach works out of the box. Every location scans against the same codes, so staff at any store can scan and validate without syncing anything between systems. Create one scanner login per location if you want reports to show which login redeemed each voucher.
There's no hardware to buy and no app to install. Your staff opens a webpage on whatever phone they already have. That's the entire technology requirement. For pop-up events, seasonal campaigns, or any situation where you need coupon control but don't want to touch your register system, this is the practical answer.
For a broader look at running in-store promotions with this setup, including campaign planning and operational tips, see How to Run an In-Store Promotion Without POS Integration.
A shared discount code (like "SAVE20") and a QR code coupon look similar from the customer's side. The difference is what happens behind the scenes.
| Shared discount code | QR code coupon | |
|---|---|---|
| Who gets it | Everyone gets the same code | Each person gets their own unique code |
| Reuse | Anyone can use it, as many times as they want | One scan, then it's locked |
| Sharing | A screenshot works for anyone | A screenshot shows "Already redeemed" after the first scan |
| Staff experience | Staff type in a code and hope it's legit | Staff scan and get a clear result, such as Accepted or Already redeemed |
| Tracking | You know the code was entered X times | You know which person's code was redeemed, and when |
If you're running a mass awareness campaign and don't care about tracking individual use, a shared code is fine. If you need to control who gets a discount and prevent reuse, a QR code coupon is what you want.
Try a demo voucher, open it on your phone, and go through the same experience your customers would. Then check the setup docs when you're ready to build your own.