When running an in-store coupon campaign, one question comes up quickly: "Do we need a scanner for this?"
Usually, no. There are two ways to validate a coupon in person, and neither requires more than a phone:
Mark-as-Used is a button on the coupon page. Staff taps it on the customer's phone.
QR code scanning lets staff scan the QR from their own device.
Both prevent reuse and track redemptions. The choice comes down to how your team works, not technical requirements. This guide covers when to use each.
Validation means three things happen at the counter:
That's the whole job. QR codes, buttons, scanners are just different ways of performing those checks. The system underneath is the same either way.
Mark-as-Used and QR scanning perform the same validation. The difference is who triggers it and how. Pick whichever matches your team's workflow, not whichever sounds fancier.
A button on the coupon page that staff taps to mark the offer as redeemed. The customer opens the voucher on their phone, staff glances at it, and taps "Mark as Used." The status flips immediately. No scanning, no separate device.
No hardware. No app to install. The button lives on the voucher page, so there's nothing to set up on the staff side. Show someone once and they've got it. The status updates the moment they tap.
This works best for small teams at a single location. Restaurants, retail counters, bars. If you have one or two people handling redemptions and you want to be live today, this is the way to go. For many campaigns, this isn't the lightweight option — it's the correct one.
For a lot of businesses, Mark-as-Used is all they ever need. It's not a stepping stone. It handles low- to medium-volume campaigns on its own.
For setup details, see the step-by-step setup guide or the Mark as Used documentation.
Staff use their own device to scan the QR code on the customer's voucher. The system validates the code automatically and marks it as used — all in one action. Staff see a clear result: Valid, Used, or Expired.
The big difference: validation happens on the staff's device, not the customer's. Staff point their camera, the system checks the code, and they get an instant answer. There's no judgment call. The scan triggers everything.
This matters most when you have multiple locations or different people working different shifts. It also matters when volume picks up and you need every redemption handled the same way. Events, door entry, busy service windows, multi-store rollouts. If you're handling 50+ redemptions in a day, scanning is the better fit.
With scanning, staff don't decide whether a coupon looks valid. The system tells them. That's the real advantage.
For the full scanning walkthrough, see how to redeem QR code coupons in-store or the scanner setup documentation.
Quick reference if you want it all in one place:
| Feature | Mark-as-Used | QR Code Scanning |
|---|---|---|
| Setup | Very easy — enable the button and go | Moderate — staff need scanner access |
| Hardware needed | None | Phone with camera |
| Staff training | Minimal — one walkthrough | Short session recommended |
| Speed per redemption | Fast | Fast |
| Control level | Medium — relies on staff action | High — system-driven |
| Who triggers validation | Staff taps on customer's phone | Staff scans from own device |
| Best for | Simple campaigns, small teams | Scaled operations, multiple locations |
Your codes, tracking, and reporting all work the same way regardless of which method you pick. You're not locked into either one.
Don't overthink it. If you're launching a simple campaign at one location and want to be live today, use Mark-as-Used. It does the job and takes minutes to set up.
If you're running something bigger, with multiple locations or shifts, or you want validation to happen on the staff's device instead of the customer's phone, use the scanner. It's the better pick when consistency across different people matters more than speed of setup.
Still not sure? Start with Mark-as-Used. Seriously. You can switch to scanning later without changing your codes or your configuration. Nothing breaks.
Most teams follow this path naturally: Mark-as-Used first, scanner later when the volume or the number of locations justifies it.
If you're running a simple promotion at one location with a small team, the scanner adds setup and training that you probably don't need. Start simpler. You can always switch.
Walk through the flow with your team before the first customer arrives. It takes two minutes and catches the kind of confusion that turns into a line at the counter on day one.
Neither validation method works if everyone gets the same code. If the code is "SAVE20" for everyone, there's nothing to mark as used. One person uses it, another person shows the same code five minutes later, and your staff can't tell the difference. Both methods require unique codes.
For a deeper look at preventing abuse, see how to prevent coupon abuse in in-store promotions.
Even Mark-as-Used needs a one-liner for staff: "If someone shows a coupon, tap the button." That's the entire script. But without it, some staff will apply the discount without tapping, and your tracking goes dark.
Validation is one piece. Before anyone shows up at the counter, you need to get the coupon to them. Distribution and validation are separate decisions, and you can mix them however you want.
Here's how teams typically choose:
For distribution options, see how to distribute QR code coupons. For the full redemption walkthrough, see how to redeem QR code coupons in-store.
Best way to understand both: try them. Send yourself a test voucher, tap the Mark-as-Used button, then open the scanner and scan the QR. Two minutes, no commitment.