Imagine you’ve spent thousands of dollars on a high-converting Instagram ad campaign. A user clicks your link, excited to buy that limited-edition sneaker, but instead of landing on the product page in your app, they’re dumped onto a generic mobile website. Or worse – a “Page Not Found” error.
The “friction tax” (referring to the transition from web to app) is undeniably tied to a drop in conversions. Breaks in narrative continuity have been associated with a 60%-70% drop in conversions, and that’s not just a technical glitch; that’s a massive hole in your bucket from which potential revenue is leaking every single day.
If you’re running a business in the Apple ecosystem, bridging this gap isn’t just “nice to have.” It’s essential. But how do you actually set up a deep link in iOS without losing your mind (or your dev team’s patience)?
Let’s break down the “how-to” of connecting your web world to your iOS app.
Universal Links vs. URL Schemes: What’s the Difference?
Before you start digging into the code, you need to understand the two main players in the iOS world.
URL Schemes
This is the “old school” way of doing things. You might see a link like myapp://product/123. They’re easy to set up, but they have a major flaw: if the app isn’t installed, the link just fails. And honestly, there’s nothing more professional-looking than a link that does absolutely nothing when clicked.
Universal Links
Introduced by Apple to solve the “broken link” problem, Universal Links are standard HTTPS links that work whether the app is installed or not. If the user has the app, it opens the app. If they don’t, it takes them to the mobile website. It’s seamless, secure, and—most importantly—it doesn’t break.
Step 1: Prepare Your Domain (The AASA File)
The first thing you need to do is prove to Apple that you actually own the domain you’re trying to link to. You do this by creating an Apple App Site Association (AASA) file.
This is essentially a JSON file that sits on your server and tells iOS: “Hey, if someone clicks a link on this website, it’s okay to open my app.”

And here is a quick tip: your AASA file must be hosted on a secure https:// domain and placed in a specific folder called .well-known. If you get the placement wrong, the whole system falls apart.
Step 2: Configure Your App in Xcode
Once your server is ready, you need to tell your app to look for those links. Inside Xcode, you’ll head over to the Signing & Capabilities tab and add the Associated Domains capability.
You’ll add your domain using the prefix applinks:, like this: applinks:{{DOMAIN}}. This tells the iPhone that whenever a link from that domain is clicked, it should check the app for instructions.
Step 3: Handle the Link in Your Code
Now for the technical bit. You need to tell the app what to do once it opens. Whether you’re using UIKit or SwiftUI, you’ll need to implement a specific function (like application(_:continue:restorationHandler:)) to catch the incoming URL and route the user to the right place.
If the link is for a specific product, your code needs to “read” that ID and push the product view controller immediately. (And yes, this is usually where most developers lose their minds).
The Reality Check: Why Doing This Manually is a Headache
If the steps above sound a bit tedious, that’s because they are. Setting up basic Universal Links is one thing, but what happens when you want to track ROI? Or what if the user doesn’t have the app installed and you want to send them to the App Store, then still show them the right product after they download it?
That’s called deferred deep linking, and Apple’s native tools don’t actually support it out of the box.
That’s why we (and most modern marketers) recommend using a dedicated platform like AppsFlyer or Branch.
If you use a tool like AppsFlyer’s OneLink, you don’t have to worry about the heavy lifting of AASA files or complex routing logic. You get:
· A single link that works across iOS, Android, and Web
· Automatic redirection to the App Store if the app is missing.
· Granular analytics so you actually know which campaigns are driving sales.
iOS deep linking is the “connective tissue” of your mobile growth strategy. You can try to build it yourself, but if you’re looking for a solution that is privacy-resilient and delivers a first-class user experience, an automated tool is almost always the better investment.
Don’t let a “broken bridge” be the reason your users jump ship. Get your links sorted, keep your onboarding smooth, and watch your conversion rates finally start to make sense.
Are you struggling with your current web-to-app flow, or are you just getting started with your first iOS campaign?


























































