How do I make a QR code that sends shoppers to my store?
Last updated
The full address, starting https://.
Optional. Leave all four blank to use the address as pasted.
Where the code is printed, e.g. qr or flyer
The kind of placement, e.g. print or packaging
e.g. spring-insert
Optional: which version, e.g. back-of-box
Dark squares on a light ground scan most reliably.
The usual choice for print. Survives light scuffs and creases.
The SVG scales to any size.
Paste the page the code should open, then press Make QR code. Nothing is drawn until you do.
What decides whether a printed code scans
A QR code generator turns a web address into a square of dark and light modules that a phone camera reads and opens, so a packaging insert printed with a code for your welcome page sends every scan to that page, and adding campaign tags to the address lets your analytics show those visits as coming from the insert.
Codes are static and drawn in your browser. The 4 to 1 contrast floor, the density bands and the print sizes are our own rules of thumb, not a published standard.
A code is only as good as its first scan in the real world, on a crumpled insert under shop lighting. These are the settings that decide that, and what each one trades away.
- Destination
- The full web address the code opens, starting https://. A path such as /pages/welcome is refused, because a code scanned off paper has no site to be relative to.
- Campaign tags
- Optional source, medium, campaign and content labels added to the end of the address. Your analytics reads them to tell a scan from the insert apart from a visit off social or search. Leave them all blank and the address is used exactly as pasted.
- Error correction
- How much of the code can be scuffed, folded or covered and still read: L is the least, H the most. Higher levels add modules, so the same address makes a denser code. M suits most print; Q or H suit packaging that gets handled.
- Density
- How much the code has to hold. A long product link with every tag filled in makes many small modules, which need a larger print to scan from a normal distance. Our light, moderate and dense bands, and the smallest print size each suggests, are rules of thumb, not a standard.
- Colours
- Dark modules on a light ground, with enough difference between them. We flag anything under 4 to 1 as low contrast, and flag a light-on-dark code separately, because many phone cameras will not read an inverted one at all.
- Quiet zone
- The blank border, 4 modules wide, that tells a camera where the code starts. It is built into every download. Do not crop it or print text into it.
- SVG or PNG
- SVG scales to any size without blurring, which is what a printer or designer wants. PNG is a fixed image for places that only take pictures; pick a size at least as large as it will be shown.
Nudgesmart is available on the Shopify App Store. Browse the template library or see what it costs.
Five printed codes, checked before they ship
Invented store and placements. Each row runs the same checks as the generator above: the exact address the code would carry, how dense that makes it, a suggested error-correction level for the placement, and a colour verdict. The last row shows an address the generator refuses.
| Placement | Address the code carries | Density | Suggested level | Colours |
|---|---|---|---|---|
| Packaging insert to a welcome offer | https://harbourgoods.example/pages/welcome?utm_source=qr&utm_medium=packaging&utm_campaign=insert-card102 characters | Moderateat least 2.5 cm | Q (quartile) | Scannable colours17.5 to 1 |
| Shop-window poster, no tags | https://harbourgoods.example/29 characters | Lightat least 2 cm | M (medium) | Scannable colours10.5 to 1 |
| Market stall flyer, long product link | https://harbourgoods.example/collections/summer-linen/products/weekend-linen-shirt-sand?variant=4410&utm_source=qr&utm_medium=print&utm_campaign=summer-market-stall&utm_content=flyer-a5185 characters | Denseat least 3.5 cm | M (medium) | Low contrast3.3 to 1 |
| Brand colours, inverted | https://harbourgoods.example/pages/rewards?utm_source=qr&utm_medium=receipt75 characters | Moderateat least 2.5 cm | M (medium) | Inverted17.7 to 1 |
| A site path instead of a full address | That address is a path on a site, not a full address. A printed code has no site to be relative to, so start it with https://. | — | — | Scannable colours21 to 1 |
Before the code goes to print
Test the physical print, not the screen
A code that scans perfectly on a monitor can fail on glossy card, a curved bottle or a dim shelf. Print one, scan it with more than one phone at the distance people will stand, then order the run.
A printed code cannot be edited
The address is fixed in the pattern. If the page moves or the product is discontinued, every printed code breaks. Point codes at pages you will keep, such as a welcome page, rather than one product variant.
The tags are only as good as your naming
Campaign tags are free text. Spring-Insert and spring-insert show up as two campaigns in most analytics. Settle on lower-case names and reuse them exactly.
Our thresholds are rules of thumb
The contrast floor, the density bands and the print sizes are Nudgesmart guidance built from how phone cameras commonly behave, not a published standard, and no substitute for a real test scan.
QR code questions
Do these QR codes expire?
No. The address is written into the code itself, so there is no redirect service in between that could lapse or start charging. The code works for as long as the page it points to exists. The flip side is that you cannot change where it points after printing.
How do I track scans from a QR code?
Fill in the campaign tags. Scans then arrive at your store with a source such as qr and a campaign name, and your analytics reports them as their own line. The code itself counts nothing; the tags are what make the visits recognisable.
Can I use my brand colours?
Yes, as long as the modules stay clearly darker than the background. The generator checks the pair and warns on low contrast or an inverted code. Test the final print with two or three different phones before a large run.
What size should I print a QR code?
It depends on how much the code holds and how far away people stand. For a short link read at arm length, our rule of thumb is at least 2 cm across; a dense code or a poster read from a distance needs much more. The density band on the result gives our suggestion for the link you entered.
Which error correction level should I choose?
M for most print. Q or H if the code sits on packaging, a label or anywhere it will be scratched, folded or partly covered. L only for screens and clean prints, where the smaller code is easier to read.
Is the link I enter sent anywhere?
No. The code is drawn in your browser and the SVG and PNG files are created there. Nothing you type reaches a server.
A printed code brings the visit. The page has to keep it.
Nudgesmart can run an offer popup on the page a code points to, one of 13 campaign types, started from a ready-made template.