How to Add Deep Linking in App Push Notifications Using PushEngage

Send your app users directly to a specific screen inside your Android or iOS app when they tap a push notification. Instead of just opening the app’s home screen, deep links take users exactly where you want them — a product page, an order status screen, a special offer, or any other in-app destination.

This guide walks you through setting up deep links using both the PushEngage Dashboard and the API.


Before You Start

Make sure PushEngage is installed and working in your mobile app (Android, iOS, Flutter, or React Native). If you haven’t done this yet, follow the setup guide for your platform:

Flutter Setup Guide

iOS Setup Guide

React Native Setup Guide

Have your deep link URL ready. This is the URL or URI scheme your app uses to open a specific screen (for example: myapp://products/123 or https://yourapp.com/offers).


What is a Deep Link?

A deep link is a special URL that points to a specific page or screen inside your mobile app. When a user taps a push notification with a deep link, they are taken straight to that screen instead of just the app’s home page.

Examples:

  • myapp://orders/456 — opens order #456 in the app
  • https://yourstore.com/sale — opens a sale page inside the app
  • app://www.yourapp.com/trigger — opens a specific workflow screen

Method 1: Adding Deep Links via the PushEngage Dashboard

For Android App Push
  1. Log in to your PushEngage Dashboard.
  2. Go to App Push » Create Campaign.
  3. Select Android as the platform.
  4. Fill in the Title and Message for your notification.
  5. Scroll down to the Deep Link field.
  6. Enter your deep link URL (for example: myapp://products/123).
  7. Click Send / Schedule to send the notification.

If a deep link is provided, it takes priority over the Notification URL. If no deep link is set, the Notification URL is used instead.

For iOS App Push
  1. Log in to your PushEngage Dashboard.
  2. Go to App Push » Create Campaign.
  3. Select iOS as the platform.
  4. Fill in the Title and Message for your notification.
  5. Scroll down to the Deep Link field.
  6. Enter your deep link URL (for example: myapp://offers/summer-sale).
  7. Click Send / Schedule to send the notification.

[Screenshot: iOS App Push campaign form showing the Deep Link field]

If no deep link is set on iOS, tapping the notification will simply open the app. Please note the character limits for Deep links can be up to 1,600 characters long on both Android and iOS.

Method 2: Adding Deep Links via the API

You can also send app push notifications with deep links using the PushEngage API. Use the deep_link field in your notification payload.

API Payload Example

{
  "notification_title": "Your Order Has Shipped!",
  "notification_body": "Tap to track your order in real time.",
  "notification_url": "https://yourstore.com/orders/456",
  "deep_link": "myapp://orders/456"
}

How It Works

FieldWhat It Does
notification_urlThe default URL opened when the notification is tapped. Used as a fallback if no deep link is set.
deep_linkThe app-specific URL that opens a particular screen inside the app. Takes priority over notification_url on Android.
  • Android: If deep_link is set, it is used as the tap action. If it is not set, notification_url is used instead.
  • iOS: Both deep_link and notification_url are sent in the payload. The deep link (dl) is checked first, then the launch URL (u).

Handling Deep Links in Your App Code

Once the notification is sent with a deep link, your app needs to listen for it and navigate the user to the right screen. Here’s how to do it on each platform:

Flutter

PushEngage.deepLinkStream.listen((data) {
  String? deepLink = data['deepLink'];
  // Navigate to the right screen based on the deep link
  if (deepLink == '/offers') {
    Navigator.pushNamed(context, '/offers');
  }
});

Also, make sure PushEngageAutoHandleDeeplinkURL is set to NO in your iOS Info.plist if you want your app to handle the routing itself.

React Native

PushEngage.onValueChanged((data) => {
  const { deepLink } = data;
  // Navigate based on the deep link value
  if (deepLink === '/orders') {
    navigation.navigate('Orders');
  }
});

iOS (Swift)

PushEngage.setNotificationOpenHandler { result in
  let deepLink = result.notificationAction.actionID
  // Route the user to the correct screen
}

Tip: For iOS, if you set PushEngageAutoHandleDeeplinkURL to YES in your Info.plist, the SDK will automatically open any HTTP or HTTPS deep link URLs in the browser. Set it to NO if you want to handle routing inside your app.

Android (Intent Filter)

For Android, add an intent filter in your AndroidManifest.xml so the app can receive deep link URLs:

<intent-filter>
    <action android:name="android.intent.action.VIEW" />
    <category android:name="android.intent.category.DEFAULT" />
    <data android:scheme="myapp" android:host="www.yourapp.com" />
</intent-filter>

Quick Reference

DetailValue
Dashboard field nameDeep Link
API field namedeep_link
Character limit1,600 characters
Android behaviorDeep link overrides notification URL if set
iOS behaviorDeep link checked first, then launch URL
Auto-handle (iOS)Controlled by PushEngageAutoHandleDeeplinkURL in Info.plist

You’ve now set up deep linking for your app push notifications using PushEngage. Your users will be taken straight to the right screen when they tap a notification — whether you send it from the dashboard or through the API.

If you run into any issues, please contact us by clicking here. Our support team will be happy to help you.

Still stuck? How can we help?
Last updated on April 7th, 2026

Engage and Retain Visitors AfterThey’ve Left Your Website

Increase the value of every web visit with Push Notifications that are hard to miss.

  • Forever Free Plan
  • Easy Setup
  • 5 Star Support