One store or both?
The most common QR code for an app download points straight at a store listing. An App Store QR code works for every iPhone that scans it, and sends every Android phone to a page it can't install from. A Google Play code does the same in reverse. Whatever your market, that's a big share of the people who took the trouble to scan.
You have three ways to handle it:
- One code per store, side by side and labelled. It works, but it takes twice the space, and many people scan whichever code is closest to their camera.
- One code for your only store, if your app is on a single platform. Fine for now, but the printed code can't follow you when you launch on the other store.
- One code pointing at a smart link that picks the store at scan time. An AppTap link like
apptap.me/yourappsends iPhones to the App Store and Android phones to Google Play, and shows a page with both buttons to anyone who opens it on a computer.
There's a second advantage: the printed code is no longer tied to a store URL. If you add Google Play six months after launch, you update the link and the codes already printed keep working.
The QR code generator above makes a code for any URL you paste. If it spots an App Store or Google Play link, it reminds you that the code opens one store only.
Printing tips: size, contrast and quiet zone
- Size it for the distance. A common rule of thumb is a code at least a tenth of the scanning distance: about 10 cm for a poster read from 1 m, 30 cm for a banner read from 3 m. For anything held in the hand, stay above 2 × 2 cm.
- Keep the URL short. Every character adds modules (the small squares), and a denser code has to be printed bigger.
apptap.me/yourappmakes a much simpler code than a full store URL with tracking parameters. - Dark on light, with strong contrast. If you change the colours, keep the modules dark and the background light, and avoid gradients or photos behind the code. Some scanners still struggle with inverted codes.
- Leave the quiet zone alone. The QR standard asks for an empty margin of four modules around the code. The downloaded file includes it, so don't crop it, and keep text and borders out of it.
- SVG for print, PNG for screens. SVG is a vector file that scales without blurring, which is what printers want. PNG is fine for slides, websites and social posts. Never enlarge a small PNG for print.
- Say why to scan. "Scan to get the app on iPhone or Android" earns more scans than a bare code. Print the short URL underneath for people whose camera won't cooperate.
Test on both platforms before you print
A code that looks perfect on screen can fail on glossy card or under a restaurant's dim lighting. Before anything goes to the printer:
- Scan with an iPhone's Camera app, then with an Android phone's camera app or Google Lens.
- Check where each phone lands: the App Store on iPhone, Google Play on Android. With a single-store code, look at what the other platform gets too.
- Print a proof on the real material and scan that, not the preview on your screen.
- Scan from the real distance, under the real lighting, and at a slight angle.
- Open the URL on a computer as well, because some people will type the printed link instead of scanning.
Track scans with UTM tags
A scan doesn't send a referrer, so most analytics tools file QR traffic under "direct". To know which flyer or event worked, add UTM parameters to the URL before you generate the code:
apptap.me/yourapp?utm_source=paris-meetup&utm_medium=qr&utm_campaign=launch
Make one code per placement, with the same naming scheme everywhere: utm_medium=qr on all of them, and a different utm_source for each event, product box or poster. Keep the values short, because every character makes the code denser.
When the code points at an AppTap link, AppTap records the UTM campaign of every scan, along with the device, OS and country, and counts taps on the store buttons. The tags aren't passed on to the stores, so they show up in your AppTap stats, not in App Store Connect or Play Console. Those numbers are scans, not installs. A code that points straight at a store gives you none of this.
Where an app QR code works
Anywhere people have a phone in hand and no easy way to type a URL:
- Packaging and product inserts, scanned from 20 to 40 cm.
- Business cards, the smallest code you'll print.
- Flyers, posters and event booths, sized for the distance and placed at eye level.
- Conference slides and the last slide of a pitch deck, left up long enough for people to get their phones out.
- Restaurant tables, counters and receipts, tested under the real lighting.
- Your website and press kit, so desktop visitors can move to their phone in one scan.
For sizes per placement and a full tracking plan, read the guide to one QR code for your app on iPhone and Android. For a code that works on both stores, get an AppTap link: it comes with its QR code as SVG and PNG, free for one app.