A QR code coupon is a paper thing that opens a web thing. The customer scans a code on a flyer, a table tent, a window or a receipt, and the coupon opens on their phone, already expiring on the right day, already in your colors, ready to show at the counter. No app, no code to type, nothing to print at home. This guide is the whole chain: the coupon, the URL, the code, the paper, and the count.
What the QR code points at
The code holds one URL. Pick the right one and everything else follows.
| Point the code at | When | Example |
|---|---|---|
| One coupon's print view | One offer on one piece of paper | yoursite.com/coupons/free-dessert/ |
| A deals page | Several offers, or offers that change | yoursite.com/deals/ |
| A page with an email gate | You want the address before the coupon | yoursite.com/vip/ |
Every coupon built with Coupon Creator has a print view: a clean page with only the coupon and a print link, at the coupon's own address. By default that address is /cctor_coupon/your-coupon/. Change the middle part to something shorter, such as /coupons/, under Coupons, Options, Link Attributes / Permalinks, then re-save your permalinks. Can I change the print-view URL? has the two clicks. A shorter URL makes a simpler code, and a simpler code scans from farther away.
For a flyer with one offer, point the code straight at the print view. For a table tent that stays on the table all season, point it at a deals page built from a coupon category, so you can swap the offer without reprinting the tent. Displaying Coupons covers the category block.
1. Build the coupon (15 minutes)
Under Coupons, Add New. The coupon is the same one you would build for the website; the QR code just changes how people arrive.
- Business Name and the Deal in plain words:
FREE DESSERT WITH ANY ENTRÉE. - Terms, five lines at most: what it covers, one per table, dine-in only, not with other offers, and the expiration. The expiration prints on the coupon by itself.
- Expiration tab: pick the last valid day. After that day the print view shows nothing to redeem, so a flyer left on a windshield in March cannot be used in June. Expiration Dates has the options.
- Design: Modern Ticket in your brand color. On a phone the coupon is the whole screen, so keep the deal short. The templates page shows the twelve designs live.
- Publish, then open the coupon's print view and copy its address from the browser. That is the URL for the code.
Creating a Coupon walks the editor screen, and Printing Coupons explains the print view.
2. Make the code (5 minutes)
With Coupon Creator Pro 3.7 or later, the code is one setting. On the coupon's Content tab set QR Code to Link to this Coupon, and the plugin draws the code on the coupon, larger in the print view, with a caption you can change. Set QR Code Display to Display in Print Template to keep it off the web page, and choose Custom Link when the code should open a deals page or an email-gate page instead. Open the print view and print it to PDF, or screenshot the code at 100%, for the person laying out the flyer. With the Add-ons, the same code goes into the coupon delivery email as an image.
Without Pro, any QR generator will do, with two rules:
- Static, not dynamic. A static code contains the URL itself. A "dynamic" code contains the generator's URL, which redirects to yours, and stops working when their free plan ends or their domain changes. If the generator talks about editing the code later or tracking scans for you, that is a dynamic code. Decline it.
- Add a tag to the URL. Append
?utm_source=flyerfor the flyer,?utm_source=receiptfor the receipt,?utm_source=tentfor the table tent. The coupon ignores the tag, and your analytics can tell the three apart. Step 5 covers the counting.
Download the code as SVG or the largest PNG offered. Error correction level M is the default and is right for print.
3. Put it on paper (30 minutes)
A QR code fails for three reasons: too small, too close to the edge, and nobody told the customer what it does.
- Size. At arm's length, 2 cm (0.8 in) across is the floor; 2.5 cm is comfortable. A window sticker read from the sidewalk needs 8 cm or more. The rule of thumb is scan distance divided by 10.
- Quiet zone. Leave a margin around the code equal to at least one of its small squares on every side. Do not run a border or a photo up against it.
- Contrast. Dark code on a light background. Never on a photo, never white on a brand color, never inside a circle.
- The line underneath. "Scan for a free dessert" beats "Scan me." Say the offer and the expiration: "Scan for 20% off your next visit. Through March 31."
- Test with two phones before you print 500 of anything. One iPhone, one Android, both with the stock camera app, from the distance the customer will stand at.
Where the code earns its keep:
- Flyer or door hanger. The code is the whole call to action. Put it bottom right, where the thumb lands.
- Table tent or counter card. The customer is already in; the coupon is for the next visit. "Scan for $5 off next time," with an expiration three weeks out.
- Window or A-frame. Big code, short offer, for the person walking past who did not come in.
- A business card or a bag stuffer. The smallest surface that still works at 2 cm.
The receipt is the best place you have
A coupon on the receipt is handed to a paying customer, by you, at the moment they liked you enough to pay. No printing run, no stack of flyers, and the audience is exactly the people who come back.
Most point-of-sale systems let you add a footer to the printed receipt. Some take an image, most take a line of text. Use what you have:
- Image allowed: the QR code at 2 cm, with the line "Scan for $5 off your next visit. Through March 31."
- Text only: the short address instead.
yoursite.com/dealstyped on a phone is thirty seconds; a code is three. Make the address short enough to type. - Email receipts: the same code or link in the email footer. It is tapped, not scanned, but it lands on the same coupon.
Set the expiration two to four weeks out. A receipt coupon is a bounce-back offer: its job is the next visit, not the next year. When it expires, change the receipt footer to the next coupon and leave the old print view alone; it shows nothing after its date.
4. Stop a code from being shared (10 minutes)
A QR code is a URL, and a URL can be texted to a friend. For most offers, "one per table" in the terms and an expiration date are enough control. When they are not:
- Coupon Creator Pro. The print counter counts every time the print view opens, which for a QR coupon means every scan, and retires the coupon after the number you set. "First 100 scans" enforces itself.
- The Add-ons. Dynamic Code set to generate on loading of the print view gives every scan its own code, listed on the coupon's edit screen, so staff can check a code off when it is used. Email Gate asks for an address before the coupon shows, which turns a flyer into a list.
5. Count the scans (10 minutes)
Three ways, from free to exact:
- Count at the register. Customers show the coupon on their phone. Tally them for two weeks and compare to the number of flyers that went out. Two percent is a normal flyer; a receipt coupon does far better.
- Google Analytics. With the
utm_sourcetags from step 2, the print view shows up by source. Pro injects the tracking code for you; with the free plugin it is a four-line snippet. Can I track the print view in Google Analytics? has both. - The print counter. Pro's counter is a scan counter when the only way to reach the coupon is the code. Print it on the coupon or keep it to yourself.
The same trick for menus
A QR code on the table that opens your menu is the same chain with a different page at the end. If the menu lives in Toast, Steuard keeps the WordPress menu in sync with it, and How to Put Your Toast Menu on a WordPress Site covers the three ways to get it there. The dessert coupon can sit on the same page as the menu.
For the offers worth putting behind a code, see Restaurant Coupon Ideas That Get Redeemed, and for a code that runs a buy one get one, BOGO Coupons.