How links work
Every OneSignal message — push, email, in-app, SMS, or RCS — can include a URL that takes the User to a destination when clicked. That destination can be a web page that opens in a browser or a deep link that opens directly in your app. The way you set the URL depends on the channel:- Push: Use the Launch URL field in the dashboard or the
urlparameter in the API. - Email: Add links using the email editor or HTML. OneSignal automatically tracks clicks.
- In-app: Configure Click Actions on buttons, images, or backgrounds.
- SMS/RCS: Add links inline. Use Insert Trackable Link in the dashboard for automatic shortening and tracking. See SMS/RCS trackable links.
Deep links
To open content inside your app instead of a browser, use a deep link. Deep link support varies by channel:- Push and in-app: Support custom URL schemes like
your-app://product/123andhttps://universal links / App Links. - Email and SMS: Only
https://universal links / App Links are supported. Custom URL schemes do not work because email clients and SMS apps don’t handle them.
Deep Linking
Full setup guide for custom URL schemes, universal links, and app-specific routing.
Push
Launch URL
The Launch URL opens when the User clicks a push notification. It should start withhttps://.
To use
http:// URLs on Apple devices, configure the NSAppTransportSecurity property in your app’s Info.plist file.url— targets all platformsweb_url— targets web push Subscriptions onlyapp_url— targets mobile Subscriptions only

Additional data
Instead of a Launch URL, you can send custom key-value pairs using the Additional Data field (data in the API). Your app reads this data through the SDK’s Notification Click Listener via the additionalData property — useful when you need more flexibility than a single URL.

Email link tracking
OneSignal automatically tracks link clicks within emails when Track link clicks is enabled for the email or template (on by default). OneSignal tracks total and unique clicks per email and per individual link (up to 30 links per email). View these statistics in Email Message Reports.For unsubscribe links, see Unsubscribe Links & Email Subscriptions.

How email click tracking rewrites URLs
How email click tracking rewrites URLs
Tracking works by rewriting URLs to capture the click event, then redirecting the User to the original destination. This happens almost instantly but may cause unexpected behavior with deep links. For example:
https://some-domain.com/the-pagebecomes something like:https://some-domain/c/eJxU0D2uGzEMBODTrDoZJPW3...The User is immediately redirected to the intended URL.disable_email_click_tracking: true in the API.

SMS/RCS trackable links
OneSignal provides trackable shortened links for SMS/RCS messages using the1sgnl.co domain. Just wrap your URL in {{ "https://your-url.com" | track_link }} and the link will be replaced with a trackable link when the message is sent. For API usage, see the SMS/RCS create message API reference.
Only 1 trackable link is allowed per SMS/RCS message.
When using the dashboard, you can also click the Insert Trackable Link button beneath the message input box and enter your URL:

1sgnl.co/XXXX trackable link:

Dynamic URLs
You can build personalized, user-specific URLs with Liquid syntax. For example, include a User’s ID in the URL so each person lands on their own profile page, or insert a product ID from a recent event to link directly to a relevant item. Dynamic URLs can pull data from:- User properties (e.g.,
external_id,email) - Tags stored in OneSignal
custom_datasent via the API- Custom Events (in Journeys)
- User properties
- custom_data
- Custom Events
Inject values like If the User’s Similarly:If the User’s email is
external_id or email directly into URLs.external_id is 12345, the final URL is:john@example.com, the final URL is:UTM parameters
UTM parameters track campaign performance by appendingsource, medium, and campaign details to URLs. Add UTM parameters directly to the URLs in your messages.
For push notifications sent from the dashboard, OneSignal can add UTMs automatically.
Automatic UTMs for push notifications
Automatic UTMs for push notifications
Navigate to Settings > Push & In-app > UTM Settings and enable Turn on automated UTM tagging.Once enabled, OneSignal appends these values (editable):
- Source =
utm_source— defaults toonesignal - Medium =
utm_medium— defaults topush - Campaign =
utm_campaign— defaults to{{ sendDate }}-{{ title }}sendDate: Date senttitle: First 15 alphanumeric characters, underscores, or hyphens from the message title
URL handling and overrides
If you manually add UTM parameters to a launch URL while automatic tagging is enabled, your manual UTMs override the automatic values.FAQ
How do I link to the app store?
Use the store URL as the launch URL:- Android: Use the Google Play link, e.g.,
https://play.google.com/store/apps/details?id=com.example.app. See Linking to Google Play. - iOS: Use the App Store link but replace
https://withitms-apps://to open the App Store app directly, e.g.,itms-apps://apps.apple.com/app/id123456789.
Can I link to another app?
For push and in-app messages, you can use a URL scheme to deep link into another app. For example, to deep link into WhatsApp:whatsapp://wa.me/15551234567.
For email and SMS, use https:// links instead — custom URL schemes are not supported.
Why is my launch URL not working?
Common causes:- URL mismatch: The URL must start with
https://. If you’re usinghttp://on Apple devices, you need NSAppTransportSecurity configured. - Custom schemes on mobile: Deep links like
your-app://pathmay not work as a launch URL on all platforms. Use the Additional Data field or see Deep Linking for reliable app routing. - Web push default: If no launch URL is set, web push opens your homepage. Set a launch URL explicitly to control the destination.
- Click tracking interference: In email, link rewriting for click tracking can break deep links. Try disabling click tracking for that specific link.
Do UTM parameters work with email and SMS?
No. Automatic UTM tagging only applies to push notifications sent from the dashboard. For email and SMS, add UTM parameters manually to the URLs in your templates or API payloads. See UTM parameters for the full list of limitations.Can I prevent a push notification from opening a URL?
On mobile, clicking a push notification always opens the app. On web, append?_osp=do_not_open to the launch URL to dismiss the notification without opening any page. See the Launch URL tip for an example.
Deep Linking
Set up custom URL schemes and app-specific routing for push and in-app messages.
Personalization
Insert dynamic user data into messages using Liquid syntax and tags.
Using Liquid syntax
Reference guide for Liquid filters, tags, and variables in OneSignal templates.
Email message reports
View delivery, open, and click-through metrics for email campaigns.
Action buttons
Add call-to-action buttons to push notifications with custom URLs.