A deep link sends users to specific content inside an app instead of dropping them on a homepage. A universal link is Apple’s verified iOS version of that idea, using a normal web URL that can open your app when it is installed or fall back to your website when it is not. This guide explains deep link vs universal link differences, how Android App Links fit in, when to use a URI scheme or URL scheme, how fallback works and what teams need to know before they implement universal links.
What you’ll learn
- What a deep link is
- What a universal link is
- How universal links on iOS work
- How Android App Links compare
- When URI scheme and custom URL scheme links still matter
- What happens when the app is installed or not installed
- How RocketLink can support routing, attribution and campaign links
What is a deep link?
A deep link is a link that opens a specific screen, item or flow inside an app. Instead of launching the app home screen, it sends the user directly to content within your app.
For example, a shopping app might use a deep link to open a product page. A travel app might open a booking screen. A media app might open a specific piece of content.
The term deep link is broad. It can include custom scheme links, Android deep links, Android App Links, iOS universal links and deferred deep linking flows. The shared idea is simple: a link should take the user closer to the intended destination, not make them search again after the app opens.
What is a universal link?
A universal link is Apple’s secure way to open your app from a normal web URL on iOS. Apple’s archived App Search guide explains that when universal links are supported, iOS users can tap a website link and get redirected to the installed app without going through Safari; if the app is not installed, the website opens in Safari.
That makes a universal link different from an old custom scheme. A universal link looks like a regular HTTPS URL, such as:
If the user has the app installed and the domain-app association is valid, iOS can open the app to the corresponding content. If the user doesn’t have the app, the same URL still opens the website.
Deep link vs universal link: what is the main difference?
The main difference is that a deep link is the general category, while a universal link is Apple’s verified HTTPS-based implementation for iOS. A universal link is a type of deep link, but not every deep link is a universal link.
Standard deep links often use a custom URI scheme, such as:
myapp://product/123
Universal links use normal web URLs, such as:
Universal links work better for many iOS journeys because they provide a web fallback. If the app is installed, the link can open the app. If the app isn’t installed, the user lands on the website instead of a dead link.
How do universal links on iOS work?
Universal links on iOS work through a verified association between your app and your website. Apple says associated domains establish a secure association between domains and your app, enabling features such as universal links and shared web credentials.
To support universal links, you add the Associated Domains entitlement to the app and host an apple-app-site-association file, often called the AASA file, on your domain. Apple’s documentation says the applinks object defines the universal links you want to associate with your domain inside the AASA file.
When a user clicked a supported URL, iOS checks the association and decides whether the app should open. If everything is configured correctly and the app is already installed, iOS can launch the corresponding app screen.
What is the AASA file?
The AASA file, or apple-app-site-association file, is a JSON file hosted on your website that tells Apple which app can handle which URLs. It is one of the core pieces required to implement universal links.
The AASA file connects your app and your website. It specifies URL paths that should be handled by the app, and iOS uses it with the Associated Domains entitlement to verify that the app is allowed to open those links.
If the AASA file is missing, incorrectly formatted, served from the wrong location or not reachable over HTTPS, universal links may fail. Apple’s supporting universal links documentation also notes that developers should update your app delegate to respond to a universal link.
What are Android App Links?
Android App Links are Android’s verified HTTP URL system for opening an app directly from a web link. Google’s Android documentation says Android App Links are web links that use http and https and contain the autoVerify attribute, allowing the app to designate itself as the default handler for a given type of link.
Android App Links are similar in spirit to iOS universal links. They use normal URLs, verify the relationship between the domain and the Android app, and can send users into the app instead of a browser.
Google’s verification documentation says Android checks the website for a Digital Asset Links file at https://<hostname>/.well-known/assetlinks.json for each hostname in the app’s intent filters.
Deep link vs Android App Links: what changes on Android?
On Android, a deep link can be a broad intent-based link that opens an app from a URL or custom scheme. An Android App Link is a verified HTTP deep link tied to a web domain.
A standard Android deep link may ask the user which app should open, especially if several apps can handle the same URL. Android App Links reduce that friction when verification succeeds because the app can become the default handler for matching links.
This is why Android App Links are usually better for production web-to-app journeys. They improve user experience, reduce chooser dialogs and make app routing more predictable.
What is a URI scheme or URL scheme?
A URI scheme or URL scheme is a custom protocol that an app registers to open itself. For example:
myapp://offer/123
Apple’s documentation says that when another app opens a URL containing a custom scheme, the system launches your app if needed and calls the app delegate method so the app can parse the URL and take action.
URI schemes for deep linking are older and still useful in some in-app flows, but they have limitations. They do not behave like normal web URLs, do not provide a natural website fallback and can conflict if another app registers the same custom scheme.
Universal link vs URI scheme: which is better?
For most public iOS journeys, a universal link is better than a URI scheme because it uses HTTPS, verifies domain ownership and falls back to the website when the app is not installed.
A URI scheme can still be useful when you control the source app and target app, or when you need a specific in-app handoff. But for links in emails, SMS, ads, websites, QR codes and social campaigns, universal links usually create a better user experience.
Apple’s archived universal links guide says universal links are standard web links, unique because other apps cannot claim your domain and secure because they use HTTPS. That makes them safer and more predictable than old custom schemes.
What happens if the app is installed?
If the app installed state is positive and the link is verified, the operating system can open the app and route the user directly to content in your app. The app is installed, so the link can launch the corresponding screen instead of opening a browser page.
On iOS, the universal link can open your app when the user taps a supported website URL. On Android, a verified Android App Link can open the Android app when the domain association is valid.
The app still needs internal routing logic. The app has to read the link URL, map it to the right screen and load the content. Without routing, the app may open, but the user may not reach the specific content they expected.
What happens if the app is not installed?
If the app is not installed, universal links and Android App Links should fall back to the web URL. On iOS, Apple’s guide says if the app isn’t installed, tapping the link opens the website in Safari.
This is one reason web URLs are so useful. The same link can serve app users and web users. If the user has the app, the app opens. If the user doesn’t have the app, they still see the corresponding content on the website.
For acquisition campaigns, you may also need deferred deep linking. Deferred deep linking tries to preserve the intended destination through app install, so the user can install the app from the App Store and land closer to the original content after first launch.
What is deferred deep linking?
Deferred deep linking handles the case where the user doesn’t have the app installed when they click. The link sends them to the App Store or Play Store, then attempts to route them to the original content after installation.
This is more complex than normal deep linking because the app is not present at the moment of the first click. The flow needs attribution, install matching, a fallback and app logic after first open.
Firebase Dynamic Links historically helped with some of these flows, but Google has announced that Firebase Dynamic Links is deprecated and should not be used in new projects. Firebase documentation says the service will shut down on August 25, 2025.
How do universal links improve user experience?
Universal links improve user experience because they use one familiar web URL across app and web. The same link can work in email, SMS, Safari, QR codes, social posts and ads.
If the user has the app, the link can open the app. If not, the link opens the website. That reduces dead ends and makes the journey feel more natural.
This also helps conversion. A user who taps a product link should land directly on the product, not the app homepage. A user who taps a ticket link should reach the specific ticket, not search again after launch.
How do deep links work with attribution?
Attribution connects a click to a later action, such as install, signup, purchase or subscription. Deep link attribution usually records the original URL, campaign, device context and routing outcome.
For app campaigns, attribution is especially important because users may click on one device state, install the app and convert later. Without tracking, it is hard to know which ad, channel or destination URL created the conversion.
A deep link platform, mobile measurement partner or link management layer can help capture click data, route users and report performance. RocketLink can support campaign-level link tracking and redirects, which can help teams manage destination URLs across web and app campaigns.
How do you implement universal links?
To implement universal links, you need both app-side and web-side setup. On the app side, enable Associated Domains and add the applinks domain entitlement. On the web side, host the AASA file on the domain.
You also need app routing. Apple’s universal link documentation says to update your app delegate to respond to a universal link. In newer app architectures, the exact handler may depend on UIKit, SwiftUI or scene delegate setup, but the principle is the same: the app must parse the URL and route correctly.
Finally, test on real iOS devices. Universal links can behave differently from simulator or local environments because they depend on domain association, installation state and cached verification.
How do you implement Android App Links?
To implement Android App Links, configure intent filters for the URLs your app should handle, use HTTPS links and set up website verification. Google’s Android documentation explains that deep links can enable direct navigation into an app from external sources such as browsers and notifications.
For verified Android App Links, add android:autoVerify=”true” and host the Digital Asset Links file on your domain. Google says Android checks each unique hostname in the intent filters against the corresponding website’s Digital Asset Links file.
You also need to implement routing inside the app. When the app receives the intent, it should parse the URL and open the correct screen.
Why do universal links sometimes not open the app?
Universal links can fail for several reasons. The AASA file may be wrong, the Associated Domains entitlement may be missing, the path may not match, the domain may not be reachable, the app may not be installed or iOS may have cached an older association.
They may also not open the app if the user has chosen to open that domain in Safari instead. Universal links are not just redirects; the operating system decides how to handle them.
The safest troubleshooting approach is to check the AASA file, app entitlement, domain path, install state and URL matching. Also test a simple URL before debugging a complex path with query parameters.
Can JavaScript force a universal link to open?
JavaScript should not be treated as a reliable way to force universal links to open. Universal links are handled by iOS based on verified association, app state and user behavior.
Some websites try timers, redirects or app banners to push users into an app. That can create inconsistent behavior, especially across Safari, in-app browsers and iOS versions.
Use universal links in order to let iOS handle routing cleanly. If you need fallback prompts, use clear web UX, an app banner where appropriate and a tested install or open-app flow rather than relying on brittle JavaScript tricks.
What are standard deep links?
Standard deep links often use custom URL schemes or platform-specific intent links. They can open the app to a specific screen when supported, but they do not always provide the same verification or fallback as universal links and Android App Links.
Standard deep links work best when the app is already installed and the source environment supports them. They can be useful for app-to-app flows, internal campaigns, push notifications and controlled contexts.
For public web-to-app journeys, verified links usually work better. Use universal links on iOS and Android App Links on Android when you need reliability, fallback and domain trust.
How should app and website content map?
A good deep linking strategy maps app and your website content clearly. The same product, article, event or profile should have corresponding content on web and in the app.
For example:
- Web URL: https://example.com/products/123
- App route: product detail screen for item 123
This gives the operating system and app a predictable route. It also gives users a fallback if the app is not installed.
If your website has no matching content, fallback becomes weaker. The user may land on a generic page instead of the specific content they expected.
How can RocketLink help with deep link campaign URLs?
RocketLink can help when you need to manage campaign links, custom domain links and destination URLs across app and web campaigns. It can make links more trackable and easier to update from one place.
For example, you might use a branded short URL for a campaign, then route users to a universal link, Android App Link, web fallback or landing page depending on device and setup.
This does not replace app-side implementation. You still need universal links, Android App Links, app routing and proper domain association. But link management can help marketing and product teams keep campaign URLs cleaner.
FAQ about deep link vs universal link
What is the difference between a deep link and a universal link?
A deep link is any link that opens specific content inside an app. A universal link is Apple’s verified iOS deep link format that uses normal HTTPS URLs and can fall back to the website.
Is a universal link a deep link?
Yes. A universal link is a type of deep link for iOS. It uses a web URL and verified domain association instead of only a custom URI scheme.
What are Android App Links?
Android App Links are verified HTTP links that can open an Android app directly. Google verifies the relationship between the app and website through Digital Asset Links.
What is a URI scheme?
A URI scheme is a custom protocol such as myapp://product/123. It can open an app, but it lacks the verified web fallback behavior of universal links.
What happens if the user does not have the app?
With universal links and App Links, the web URL can open in the browser if the app is missing. Deferred deep linking tries to preserve the intended destination through installation.
Do universal links work in all iOS versions?
Universal links were introduced in iOS 9. Behavior can vary across iOS version, browser context and user choice, so test on real iOS devices.
What is an AASA file?
An AASA file is the apple-app-site-association file that connects a website domain to an iOS app for universal links and related associated domain features.
Do universal links work from Safari?
Yes, but behavior depends on the tap context, association and user settings. If iOS decides the app should handle the link, it can open the app. If not, Safari opens the web page.
Can I use the same URL for iOS and Android?
Yes, many teams use the same HTTPS URL structure for web, iOS universal links and Android App Links. The app and website need platform-specific verification and routing.
Do I need JavaScript for universal links?
No. Universal links are handled by iOS through verified domain association. JavaScript redirects are not a replacement for correct universal link setup.
Key takeaways
- A deep link opens specific content inside an app.
- A universal link is Apple’s verified HTTPS-based deep link for iOS.
- Android App Links are the Android equivalent for verified web-to-app links.
- URI schemes and custom URL schemes can still work, but they lack the same verified web fallback.
- Universal links require Associated Domains, an AASA file and app routing.
- Android App Links require intent filters and Digital Asset Links verification.
- If the app is installed, the link can open the app to specific content.
- If the app is not installed, a web URL can fall back to the website.
- Deferred deep linking supports install-first journeys but needs more infrastructure.
- RocketLink can help manage, brand and track campaign links, but it does not replace native app setup.