Skip to content

Deep linking

What is deep linking?

A deep link opens a specific screen in your app instead of the home screen. Tap a link to a sale, see the sale. That's it. Here's how the different kinds work and which ones you actually need.

The idea

Links that open screens

On the web, every page has a URL and every link goes straight to it. Apps didn't work like that. A link could open the app, at best, and then your user had to find the thing themselves. Most didn't.

A deep link carries a path, like /sale or /invite/8Fk2, and your app opens the screen for it. People land on what they tapped, so they're far more likely to do the thing you sent them there for.

Three kinds of deep link

Use the two that are plain https links. The URI scheme is the old way, and it breaks the moment the app isn't installed.

  • URI scheme

    yourapp://sale

    Proves you own it?
    No. Any app can register the same scheme.
    App not installed?
    Nothing happens, or an error.
  • Universal Link (iOS)

    https://go.yourapp.com/sale

    Proves you own it?
    Yes, by apple-app-site-association on your domain.
    App not installed?
    Opens the web page.
  • App Link (Android)

    https://go.yourapp.com/sale

    Proves you own it?
    Yes, by assetlinks.json on your domain.
    App not installed?
    Opens the web page.

Not installed

When the app isn't installed

This is where most deep links fall over. The link opens a web page, the user installs the app from the store, and the app opens on its home screen. Whatever they tapped is gone.

Fixing that is called deferred deep linking: remember the link while the user installs, then hand it to the app on first launch. Here's how it works.

With DeepLinkNow

How I set it up for you

  • Your app gets yourapp.deeplinknow.com, or your own domain on a paid plan.
  • I serve apple-app-site-association and assetlinks.json for it, built from your dashboard settings.
  • Any path on that domain is a link. No link creation, no templates. Put /sale?code=SAVE20 in an email and it works.
  • Installed users go straight in. Everyone else gets the link after install.

Questions

What's the difference between a deep link and a deferred deep link?
A deep link opens a screen in an app that's already installed. A deferred deep link remembers what the user tapped while they install the app, then opens that screen on first launch.
Do I still need a URI scheme?
Not for links people tap. Use Universal Links and App Links: they're plain https links that work everywhere a URL works, and they fall back to a web page instead of an error.
Why didn't my Universal Link open the app?
The usual reasons: the apple-app-site-association file isn't served from your domain, the user tapped a link to the same domain they were already on in Safari, the link was opened inside another app's in-app browser, or the user once chose to open that domain in Safari.
Do I have to host apple-app-site-association and assetlinks.json myself?
Not with DeepLinkNow. I generate both for your app's domain from your dashboard settings, so there's nothing to upload.

Try it on your app

Free plan, no credit card. Your domain, your paths, the right screen.