Single QR Code for App Store and Google Play (Smart Detection)

Two app stores, one QR code. The trick: encode a smart redirect URL that detects the user’s device and sends iOS users to the App Store, Android users to Google Play. Saves printing two QRs and looks cleaner everywhere — flyers, posters, in-store signage.

How it works

  1. You build a redirect URL on your own domain (or use a service).
  2. The redirect checks the user-agent of the visitor’s device.
  3. iOS device → redirects to App Store.
  4. Android device → redirects to Google Play.
  5. Desktop → redirects to a landing page with both buttons.
  6. You encode that single redirect URL as a QR.

The DIY method (no SaaS)

Build a tiny page on your own domain. Add this JavaScript-or-server-side check:

<script>
const ua = navigator.userAgent || navigator.vendor;
if (/android/i.test(ua)) {
  window.location.href = "https://play.google.com/store/apps/details?id=YOUR_APP_ID";
} else if (/iPad|iPhone|iPod/.test(ua)) {
  window.location.href = "https://apps.apple.com/app/idYOUR_APP_ID";
} else {
  window.location.href = "/download"; // landing page with both buttons
}
</script>

Save as yourdomain.com/get. Encode that URL as a QR.

The hosted method

If you don’t want to host the redirect yourself:

  • Branch.io — free tier, deep linking + smart redirect, plus install attribution.
  • Firebase Dynamic Links — free, but Google deprecated this in 2023, slated for shutdown. Avoid.
  • Adjust / AppsFlyer / Kochava — paid, full attribution, overkill for most.
  • Bitly — supports device detection on paid plans.

For most small developers, the DIY method is faster and free.

Why not just use an Apple link or a Google Play link?

You can — Apple’s smart App Banner or Google’s “Get the app” page. But:

  • Apple Smart App Banner only works on Safari. Useless on Android.
  • Google Play’s link, if scanned by an iPhone, hits a “this app isn’t available on iOS” page. Bad UX.
  • A single smart redirect handles both gracefully.

What to encode in the QR

The redirect URL — short and on your own domain ideally:

https://yourapp.com/get

Don’t encode the App Store or Play Store URL directly. Don’t encode a long Branch.io URL with parameters. Keep it short — denser QRs are harder to scan.

Print specs

  • Minimum 2.5 cm × 2.5 cm on flyers; 5 cm+ on A2 posters; 10 cm+ on storefronts.
  • SVG format.
  • Caption it: “Download the app” or “Get [App Name].”
  • Use error correction level H if you put your logo in the center.

Track installs by source

Smart redirects are also where you can track campaign attribution:

https://yourapp.com/get?utm_source=poster&utm_medium=qr&utm_campaign=spring

The redirect strips the UTMs before forwarding to the App Store, but logs them on your server first. The UTM link generator handles parameter formatting.

Common mistakes

  • Encoding two QR codes (one per platform). Wastes space. Confuses users.
  • Using a single platform link. Half your audience sees an error page.
  • Forgetting desktop fallback. Someone scans on a webcam-equipped laptop — they need a landing page, not an App Store error.
  • Long redirect URL in the QR. Bloats the code. Use a short URL.

What about deep linking?

If your app is already installed, you probably want the QR to open the app, not the store. That’s “deep linking.” Tools like Branch.io handle this — the redirect first checks if the app is installed, opens it if yes, falls back to the store if no.

For small apps, the simple “go to store” redirect is fine. Worry about deep linking when your install base justifies the engineering effort.

FAQ

Does this work for Huawei AppGallery or Amazon Appstore?

You’d extend the user-agent detection. Most Huawei users in 2026 have AppGallery, but a fallback to Google Play web (which Huawei browsers can sometimes handle) is the simplest catch-all.

Can I use the same QR for App Store and a desktop app?

Yes — the desktop fallback can link to your DMG / EXE download. Branch by user-agent.

Will iOS users get sent through Safari first?

If they scan from a third-party app’s in-app browser, yes. Native Camera scans typically open Safari, then Safari hands off to App Store.

Is the redirect a security risk?

No more than any other redirect on your domain. Don’t blindly trust user-supplied parameters.

Does the QR break if I change my app’s listing URL?

No — the QR points at your redirect, not at the App Store directly. Update the redirect logic, the QR keeps working.

Generate the QR in 30 seconds

Build the redirect (or use Branch.io), copy the short URL, paste into the QR code generator. Download SVG, print everywhere.