Attribution & Measurement

Universal Link (iOS)

Also known asiOS Universal LinkHTTPS Deep Link

Apple's native iOS deep-link mechanism using HTTPS URLs that automatically open the app when installed, or gracefully fall back to web when not — requires hosting an apple-app-site-association file.

Key takeaways

  1. 01Universal Links use real HTTPS URLs that open the app when installed or fall back to web when not — replaces the older custom URL scheme approach.
  2. 02Requires hosting an apple-app-site-association (AASA) file at https://yourdomain.com/.well-known/apple-app-site-association — declares which URL paths route into the app.
  3. 03Same URL works in three modes: opens app if installed, opens website if not, shareable via any messaging app without breaking.

Universal Links are Apple's native iOS deep-link mechanism, introduced in iOS 9 (2015). A Universal Link is a real HTTPS URL that iOS automatically intercepts when the corresponding app is installed — opening the app to a specific in-app destination instead of opening Safari. When the app isn't installed, the same URL opens normally in Safari. The URL doesn't change based on context; iOS handles the routing.

  • AASA file: the developer hosts an `apple-app-site-association` JSON file at `https://yourdomain.com/.well-known/apple-app-site-association`. The file declares which URL paths the app handles + the App ID.
  • iOS verification: when iOS installs the app, it fetches the AASA file from the configured domain and verifies the linkage. Successful verification enables Universal Link interception.
  • URL interception: any subsequent tap on a configured URL (in Messages, Mail, Safari, third-party apps) opens the iOS app instead of the browser. The app receives the URL and routes to the appropriate in-app destination.
  • Fallback to web: if the app isn't installed, the same URL opens in Safari — no broken link, no UX surprise.

Why Universal Links replaced custom URL schemes (`myapp://something`): custom schemes broke when the app wasn't installed (the link did nothing), didn't work in Mail / Messages / Safari without prompting the user, and could be hijacked by other apps registering the same scheme. Universal Links solve all three by using real HTTPS URLs validated by the AASA mechanism.

Android equivalent: App Links. Conceptually identical — HTTPS URLs verified via an `assetlinks.json` file on the website's root, intercepted by Android when the app is installed. Both platforms have converged on the same pattern for deep-link safety.

Quick answers

What is an iOS Universal Link?

A Universal Link is an HTTPS URL that automatically opens the corresponding iOS app when installed — routing to a specific in-app destination — and falls back to the website in Safari when the app isn't installed. Requires hosting an apple-app-site-association (AASA) file at the website's root to declare which URL paths the app handles.

What is the difference between a Universal Link and a custom URL scheme?

**Custom URL schemes** (myapp://something) only work when the app is installed — they break with no fallback when it isn't. **Universal Links** use real HTTPS URLs that open the app if installed or fall back to the web normally if not. Universal Links also can't be hijacked by other apps and work in Mail / Messages / Safari without user prompts. Universal Links replaced custom schemes as the recommended pattern in iOS 9 (2015).

What is the Android equivalent of Universal Links?

**App Links** on Android. Same concept: HTTPS URLs verified via an `assetlinks.json` file at the website's root, intercepted by Android when the app is installed. Both platforms converged on this pattern around 2015-2016 to fix the problems with older custom URL schemes (intent:// on Android, myapp:// on iOS).

Back to glossary