Learn how to use deferred deep linking to track conversions and traffic.
Deep links require a Pro plan subscription or
higher.
Deferred deep linking allows you to track which link a user came from even when they don’t have your app installed.
When a user clicks a link without the app installed, they’re redirected to the app store. After installing and opening the app, you can retrieve the original link information and redirect them to the appropriate screen.
Android provides the Install Referrer API which allows you to retrieve information about how a user came to install your app, including the referrer URL.Here is how it works in a nutshell:
User taps a deep link on a device without your app installed
Dub redirects the user to the App Store or Play Store by using device targeting
Now you’ll need to implement the logic to read the install referrer and track the deep link open.
Copy
Ask AI
// InstallReferrerTracker.jsimport InstallReferrer from "@react-native-community/install-referrer";class InstallReferrerTracker { constructor() { this.isFirstLaunch = true; } async trackInstallReferrer() { try { // Check if this is the first launch if (!this.isFirstLaunch) { return; } // Get the install referrer const referrerDetails = await InstallReferrer.getReferrerDetails(); if (referrerDetails.referrerUrl) { // Track the deep link open with the full referrer URL await this.trackDeepLinkOpen(referrerDetails.referrerUrl); } this.isFirstLaunch = false; } catch (error) { console.error("Error tracking install referrer:", error); } } async trackDeepLinkOpen(deepLink) { try { const response = await fetch("https://api.dub.co/track/open", { method: "POST", headers: { "Content-Type": "application/json", }, body: JSON.stringify({ deepLink, }), }); if (response.ok) { const data = await response.json(); const destinationUrl = data.link.url; // Navigate to the destination URL in your app this.navigateToDestination(destinationUrl); } } catch (error) { console.error("Error tracking deep link open:", error); } } navigateToDestination(destinationUrl) { // Implement your navigation logic here // This will depend on your navigation library (React Navigation, etc.) console.log("Navigating to:", destinationUrl); }}export default InstallReferrerTracker;
First Launch Detection: The install referrer is only available on the first launch after installation. Make sure to track this properly to avoid duplicate tracking.
Network Operations: The tracking API calls should be made on a background thread to avoid blocking the UI.
Error Handling: Always implement proper error handling for network requests and URL parsing.
Testing: Test your implementation thoroughly using the Google Play Console’s internal testing track.
To get started, we recommend using the quickstart guide to set up your deep links on Dub.