How to create Deep Links in Push Notifications
updated 1 minute ago
In this article:
- How to add a Deep Link to your Push Notification
- Handling Deep Links on Android
- Handling Deep Links on iOS
Deep links let you open specific screens or actions inside your app when a user taps a push notification. They provide a smoother user experience by taking users directly to relevant content — such as a product page, message thread, or special offer — instead of just launching the app home screen.
A deep link is a special URL that opens a specific screen within your app.
There are two main types:
Custom URI schemes (e.g.,
myapp://order/123)
Simple to set up but less secure — any app can register the same scheme.Universal Links / App Links (e.g.,
https://example.com/order/123)
Recommended for production apps. They open the app if installed, or fall back to your website if not.
How to add a Deep Link to your Push Notification
When creating a push notification campaign, you can include a deep link parameter that defines where users should be taken when they tap the notification.
On the Push Notification screen, add an entry for your deep link and your URI scheme:

Handling Deep Links on Android
To enable deep links, your Android app needs to declare how it handles certain URLs.
Custom URI Schemes
Add an intent filter in your AndroidManifest.xml. Replace myapp with the actual URI scheme registered for your app and order with the resource type (like a section or feature). This allows your app to handle links in the form scheme://host/path (for example myapp://order/123)
<activity android:name=".MainActivity" android:launchMode="singleTop">
<intent-filter>
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.BROWSABLE" />
<data android:scheme="myapp" android:host="order" />
</intent-filter>
</activity>Handle the link in your activity:
override fun onNewIntent(intent: Intent) {
super.onNewIntent(intent)
intent.data?.let { uri ->
navigateToOrder(uri.lastPathSegment)
}
}App Links
If you want secure, verified HTTPS links, set up Android App Links by:
Declaring an intent filter with
android:autoVerify="true".Hosting a
assetlinks.jsonfile on your website to verify your app’s domain.
Handling Deep Links on iOS
For iOS, you can use either Custom URL Schemes or Universal Links.
Custom URL Schemes
In Xcode, go to Targets → Info → URL Types, add a scheme (e.g.
myapp).Handle the link in your
AppDelegate:func application(_ app: UIApplication, open url: URL, options: [UIApplication.OpenURLOptionsKey : Any] = [:]) -> Bool { handleDeepLink(url) return true }
Universal Links
Enable Associated Domains in your app capabilities.
Add your domain, for example:applinks:example.com.Host an
apple-app-site-associationfile on your website to verify ownership.Handle links in:
func scene(_ scene: UIScene, continue userActivity: NSUserActivity) { if let url = userActivity.webpageURL { handleDeepLink(url) } }
Was this article helpful?