Mobile deep links and app routing
A branded short link that opens your iOS or Android app when the platform routes it there, falls back to the App Store or Play Store when configured, and lands on a web destination as the final safety net. One link to share across ads, email, push, print, and partner placements.
- iOS Universal Links and Android App Links on eligible verified branded domains
- Deterministic three-tier fallback: app target, store fallback, web fallback
- Routing preview, time-window control, and the same analytics as the rest of your links
One branded short link routes through app target, store fallback, or web fallback based on what is configured and eligible.
A standard short link has one destination. Every visitor, on every device, gets the same URL. That is a problem for mobile apps: a user who already has your app installed lands on the mobile web instead of inside the app, breaking the experience and wasting the intent behind the click.
Mobile app deep linking solves this by configuring a branded short link with a mobile app destination. Nimriz generates and serves the platform association files (an apple-app-site-association file for iOS Universal Links and an assetlinks.json file for Android App Links) from your branded domain. These files tell iOS and Android to treat matching links as app-eligible, so the platform can open your app directly when it is available.
The routing decision itself is deterministic. Nimriz chooses an outcome in a fixed order: (1) the app target when configured and eligible for the requesting platform, (2) the store fallback when configured, (3) the web destination otherwise. The edge cannot know whether the app is installed on a specific device - that determination belongs to the platform. What Nimriz controls is which destination it offers and in what order.
The result is a single branded link that works sensibly across every visitor state: app users get the in-app experience, users without the app reach the correct store listing, and everyone else lands on the web. The same link can be placed in an email campaign, a QR code, a paid ad, or a push notification without any per-channel logic on your end. Where enabled for your workspace, on a configured branded domain, deep links are a destination option on any routing rule or experiment variant.
Who it is for
Send campaign links directly into the app for users who have it, drive installs for those who don't, and never strand a visitor on a broken web page.
Send email and push links that open the right in-app screen rather than the mobile web, keeping re-engagement flows in the native experience.
Configure domain association files once in domain settings, then let marketing teams manage individual link destinations without engineering involvement per campaign.
What you get
Nimriz generates and serves Apple Universal Link association files and Android App Link asset files from your branded domain. This is what allows the iOS and Android platforms to treat your short links as app-eligible HTTPS links rather than ordinary web URLs. Configuration is through your domain settings, not manual file uploads.
The fallback order is fixed: app target first when configured and eligible for the platform, store fallback next when configured, and the web destination as the final catch-all. Every visitor state has a clear answer, so no one reaches a dead screen. The sequence is the same for iOS and Android, and it applies regardless of which routing rule or experiment variant triggered the mobile app destination.
Mobile app deep links work only on an account-exclusive, verified branded domain that is ready for traffic and fully configured for app association. Shared domains and Nimriz built-in domains are excluded because association files are host-wide and cannot safely represent multiple customers’ apps on the same hostname. Nimriz shows the deep-link readiness state of your domain in settings so you can confirm eligibility before publishing links.
The routing simulator evaluates your current draft rules exactly as they would run in production and shows which destination Nimriz would choose for a given country, device OS, device type, and UTC time. For deep links, the preview shows which tier (app target, store fallback, or web fallback) would be selected. It cannot simulate whether the visitor's device has the app installed, because that decision belongs to the platform at click time.
How it works
One branded link for every visitor state
Configure app deep linking on a branded domain that is verified, traffic-ready, and fully set up for app association. Nimriz manages the association files and applies the deterministic fallback order at redirect time.
Verify a branded domain and configure it for deep linking by adding iOS app identifiers (Bundle ID and Team ID) and Android identifiers (package name and SHA-256 signing fingerprint) in domain settings. Wait for the readiness indicator to show Ready.
On a link's Routing tab, add a route or experiment variant with a mobile app destination, then set the store fallback URL (App Store or Play Store) and the web fallback URL so every state has a clear answer.
Use the routing preview to confirm which tier (app target, store fallback, or web fallback) Nimriz would choose for a given device OS and country before you publish the link.
- Combine deep linking with country, device OS, and time-window routing rules when you need different app destinations by region or platform, or when a single fallback chain is not enough for a campaign.
- Track clicks on the same short-link record as the rest of your links. Analytics records the outcome (app target, store fallback, or web fallback) so you can see how the three tiers performed.
Setup
- 1Verify and configure a branded domain for app associationAdd a custom branded domain in Settings → Domains, complete DNS verification, and wait for the Ready status. Then open the domain's mobile app settings and enter your iOS app identifiers (App Bundle ID and Apple Team ID) and Android identifiers (package name and SHA-256 signing key fingerprint). Nimriz generates and serves the association files from the domain once configuration is complete and the readiness indicator shows Ready. Custom domain setup guide
- 2Confirm deep-link readiness and eligibilityDeep links require plan access AND must be enabled for your workspace, AND the domain must be branded, verified, traffic-ready, and fully configured for app association. Check the deep-link readiness indicator in domain settings before creating links. A domain in an ineligible or unconfigured state will not serve association files or app-eligible destinations. Deep-link eligibility requirements
- 3Add a mobile app destination on a linkOpen a link's Routing tab, add a route (or experiment variant), and set the destination type to mobile app. Configure the app target URL (the deep link into your app), the store fallback URL for each platform (App Store for iOS, Google Play for Android), and the web fallback URL. The three-tier fallback order is fixed: app target, then store, then web.
- 4Preview, then publishUse the routing simulator to confirm the expected outcome for device OS combinations before the link goes live. The simulator shows which tier Nimriz would choose but cannot simulate whether the app is installed on a real device. Once preview looks correct, save the ruleset and publish the link. Test on a real iOS and Android device to verify the association files are being honoured by the platform.
What good looks like
Without mobile app deep linking
- Every short link sends all visitors to one web URL.
- App users land on the mobile web even when your app is installed, breaking the native experience.
- No path to the App Store or Play Store for users who need to install first.
- Teams create separate links per channel and maintain them manually.
With mobile app deep linking on a configured branded domain
- App target: Nimriz offers an app-eligible destination and the platform opens the app when available.
- Store fallback: users without the app reach your App Store or Play Store listing in one tap.
- Web fallback: desktop visitors and edge cases still land on the correct web destination.
- One branded link works across email, push, QR, ads, and partner placements without per-channel logic.
Where enabled for your workspace, on a configured branded domain: one link, three sensible outcomes, no dead screens.
Frequently asked questions
What happens if the user does not have the app installed?
Can Nimriz detect whether the app is installed on a device?
How do iOS Universal Links and Android App Links differ?
apple-app-site-association file at the root and under /.well-known/. You configure your iOS app's Bundle ID and Apple Team ID in domain settings. For Android, Nimriz serves an assetlinks.json file under /.well-known/. You configure your Android app's package name and SHA-256 signing key fingerprint. Both are required if you want deep linking to work on both platforms from the same branded domain.Why do deep links require a branded verified domain? Can I use a Nimriz built-in domain?
apple-app-site-association or assetlinks.jsonfile on a domain can only represent one app identity. If Nimriz served association files from a shared or built-in domain, a single file would need to represent every customer's app at once, which is not supported by the platform specifications. Deep links therefore require a domain that is exclusive to one account, verified, ready for traffic, and fully configured for app association.What are the setup requirements for deep links?
Does deep linking work with routing rules and A/B experiments?
Do deep links support deferred deep linking or post-install attribution?
The app is not opening even though it is installed. How do I troubleshoot?
https://yourdomain.com/apple-app-site-association and https://yourdomain.com/.well-known/assetlinks.jsonand confirm they return valid JSON, not a 404. Check that your iOS app is configured to handle Universal Links for your domain, and that your Android app is configured for App Links with the correct package name and signing fingerprint. Apple and Android can cache association files longer than Nimriz's own headers suggest, so allow time for cache refresh after any configuration change. Test on a real device rather than an emulator.Related use cases
Deeper reading
Ready to get started?
Create your account and start with the Starter workflow. Compare plans when you need higher limits or supported-plan capabilities.