QR codes that point to your website: doing it right
A QR code is worth having where people are holding something and have a moment: a menu, a flyer, a window sticker, an invoice, a sign at a job site. Point it at the exact page they need, not just your home page, and make it from your own web address with a plain generator so it never expires. Then print a test at the real size and scan it with two different phones before the full print run.
Where QR codes actually help
A QR code saves typing. It helps most where typing would be a nuisance and the person is standing still:
- Restaurant tables and takeout bags, for the menu or online ordering.
- Shop windows, so people passing after hours can see your hours, services or booking page.
- Flyers and door hangers, leading to a page about the offer on the flyer.
- Invoices and receipts, leading to your Google review page or a "thank you" page.
- Yard signs at a job, leading to photos of similar projects.
- Product packaging or tags, leading to care instructions or a reorder page.
- Event tables and trade-show booths.
They help much less where people are moving: on the side of a van on the highway, on a billboard, or on a TV ad. A short, readable web address does that job better.
Send people to the right page
The most common mistake is pointing every code at the home page. Someone who scanned a code on a menu wants the menu, not your story. Decide what the scanner wants at that moment:
- On a table: the menu.
- On a receipt: the review page.
- On a flyer for spring cleanups: the spring cleanup page, with the price and a booking button.
- On a window: hours and a phone number, or your booking page.
If the page does not exist yet, create it before you make the code. And tell people what they will get, right next to the code: "Scan for today's menu", "Scan to book", "Scan to leave a review". A code with no label gets fewer scans.
Static codes, dynamic codes, and the expiry trap
There are two kinds of QR code, and the difference matters a lot to a small business.
- A static code contains your web address directly. It works forever, as long as the address works. Any free generator can make one.
- A dynamic code contains a short link belonging to the QR company, which then forwards to your page. It lets you change the destination later and count scans. But many dynamic code services are subscriptions. If you stop paying, or the company closes, the code can stop working or show their ads, and every printed menu and sign becomes useless.
The way around it: make a static code that points to a page address on your own domain, such as yourbusiness.com/menu. If you later want the code to lead somewhere else, change what that page shows, or have your website forward that address to the new page. You keep the flexibility of a dynamic code without depending on a QR company.
Making a code that scans easily
- Keep the address short. A short address makes a simpler pattern that scans from farther away and prints cleanly.
- Dark on light. Black or a dark color on white or a pale background. Light codes on dark backgrounds and low-contrast brand colors fail on some phones.
- Leave a margin. Keep a clear border of blank space around the code, about the width of a few of its small squares. Do not let text or a photo touch it.
- Size it for the distance. On a card or receipt held in the hand, around an inch across is a safe minimum. On a window or sign read from a few feet away, make it much bigger. A useful rule of thumb: the farther people stand, the bigger the code, roughly an inch for every ten inches of distance.
- Avoid shiny surfaces where glare can wash out the squares, and avoid putting it across a fold.
- Logos in the middle usually work, but only test results tell you for sure.
Test it like a customer
Before the full order:
- Print one copy at the real size, on the real material if possible.
- Scan it with the camera app on an iPhone and on an Android phone.
- Scan from the distance a customer would stand, in the light where it will hang.
- Check that the page opens quickly on mobile data and is easy to read on a phone. Is your website mobile-friendly? has a quick check.
- Check that the page has what the label promised.
Print the written web address under the code as well, for people who do not scan or whose camera will not read it.
Knowing whether people scan
If you want to see how often a code is used, give it its own page address, like yourbusiness.com/flyer, and look at visits to that page in your website statistics. Different flyers or locations can each have their own address. Counting website enquiries explains which numbers are actually worth watching.
Keep your codes trustworthy
Fake QR stickers placed over real ones, on parking meters or restaurant tables, are a known scam, and the FTC has warned consumers about it at ftc.gov. Protect your customers and your name:
- Glance at codes in public places, like your window or table tents, from time to time to make sure nobody has stuck another code on top.
- Use your own domain in the code, so customers see an address they recognize before they open it.
- Never ask for payment details on the page a QR code opens unless it is your real, known payment page.
Do not let the code outlive the page
Printed codes stay in circulation for years. If you redesign your site or move to a new one, the page address behind each code must keep working, or forward to its replacement. Keep a list of every address you have put in a QR code, and give that list to whoever builds your next site. Why forwarding old page addresses matters explains the reasoning.
Your QR checklist
- A clear reason for the code, in a place where people stand still.
- A specific page on your own domain, with what the label promises.
- A static code from a plain generator.
- A short label next to it, and the written address below it.
- Dark on light, with a margin, at a size suited to the distance.
- Tested on two phones, at real size, in real light.
- The page address recorded on your list of addresses to keep.
If the pages your codes would lead to are out of date or awkward on phones, you can see your site rebuilt first, with the page addresses you already use kept working.