Skip to content

Deep links

A deep link is a link that opens the app directly on a specific piece of content (a product, a category, a page) instead of opening the home screen or the browser.

Without deep links configured, a notification or an email takes the user to the web version even if they have the app installed.

On iOS they are implemented with Universal Links and on Android with App Links. The mechanism is equivalent: the operating system associates your domain with the app, and when someone opens a link on that domain, the app opens if it is installed.

That association requires publishing a verification file on your domain and declaring the domain in the app. It is a requirement of the operating system, not of Reskyt, and it depends on your web team: the file lives on your server. The specific details for your project are defined with the Reskyt team during setup.

When a deep link opens an app that is already installed, all queryParams are propagated as they are to the WebView.

If the link does not carry utm_source or utm_medium, the system fills them in: utm_medium takes the source platform (Google, Instagram…), with external_app as the default value, and utm_source takes the value deeplink.

If your analytics needs precise campaign attribution, always send your own utm_source and utm_medium: explicit values take precedence over automatic ones. See available variables.

A notification can open a URL when tapped: this is the url field of the push API. If that URL belongs to an associated domain, it opens the content inside the app.

The utmCampaign field is appended to the URL as &utm_campaign=value, which lets you measure the campaign in your analytics without editing the link by hand.

Many email platforms rewrite links with their own tracking domain. A rewritten link no longer belongs to your domain, so the operating system does not associate it with the app and it opens in the browser. If your email tool allows you to use your own tracking domain, that is the way to preserve the behaviour.

The link opens in the browser, at the same URL. That is why deep links should point to URLs that exist on your website: the link keeps working for people without the app, and you do not need to maintain two sets of links.

Checks, from the most frequent to the least:

  1. The URL belongs to a domain associated with the app, and is not rewritten.
  2. The verification file is published and reachable from the internet.
  3. The installed app is a version that already includes that domain.
  4. The user has not turned off opening links in the app from the system settings, which on Android is a per-app option.
  5. The link is being opened from an app that forces its own in-app browser, which is common on social networks.