QR Codes for Coupons and Discounts

Hand out an offer that ends when you say it ends, and see which placements bring people in.

Free plan: 3 dynamic codes and unlimited static codes · No credit card

This code is real. Point your phone camera at it.

The short answer

A coupon QR code should point to a page that shows the offer and a short promo code, not hold the discount inside the pattern. Add an expiry date or a scan limit so the offer ends on schedule, and use one code per placement to see where it works. A scan count measures interest; redemptions are only counted at your checkout.

2 cmOn a receipt or card
5–6 cmOn a counter sign
Expiry + scan capLimits on the Pro plan

How to make a QR code coupon

  1. Create the offer page

    Build a simple mobile page that states the offer, the terms and a promo code that the cashier or checkout can recognize. Keep the code short enough to read aloud.

  2. Make a dynamic code for it

    Save the page URL as a dynamic code. Name it after the placement, such as “Receipt coupon – March”, so reports are readable later.

  3. Limit the offer

    On the Pro plan, set an expiry date, a maximum number of scans, or both. This is the practical defence against a coupon being screenshotted and shared widely.

  4. Print it where the decision happens

    Put the code on the receipt, the bag, the table card or the next-visit card, close to the moment of purchase. Add one line: what it is worth and when it ends.

  5. Match scans to redemptions

    Compare scans with the promo codes your till or webshop records. The ratio tells you how many scanners actually bought.

Size, distance and placement

Best code type
Dynamic URL code to an offer page, with expiry or scan limit (Pro)
Typical scan distance
Receipt or card: 20–30 cm. Counter sign: up to 60 cm
Minimum printed width
Receipt or card: 2 cm (0.8 in). Counter sign: 5–6 cm (distance ÷ 10)
What goes in the code
Only a link. Put the discount logic in your checkout so it cannot be forged by editing a pattern
Offer wording
State the value and the end date beside the code, for example “10% off until 30 June”
Receipts
Thermal paper prints coarsely and fades. Print the code larger and keep it dark and simple
What to measure
Scans per placement, then promo-code redemptions at checkout

Why dynamic matters for coupons

A coupon is the clearest case for a dynamic code, because it has to end. With a dynamic code you can set an expiry date or a scan cap, swap the offer for the next one without reprinting the receipt roll, and read results per placement. A static code cannot expire: once printed it keeps opening the same page forever. If a static link must be used, the page behind it has to enforce the end date itself.

Common mistakes

Treating scans as sales.A scan shows interest, not a purchase. Only your own checkout can count redemptions, so give each offer a promo code that you can match.
Putting the discount inside the code.Anyone can generate a code that says “50% off”. Keep the logic on your side and let the code open a page.
No end date.An open-ended coupon trains customers to wait. Set an expiry in the code settings and print the date beside it.
One code for every channel.If the same code sits on receipts, posters and bags, you cannot tell which one worked. Make one per placement.
Printing on faded thermal paper.Receipt paper can fade or smudge. Keep the code high-contrast and test a receipt after a day in a pocket.

Tip: once an offer ends, do not leave the code dead. Point it at the next offer or at your main menu, so coupons already in drawers and wallets still lead somewhere useful.

Frequently asked questions

Can a QR code coupon expire?

Yes, if it is a dynamic code with an expiry date, which is a Pro plan control. After that date the code stops redirecting. You can also cap the number of scans.

Can a QR code be used only once?

You can set a maximum scan count, such as one, but a scan is not the same as a purchase. For true single-use coupons, use unique promo codes redeemed at your checkout.

How do I track how many coupons were redeemed?

Scan counts show interest. Redemptions are recorded where the sale happens, so give each offer its own promo code and compare the two numbers.

Should I put the discount code in the QR code itself?

No. Encode a link to an offer page instead, so you can change or end the offer and nobody can forge a discount by editing a pattern.

Start with a free code.

Free plan: 3 dynamic codes and unlimited static codes · No credit card

Start free →

Last reviewed: October 2026