Back to Blog

One Link, Different Destinations by Device: How It Works

Your bio gives you one link slot and your audience is holding three different devices. Here is how one short link can send iPhone, Android, and desktop visitors to three different destinations.

Karan Bhakuni
Karan Bhakuni
Founder, Flyn
GuideJul 31, 202618 min readUpdated Oct 18, 2026
One Link, Different Destinations by Device: How It Works

Why One URL Cannot Serve Three Audiences

If you have shipped an app on both stores and still run a website that converts, you know the bind: your Instagram bio, your email signature, and your podcast outro each give you exactly one link slot, and your audience is holding three different devices. Send everyone to the website and you bury the app behind an extra tap. Send everyone to the App Store and every Android visitor dies on an Apple page. This guide shows you how to fix it with one short link that reads the device and routes accordingly: iPhone to the App Store, Android to Google Play, desktop to your site.

The three destination problem

Pick any single destination and you sacrifice the other two audiences:

  • Link to the App Store and Android users land on a page their phone cannot install from; few will go hunting for the Play listing themselves.
  • Link to Google Play and you get the mirror image: every iPhone tap is wasted.
  • Link to the website and mobile users get a landing page with a "Download on the App Store" badge: one more tap, one more page load, one more chance to bounce before the install.

What device based routing actually is

Device routing (also called device targeting or a device redirect) is a rule attached to the link itself. When someone opens the link, the server checks what kind of device made the request and forwards it to the URL you assigned for that device, falling back to a default destination for everyone else. It is the classic example of a smart link: one stable address, conditional behavior behind it. This article is a deep dive on that single feature; if you want the broad market tour instead, our roundup of the best URL shorteners covers the whole field.

Flow diagram showing one short link splitting three ways: iPhone to the App Store, Android to Google Play, and desktop to the websiteTap to enlarge
One short link, three outcomes: the redirect reads the device and picks the destination for you.

How Device Detection Works Under the Hood

No magic here, and nothing to install on the visitor side. Every HTTP request a browser makes carries a user agent string that announces the operating system: an iPhone identifies itself as iOS, a Pixel as Android, a laptop as Windows or macOS. Device routing is simply a server side redirect that reads that string before answering.

The user agent handshake

Here is the full journey of a single tap, start to finish:

  1. A visitor taps your short link, for example flyn.to/getapp.
  2. The request hits the short domain with the visitor's user agent attached.
  3. The server checks your rules in order: is this iOS? Android? Windows? Mac?
  4. On a match, it answers with a 302 redirect to the URL you set for that system.
  5. No match means the visitor falls through to your country rules, then an A/B split if the link has one, then your default destination, which is where desktop traffic lands when you leave Windows and Mac blank.

Because the decision happens on the server, it adds only milliseconds, needs no JavaScript, and works inside in-app browsers. The one exception is Safari on a Mac or iPad when the link has its own Mac URL: the two send the same user agent, so Flyn first shows them a blank device check page. The click is recorded either way: click counts are free on every Flyn plan, and the per device breakdown of those clicks is part of Pro click analytics.

Rule order and the fallback

Treat the fallback as a first class citizen, not an afterthought. A visitor no device rule matches, such as a desktop browser on a link without a Windows or Mac URL, a Linux or ChromeOS machine, or an unknown user agent, falls through to your country rules, then an A/B split if the link has one, and lands on the default destination when neither picks a URL. The cleanest mental model: your default destination is your desktop URL, and the iOS, Android, Windows and Mac fields are exceptions layered on top. The same fields exist in the API (the deep links documentation covers the request shape), and Flyn files the whole capability under smart routing.

Note

Device and country rules do not run on three kinds of link: a password-protected link, a link past its click limit (visitors get its fallback URL instead, if it has one), and a mailto, tel or sms link. Keep routing on a plain web link.

Set Up Device Routing in Flyn, Step by Step

The whole setup takes about two minutes once you have your URLs. Device routing is part of Flyn Pro ($9 per month billed annually, $12 monthly), and you can build the link on the free plan first, then flip routing on when you upgrade.

Collect your three URLs first

  • App Store URL: the canonical https://apps.apple.com/... address of your listing. The free App Store link generator checks it before you use it.
  • Google Play URL: the https://play.google.com/store/apps/details?id=... address with your package name.
  • Website URL: the page desktop visitors should see, which doubles as the fallback for everything else.

If all you need is a tidy standalone store link with click tracking, the App Store link shortener and Google Play link shortener pages handle that simpler job.

The walkthrough

  1. Create or edit a link. Paste your website URL as the main destination; desktop visitors and unmatched devices will get it. (Sign up free if you have not.)
  2. Open the Routing tab in the link editor.
  3. Paste the App Store URL into the iOS field. The placeholder shows the expected apps.apple.com shape.
  4. Paste the Play URL into the Android field.
  5. Fill in Windows and Mac only if desktop needs its own page. Both fields are optional. Anything you leave blank falls through to your country rules, then rotation, then the main destination, so your main URL already serves desktop.
  6. Save and test on a real iPhone, a real Android phone, and a laptop before you post anywhere.
Mockup of the Flyn Routing tab with iOS, Android, Windows and Mac URL fields, and a row saying other devices get the country rules, then the default destinationTap to enlarge
The Routing tab: four optional device fields, with your default destination as the fallback for every device you leave blank.

If your product also ships for Windows or macOS, the same link can hand each computer its own store page. Put your Microsoft Store listing (an https://apps.microsoft.com/... address) or your Windows download page in the Windows field, and your Mac App Store listing (an https://apps.apple.com/... address) or your Mac download page in the Mac field. Keep your website as the main destination. One link in a launch email then covers four audiences: iPhones to the App Store, Android phones to Google Play, Windows laptops to the Microsoft Store, and Macs to the Mac App Store.

Two details decide how it behaves. Linux and ChromeOS have no field of their own, so those visitors fall through to your country rules, then an A/B split if the link has one, then the main destination, which is why that page should offer every download. And on a link with a Mac URL, Safari on a Mac or an iPad first gets a blank device check page that tells the two apart, then continues; Chrome, Edge and Firefox on a Mac go straight to the Mac URL. Links without a Mac URL never show that check.

Destination editing works on every Flyn plan, and it applies to the routing fields too. Ship a new Android package, rebrand the app, or move the desktop landing page, then update the field: the short URL you already posted, and every QR built on it, keeps working unchanged.

Pro tip

Name the slug after the campaign, not the platform. A link called flyn.to/launch stays honest when it serves three destinations; flyn.to/ios becomes a lie the moment Android users tap it. On Pro you can also put the link on one of up to three custom domains so the slot in your bio carries your own name.

The QR Angle: One Code That Routes Every Scan

Here is the part most people miss: a QR code is just a link rendered as pixels. If the link underneath routes by device, the printed code inherits that behavior forever. Scan the same poster with an iPhone and you land in the App Store; scan it with a Galaxy and you land in Google Play.

Diagram of one QR code on a poster being scanned by an iPhone and an Android phone, each routed to its own app store while a desktop visitor types the link and reaches the websiteTap to enlarge
One printed code: each scan is routed by the phone that scanned it, and typed visits fall back to the website.

Generic generators that encode your App Store URL directly into the pixels freeze that decision permanently: an Android scan hits an Apple page and the poster is misprinted forever. The fix is to encode the short link instead and let the redirect decide at scan time. Flyn gives every link a standard green QR free, with custom colors on Pro; the free QR code generator and the QR codes feature page cover the basics.

Dynamic QR for anything printed

For print runs, pair device routing with a dynamic QR code, meaning a code whose destination you can change after printing. The combination shines on:

  • Product packaging: one code sends each buyer to the right store listing for a companion app.
  • Posters and flyers: an event app promo that never strands the wrong platform.
  • Conference booths: visitors scan one code; you edit the destination the night before launch.
  • Menus and receipts: loyalty app installs from either phone, same sticker.

What Other Tools Charge to Unlock Device Routing

Shopping for this feature is confusing because two very different products share the name, and their prices differ by an order of magnitude.

Rule based redirects vs app platforms

  • Rule based device redirects on a shortener (Flyn, Linkly, Geniuslink, Short.io) let you set any URL per device with no app and no SDK, priced for marketers.
  • App deep linking platforms (Branch, AppsFlyer OneLink, Bitly Mobile Deep Links) route users into your own registered app or its store listing. They require app registration or an SDK, and they are priced for app companies: Branch publishes no dollar pricing at all and gates real usage behind a demo, while Bitly's comparison table puts Mobile Deep Links on its Premium plan at $199 per month, annual only, with deep link reporting reserved for Enterprise.
You do not need an attribution SDK to send an Android tap to the Play Store. You need one rule on one link.

The price to unlock

All figures below come from each vendor's public pricing page as checked on Jul 31, 2026:

ToolCheapest plan with device routingModel
FlynPro, $9/mo billed annuallyAny URL per device: iOS, Android, Windows, Mac, plus a fallback
Geniuslink$6/mo for 1,000 clicks, then $3.50 per 1,000Any URL rules; custom domain is a $50/mo add-on
LinklyPro, $32/mo billed annuallyAny URL rules: iOS, Android, Mac, Windows, Linux
SwitchyTeam, $47/mo for 10,000 clicksDeep link toggle only, supported apps list
BitlyPremium, $199/mo, annual onlyOwn app deep links; reporting is Enterprise only
AppsFlyer OneLinkZero plan free (owned media); Growth $0.07 per conversionOwn app routing plus a desktop URL
BranchUndisclosed, demo gatedOwn app deep links, full attribution stack

Switchy deserves a special caution: its deep link toggle only works when the destination app is on its supported list, so it is not a general purpose device router. We scored all of these head to head in our best link shorteners for device routing comparison.

Data card comparing the cheapest monthly price that unlocks device routing across Flyn, Geniuslink, Linkly, Switchy, and BitlyTap to enlarge
The cheapest plan that unlocks device routing, per vendor pricing pages checked Jul 31, 2026.

Common Mistakes and a Five Minute Test Matrix

Device routing fails quietly, so read these before the link goes anywhere public.

The iPad wrinkle

Safari on iPadOS requests desktop websites by default, which means many iPads present a Mac like user agent. On a link without a Mac URL, a request with that user agent skips your iOS rule and falls through to your country rules, then an A/B split if the link has one, then your default destination. Do not fight it, plan for it: keep a clear App Store badge on the desktop page so a misrouted iPad is one tap from the store. If you set a Mac URL, Flyn first shows Safari visitors a blank device check page that tells a Mac from an iPad, then continues. Both user agent strings, the detection methods and a test matrix are in why iPad Safari says it is a Mac.

Store schemes in the Windows and Mac fields

The Windows and Mac fields accept only http or https addresses, so a store scheme such as ms-windows-store: or macappstore: is refused when you save. Paste the store web listing instead: https://apps.microsoft.com/... for the Microsoft Store and https://apps.apple.com/... for the Mac App Store. Where to find each store ID, and when a store scheme is the right link, is in how to link to the Microsoft Store and the Mac App Store.

Watch out

Never leave the fallback pointing at a placeholder or a dead page. A desktop browser on a link without a Windows or Mac URL, a Linux or ChromeOS machine, an unknown user agent, and, on a link without a Mac URL, a request with a Mac like user agent (which many iPads send) match no device rule, so they reach the default destination whenever no country rule or A/B split picks a URL first. And remember that in-app browsers (Instagram, TikTok, WhatsApp) report as mobile: your iOS and Android rules fire inside them, which is usually what you want, but the store handoff can vary per app, so test in the one you actually post in.

The test matrix

Five checks, five minutes, before the link ships:

  • Tap the link in Safari on a real iPhone: it should open your App Store listing.
  • Tap it in Chrome on a real Android phone: Play listing.
  • Open it in Edge on a Windows laptop and in a browser on a Mac: your Windows or Mac URL if you set one, otherwise the website. With a Mac URL, try Safari on a Mac and on an iPad too.
  • Tap it inside the in-app browser of the platform where you will post it.
  • Scan the QR with both phone cameras, since scans follow the same rules.

If you enabled the native app toggle, run the destination through the deep link tester as a sixth check.

Step strip showing the five device routing checks: iPhone Safari, Android Chrome, laptop browser, in-app browser, and QR scans from both phonesTap to enlarge
The five minute matrix: two phones, one laptop, one in-app browser, and the QR scan.

One Slot, Every Audience

The one link slot in your bio, signature, or poster does not have to pick a favorite platform. A device routed short link sends iPhone users to the App Store, Android users to Google Play, and desktop visitors to your website, and because the routing lives in the redirect, the same link works spoken, pasted, or printed as a QR code. Setup is two fields and a fallback in Flyn's Routing tab (four fields when Windows and Mac need their own pages), and every destination stays editable after the link is in the wild.

If you landed here because Google shut down Firebase Dynamic Links in August 2025, the migration path is in our Firebase Dynamic Links alternative guide. Otherwise the path is short: create a free account (25 new links a month), build the link, and unlock the Routing tab with Pro at $9 per month billed annually. Your next launch deserves one link that gets everyone to the right place.

Frequently Asked Questions

How do I send mobile users to an app download page and desktop users to my website?
Use a short link with device routing rules instead of a plain URL. In Flyn, create a link whose main destination is your website, then open the Routing tab and paste your App Store URL into the iOS field and your Google Play URL into the Android field. The server reads each visitor's user agent at click time: iPhones get the App Store, Android phones get Play, and desktop browsers fall through to the default destination, your website. No JavaScript, no app SDK, and no separate links per platform. Device routing is part of Flyn Pro, and the link itself can be created on the free plan first.
What is the best way to create one link that opens different destinations by device?
The best fit depends on whether you own the app being promoted. If you are routing to any URLs (store listings, landing pages, download pages), a rule based shortener is simpler and far cheaper: you set an iOS URL, an Android URL, optional Windows and Mac URLs, and a fallback, with no SDK. Flyn includes this on Pro at $9 per month billed annually, while Linkly charges $32 per month and Bitly reserves its version for a $199 per month Premium plan. If you need deferred deep linking, meaning content context carried through an app install, use an app platform like Branch or AppsFlyer OneLink instead, and expect app company pricing and SDK integration work.
How can a single QR code open different destinations on mobile devices?
Encode a device routed short link into the QR code rather than a final URL. A QR code only stores text, so if that text is a link with routing rules, every scan inherits the behavior: an iPhone scan redirects to the App Store, an Android scan to Google Play, and anything else to the fallback destination. The image itself never changes, which makes this safe for print. The common mistake is encoding a store URL directly into the pixels, which permanently locks the code to one platform. Because the routing lives at the redirect layer, you can also edit any destination after the code is printed.
Do I need to own a mobile app to use device based link routing?
No, and this is the biggest misconception in the category. App deep linking platforms like Branch and AppsFlyer OneLink do require a registered app or an integrated SDK because they route people into your app. Rule based device routing on a shortener has no such requirement: the iOS and Android fields accept any URL, so you can route to two different landing pages, two storefronts, two file downloads, or someone else's app listings entirely. Affiliates, agencies, and marketers promoting third party apps use exactly this pattern. If a tool asks you to register an app before you can route by device, you are in the wrong product category for that job.
What happens when a visitor does not match the iOS or Android rule?
They fall through to the link's other rules: a Windows or Mac URL if you set one for their system, then your country rules, then an A/B split if the link has one, and finally the default destination, the URL you set as the link's main target. On a link with no other rules, that default catches desktop browsers on Windows and macOS when you leave the Windows and Mac fields blank, Linux and ChromeOS machines, and any user agent the detector cannot classify. Treat it as your desktop URL rather than an error page. Keep that page useful, ideally with visible store badges, because a meaningful share of traffic can land there, including requests with a Mac like user agent (which many iPads send) when the link has no Mac URL.
Can one link send Windows users to the Microsoft Store and Mac users to the Mac App Store?
Yes, on Flyn Pro, Lifetime and Team. The Routing tab has a Windows field and a Mac field next to iOS and Android: paste your Microsoft Store listing (apps.microsoft.com) into Windows and your Mac App Store listing (apps.apple.com) into Mac, and keep your website as the main destination. Both fields take http or https addresses only, so use the store web listing rather than an ms-windows-store: or macappstore: link. On a link with a Mac URL, Safari on a Mac or an iPad first sees a blank device check page that tells the two apart, then continues, while Chrome, Edge and Firefox on a Mac go straight to the Mac URL.
What happens to Linux, ChromeOS, or a Mac when I leave the Mac field blank?
They fall through in a fixed order. Linux and ChromeOS have no field of their own, and a Mac has nothing to match when the Mac field is empty, so Flyn checks your country rules next, then the link's A/B split if it has one, and finally sends the visitor to the main destination you shortened. That is why the main destination should be a page that works on any computer, ideally one that offers every download. A link without a Mac URL never shows the Safari device check page; if it has a Windows URL, Windows visitors still go to that URL. Test it once from a Linux or ChromeOS machine if those audiences matter to you.
Can I change the iOS or Android destination after the link is shared?
Yes. The short URL is a stable address and the routing rules live behind it, so editing them never breaks anything already published. Swap the Android URL when you ship a new package name, point the iOS field at a fresh listing after a rebrand, or move the fallback to a new landing page mid campaign: the link in your bio, the buttons in old emails, and every printed QR code keep working and simply follow the new rules on the next click. Destination editing is available on every Flyn plan, including free, and it applies to the Routing tab fields as well as the main destination.
Why does my iPad open the desktop destination instead of the App Store?
Because Safari on iPadOS requests desktop websites by default, the browser usually sends a Mac like user agent, and server side detection on its own reads that as a desktop visitor. This is platform behavior, not a bug in your link. On a Flyn link without a Mac URL, a request with that user agent skips your iOS rule and falls through to your country rules, then an A/B split if the link has one, then the default destination. When the link has its own Mac URL, Flyn first shows Safari visitors a blank device check page that tells a Mac from an iPad, then continues. Either way, the practical fix is defensive: keep an App Store badge prominent on the fallback page so an iPad that lands there is one tap from the store. iPhones in their default mobile mode are unaffected. Always include an iPad in your test pass if tablets matter to your audience.

Ready to try Flyn?

Free plan includes 25 links/month, full analytics, and access to all 30+ free tools above. No credit card required.

Already a member? Log in

Karan Bhakuni
Karan Bhakuni· Founder, Flyn

Karan Bhakuni is the founder of Flyn. He writes about branded links, click analytics, and the link-management tooling growth teams and creators actually need, drawn from building Flyn and reading a lot of user feedback.

Find these guides useful? Add Flyn as a preferred source so more of them show up in your Google results.