What a coupon QR code shows
When someone scans a coupon code made with QRaft, they land on a clean mobile page with three things:
- The discount itself, written as a clear headline, such as "20% off all hot drinks".
- The promo code, with a copy button, so online shoppers can paste it at checkout and in-store customers can show it at the till.
- The expiry date, so nobody has to guess how long the offer lasts.
The page follows the language you write it in: Arabic pages read right to left, English pages left to right. When the expiry date passes, the page tells visitors that the offer has ended instead of showing a code your staff will refuse at the counter.
Coupon QR code ideas for the whole year
The best coupon campaigns are tied to a moment people are already shopping for. Here is a calendar you can adapt to your market:
| Occasion | When to launch | Offer idea | Where to put the code |
|---|---|---|---|
| Ramadan | 2–3 weeks before the first day | Iftar or suhoor bundles, family boxes | Delivery bags, receipts, window posters |
| Eid al-Fitr and Eid al-Adha | The last 10 days before Eid | Gift sets, new clothes, sweets | Shop windows, gift wrapping, Instagram stories |
| Saudi National Day (23 September) | 1–2 weeks before | A discount tied to the date, such as 23% off | Shopping bags, counter stands, flyers |
| White Friday / Black Friday | Early to mid November | Tiered discounts or free delivery | Online ads, email, packaging inserts |
| Back to school | August in the Gulf, September in Egypt | Stationery, uniforms, bags | Flyers near schools, receipts |
| Opening or anniversary | 2 weeks before the date | First-week discount or a free item | Door hangers, neighbourhood flyers |
The same ideas work anywhere: a bakery in Riyadh, a pharmacy in Cairo or a clothing shop in London only needs to swap the occasion.
How to set up a coupon QR code
- Choose the Coupon type in QRaft.
- Write the discount as a concrete headline. "15% off your next order" gets more scans than "Special offer".
- Pick a short promo code that's easy to read aloud and type, such as EID15. Avoid characters people confuse, like O and 0.
- Set the expiry date. Give the campaign a real deadline; open-ended offers feel less urgent.
- Design the code with your logo and brand colors, and add a frame with a call to action like "Scan for 15% off".
- Check the scannability score in the editor, then download SVG for print or PNG for social media.
- Test the printed proof on an iPhone and an Android phone before the full print run.
Measure each channel with its own coupon QR code
If one code goes on the window, the flyers and Instagram, you'll know how many people scanned in total but not which channel worked. Create one coupon code per placement instead, and name them clearly in a folder: "Ramadan – window", "Ramadan – delivery bag", "Ramadan – Instagram".
Each dynamic code shows scans per day, unique visitors, cities and devices, plus a heatmap of the hours and weekdays when people scan. You can compare a campaign with the previous period, export the data as CSV, and get a weekly email report without logging in.
One more trick: give each channel its own promo code too, such as RAM-WIN and RAM-BAG. Scans tell you how much interest a placement creates; the promo codes entered at your till or online checkout tell you how many sales it brought.
The free plan includes 3 dynamic codes, which is enough for a small three-channel test. Pro gives you 100 dynamic codes and full analytics history for larger campaigns.
Limits, timing and smart rules
On Pro, smart rules and smart routing give you more control over a coupon campaign without reprinting anything:
- A maximum number of scans, for "first 200 customers" style offers.
- Routing by time of day, for example a happy-hour coupon between 3 and 6 pm and your regular page the rest of the day.
- Routing by phone language, so Arabic phones open the Arabic coupon and English phones the English one.
- Routing by country, if one printed code travels with products sold in Saudi Arabia and Egypt with different offers.
- An A/B split, to test "20% off" against "buy one, get one free" with the same printed code.
A scan limit counts scans, not people. One customer can scan twice. If an offer must be strictly single-use, issue single-use promo codes in your checkout or till system as well.
What customers see after the coupon expires
Expired coupons are where many campaigns annoy customers. A printed flyer stays on fridges and notice boards for months, and an old code that fails at checkout feels like a broken promise.
With a coupon code, the page itself says the offer has ended once the expiry date passes. Because the code is dynamic, you can also reuse it: update the page for the next campaign and the same receipt sticker or window decal moves from Ramadan to Eid without a new print run.
Common coupon campaign mistakes
- A vague offer. Say exactly what the discount is and what it applies to.
- A code printed too small. Keep it at least 2 × 2 cm, and larger on posters read from a distance.
- Low contrast, such as a light code on a busy photo. Use a dark code on a light background.
- No expiry date, so the offer never creates urgency.
- One code for every channel, so you can't tell what worked.
- Skipping the test scan on a printed proof.
Questions
Does a coupon QR code apply the discount automatically?+
No. The code opens a page that shows the discount and the promo code. Customers copy the code into your online checkout or show it at the till, where your own system applies the discount.
Can I change the discount after the code is printed?+
Yes. A coupon code is dynamic, so you can update the offer, the promo code or the expiry date at any time and the printed code stays the same.
Can I limit how many people use a coupon QR code?+
On Pro you can set a maximum number of scans. Because one person can scan more than once, use single-use promo codes in your checkout system if you need a strict limit.
Is a coupon QR code free?+
Coupon pages are hosted, so they count as dynamic codes. The free plan includes 3 dynamic codes with 7 days of scan history; Pro raises that to 100 codes with full history.