QR codes that actually get your app installed
By Abdalla Kamesh · Published September 23, 2026 · 4 min read

Here is an advertising channel with a 100% open rate that most stores never use: the box.
Every order you ship is a physical object arriving in a customer’s hands, at a moment when they are actively pleased with you. A QR code on the packing slip costs a few square centimetres of ink and converts better than almost anything you could buy.
Where to put the code
In rough order of return:
1. The packing slip or invoice. Everyone looks at it, and it is already being printed. Zero incremental cost.
2. A small insert card. More expensive than ink but more effective, because a card is a deliberate object rather than a line on a document. Worth it if your average order value supports it.
3. On the box or the tape, if you print custom packaging. Seen before opening.
4. In-store signage, if you have physical retail. At the counter, by the fitting rooms, on the receipt.
5. Market stalls and events. A card on the table, with the code big enough to scan from a metre away.
Do not put it on the outside of a plain shipping label where couriers’ own barcodes live — scanners and humans both get confused.
What the code should point to
Not the App Store. Not Google Play. A landing page you control.
Three reasons this matters:
Platform detection. One printed code, scanned by both iPhone and Android users. The landing page reads the device and offers the right destination. Two separate printed codes labelled “iOS” and “Android” is a decision you are asking a customer to make, and some of them will get it wrong.
Measurement. A code that points straight at a store listing tells you nothing. A landing page counts scans, and can carry a campaign parameter per print run — packing slip versus insert card versus counter sign — so you learn which surface works.
The Android case. If your app is not on Google Play yet — because of the 12-tester, 14-day requirement or pending paperwork — your landing page can serve a signed direct APK instead. The same printed code keeps working when you do get on Play; you just change the page.
StoreToNative’s Install Growth Kit generates these QR landing pages, with platform detection and the APK path built in, so this is a link to copy rather than a page to build.
What the landing page must do
A scan is a moment of intent that lasts about four seconds. The page has to be fast and obvious.
- Load in under a second. A scan that spins is a scan that is abandoned.
- Say your brand name at the top. People scan codes and forget what they scanned.
- One button. “Get the app.” Platform-detected. Not two buttons, not a store badge grid.
- One line of benefit copy. “Track orders and reorder in two taps.”
- No signup, no email capture, no cookie wall. Every field between the scan and the install costs you installs.
- For the APK path: explain the security prompts. Android will warn a first-time sideloader. Three short steps with the exact wording of the dialogs turns a scary moment into a followed instruction.
The copy that goes next to the code
The printed line matters as much as the code. What works:
Reorder in two taps. Scan for our app.
Track this order in the app. Scan to install.
Scan for 10% off your next order — app customers only.
What does not work: “Download our app!” — a command with no reason. And avoid “Scan me,” which tells people how rather than why.
If you use a discount, put the code and the offer together, and make it app-only so the app has a reason to exist. Early access or free shipping beats a percentage off here — a standing percentage discount trains people to wait for one.
Printing details that quietly matter
- Minimum size: about 2 cm square for a code scanned at arm’s length. Smaller fails on cheap phone cameras in poor light.
- Quiet zone. Leave clear white space around the code — at least the width of four modules. Codes crowded by text fail to scan.
- Contrast. Black on white. A brand-coloured code on a coloured background is a code that does not scan.
- Test the actual print, not the PDF. Print it, scan it with an old phone, in a dim room.
- Never print a code without testing the destination. A print run pointing at a 404 is an expensive mistake, and it is a mistake people make.
Measuring it
Four numbers:
- Scans, from your landing page analytics, split by campaign parameter.
- Scan-to-install rate. If this is under about a third, the landing page is the problem, not the code.
- Installs attributed to each print surface.
- Second-order rate of customers who installed via QR. These are people who already bought once — they should be among your best cohorts.
Compare surfaces against each other, not against a benchmark. The insert card versus the packing slip is a question your own data answers in a month.
The thing to do this week
Add a code to your packing slip template. One line of copy, one code, pointing at a platform-detecting landing page. It ships with every order from then on, forever, at no incremental cost — which makes it the highest-return hour of work in this entire subject.
Related reading
- How to get your store’s first 1,000 app installs
- The smart app banner: your best install channel
- Direct APK distribution, and when it makes sense
- Google Play’s 12 testers for 14 days, survived
QR landing pages are part of the Install Growth Kit, on every plan — see the features.