{"id":143637,"date":"2019-07-05T09:00:23","date_gmt":"2019-07-05T09:00:23","guid":{"rendered":"http:\/\/sftarticles.wpenginepowered.com\/en\/?p=143637"},"modified":"2025-07-01T21:44:09","modified_gmt":"2025-07-02T04:44:09","slug":"how-to-track-your-mobile-app-campaign-using-deeplinks","status":"publish","type":"post","link":"https:\/\/cms-articles.softonic.io\/en\/how-to-track-your-mobile-app-campaign-using-deeplinks\/","title":{"rendered":"How to Monitor your Mobile App Campaign Using Deeplinks"},"content":{"rendered":"<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-143926\" src=\"https:\/\/articles-img.sftcdn.net\/image\/upload\/q_auto:good\/v1562321208\/guest-post-header-image-6_ekdjz5.png\" width=\"1280\" height=\"720\" \/><\/p>\n<div><em>Our team is always looking for things we think our readers will value. If we make a content partnership like the one featured in this article, then we may receive compensation for publishing.<\/em><\/div>\n<div><\/div>\n<p>What\u2019s the most important component of a mobile app? <em>The user experience<\/em>.<\/p>\n<p><strong>Optimizing how users interact with your app will improve how often they use it and remain active.<\/strong><\/p>\n<p>On the flip side, poorly optimized apps will experience higher churn rates. In fact, the <a href=\"https:\/\/clevertap.com\/blog\/churn-rate-mobile-app\/\" target=\"_blank\" rel=\"noopener noreferrer\">average mobile app loses 77% of users<\/a> within three days of it being downloaded.<\/p>\n<p>How can you get around this? Through <strong>mobile deep linking.<\/strong><\/p>\n<p>This is the process of sending users directly to a specific page within an app versus the welcome screen. Users get where they want to be faster and ultimately have a more pleasant experience.<\/p>\n<p>Deep linking also allows you to collect information to refine the user experience, discover trends, and understand your users on a deeper level.<\/p>\n<p>Sounds like something you\u2019d like to experience? Great, because ahead we\u2019ll be teaching you how to use Appsflyer to integrate deep linking and measure mobile app campaigns.<\/p>\n<h2>How to use Appsflyer to measure mobile campaigns<\/h2>\n<p>AppsFlyer uses the OneLink system that makes deep linking easier and quicker than ever. The system looks like this:<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-143641\" src=\"https:\/\/articles-img.sftcdn.net\/sft\/articles\/auto-mapping-folder\/sites\/3\/2021\/09\/OneLink_kx5qip.jpg\" alt=\"OneLink\" width=\"700\" height=\"319\" \/><\/p>\n<p>OneLink compiles data by acting as a bridge between <a href=\"https:\/\/en.softonic.com\/articles\/top-news-apps\" target=\"_blank\" rel=\"noopener noreferrer\">mobile apps<\/a> and advertising campaigns. It will help you personalize the user experience while also being able to retarget users.<\/p>\n<p>Seeing as <a href=\"http:\/\/www.adready.com\/site\/dl\/AdReady_White_Paper_Retargeting.pdf\" target=\"_blank\" rel=\"noopener noreferrer\">retargeting can boost ad response by 400%<\/a>,<strong> mobile app companies could be drastically improving campaign performance with deep linking.<\/strong><\/p>\n<p>First, you need to understand the different types of mobile deep links before implementing them.<\/p>\n<h3>The two types of deep links<\/h3>\n<p>The first type of mobile deep links is called <strong>standard deep linking.<\/strong> It allows you to personalize the app journey for devices with the app already installed.<\/p>\n<p>The second type, <strong>deferred deep linking,<\/strong> serves personalized content to users. They will be forwarded to the app installation page first if it isn\u2019t found on their device.<\/p>\n<p>The two processes look like this:<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-143642 aligncenter\" src=\"https:\/\/articles-img.sftcdn.net\/sft\/articles\/auto-mapping-folder\/sites\/3\/2021\/08\/direct_deep_link_g6gf3l.jpg\" alt=\"Direct Deep Link\" width=\"700\" height=\"311\" \/><\/p>\n<p>No matter if they have the app installed or download it afterward, they will be automatically forwarded to the page they intended to visit.<\/p>\n<p>For example, if a user clicked on a product page found on Google, it would open the app and place them on that page.<\/p>\n<p>Since apps are typically more optimized for mobile devices than browsers, sales funnels and pages will be more effective.<\/p>\n<h3>OneLink deep linking steps<\/h3>\n<p>Now that you understand how <a href=\"https:\/\/www.appsflyer.com\/resources\/everything-marketer-needs-to-know-deep-linking\/\" target=\"_blank\" rel=\"noopener noreferrer\">deep links<\/a> work, follow the below steps to configure it correctly for the device.<\/p>\n<h4>URI schemes<\/h4>\n<p>URI stands for uniform resource identifier and is similar to the URL of a website. URIs <strong>allow developers to link to deeper activities within an app<\/strong>, such as a specific page or feature.<\/p>\n<p>URI schemes are specific to Android, and automatically launch an app to the desired location when a user navigates to a URL with the app installed.<\/p>\n<p>The first step to adding a deep link via a URI scheme is by adding an intent filter in your Android app\u2019s manifest.xml file like so:<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-143646\" src=\"https:\/\/articles-img.sftcdn.net\/sft\/articles\/auto-mapping-folder\/sites\/3\/2021\/05\/code_suctgj.jpg\" alt=\"Code\" width=\"700\" height=\"179\" \/><\/p>\n<p>You can then add a deep link to each individual activity you would like to deep link into. Here\u2019s an example:<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-143648\" src=\"https:\/\/articles-img.sftcdn.net\/sft\/articles\/auto-mapping-folder\/sites\/3\/2021\/04\/GreatAppCode_eu4gcm.jpg\" alt=\"GreatApp Code\" width=\"700\" height=\"237\" \/><\/p>\n<h4>Universal links<\/h4>\n<p>Universal links are links between an <a href=\"https:\/\/en.softonic.com\/articles\/changes-coming-to-apples-ios\" target=\"_blank\" rel=\"noopener noreferrer\">iOS mobile app<\/a> and an associated website or domain.<\/p>\n<p>The first step to deep linking in iOS apps is to acquire the app\u2019s prefix ID via your Apple Developer account. You can find it by following these steps:<\/p>\n<ol>\n<li>Select the \u201cCertificates, Identifiers &amp; Profiles\u201d menu once you\u2019re logged in<\/li>\n<li>Click \u201cApp IDs\u201d under the \u201cIdentifiers\u201d sidebar menu<\/li>\n<li>Choose the app you\u2019re developing<\/li>\n<li>Copy the Prefix code and ID. This needs to be added to a OneLink template by your marketing department<\/li>\n<\/ol>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-143650\" src=\"https:\/\/articles-img.sftcdn.net\/sft\/articles\/auto-mapping-folder\/sites\/3\/2021\/04\/iOS_jsnepe.jpg\" alt=\"iOS\" width=\"700\" height=\"304\" \/><\/p>\n<p>Next, navigate to the \u201cApplication Services\u201d section of your Apple Developer account to enable associated domains.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-143652\" src=\"https:\/\/articles-img.sftcdn.net\/sft\/articles\/auto-mapping-folder\/sites\/3\/2021\/04\/App_ID_nima1r.jpg\" alt=\"App ID\" width=\"700\" height=\"583\" \/><\/p>\n<p>The last step is to generate a OneLink subdomain and include it within the \u201cAssociated Domains\u201d section of Xcode.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-143654\" src=\"https:\/\/articles-img.sftcdn.net\/sft\/articles\/auto-mapping-folder\/sites\/3\/2021\/04\/Apple_devices_szmad8.jpg\" alt=\"Apple ID\" width=\"700\" height=\"493\" \/><\/p>\n<p>Once you have completed these steps, <a href=\"https:\/\/en.softonic.com\/articles\/apple-kills-itunes\" target=\"_blank\" rel=\"noopener noreferrer\">Apple devices<\/a> will automatically launch the associated app when a user navigates to the domain(s) you set up.<\/p>\n<h4>Android app links<\/h4>\n<p>Google introduced its own version of universal linking with Android 6.0 if you wish to take that approach to deep links within a mobile app.<\/p>\n<p>The first step is to generate a SHA256 fingerprint to enter during the OneLink setup. This begins by navigating to the app\u2019s keystore which can be found on:<\/p>\n<ul>\n<li><strong>Windows<\/strong>: C:\\Users\\USERNAME\\.android\\debug.keystore<\/li>\n<li><strong>Linux\/Mac<\/strong>: ~\/.android\/debug.keystore<\/li>\n<\/ul>\n<p>Once you have located the keystore destination, run the following command:<\/p>\n<ul>\n<li>keytool -list -v -keystore apk-key.keystore<\/li>\n<\/ul>\n<p>If it asks for a password, the default is typical \u201candroid&#8221;<\/p>\n<p>The output will look like this:<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-143656\" src=\"https:\/\/articles-img.sftcdn.net\/sft\/articles\/auto-mapping-folder\/sites\/3\/2021\/04\/Android_code_j4cnmw.jpg\" alt=\"Android code\" width=\"700\" height=\"463\" \/><\/p>\n<p>An individual in your marketing department will need to create an intent snippet through OneLink by adding the SHA256 fingerprint you generated.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-143658\" src=\"https:\/\/articles-img.sftcdn.net\/sft\/articles\/auto-mapping-folder\/sites\/3\/2021\/04\/Android_Candy_Crush_kkyl02.jpg\" alt=\"Android Code\" width=\"700\" height=\"388\" \/><\/p>\n<p>This snippet can then be pasted directly in the AndroidManifest.xml file of your Android app where you wish to deep link into.<\/p>\n<h2>Tracking data with AppsFlyer<\/h2>\n<p>Once you have successfully enabled deep linking for your app and its appropriate OS, <strong>you can begin measuring two types of data:<\/strong><\/p>\n<ul>\n<li><strong>Conversion data <\/strong>for new users<\/li>\n<li><strong>Re-engagement data<\/strong> for existing users<\/li>\n<\/ul>\n<p>Accessing conversion data via deferred linking can be done directly through OneLink\u2019s system as attribution data is sent directly to the app upon use.<\/p>\n<p>Re-engagement data, however, involves the following flow:<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-143661\" src=\"https:\/\/articles-img.sftcdn.net\/sft\/articles\/auto-mapping-folder\/sites\/3\/2021\/04\/AppsFlyer_data_lzdg3t.jpg\" alt=\"AppsFlyer\" width=\"350\" height=\"534\" \/><\/p>\n<p>Developers can use the onAppOpenAttribution SDK function to access all of the re-engagement data parsed through the app. This function returns the data via \u201cNSDictionary &lt;key, value&gt;\u201d objects on iOS and \u201cMap &lt;key, value\u201d objects on Android.<\/p>\n<h2>Wrapping up mobile app deep linking<\/h2>\n<p>Optimizing the user experience and reducing churn rate are common priorities for mobile app developers. Mobile deep linking is one way to work on both of these aspects in one fell swoop.<\/p>\n<p>Deep links forward users to <a href=\"https:\/\/en.softonic.com\/articles\/android-malware-apps\" target=\"_blank\" rel=\"noopener noreferrer\">deeper pages within an app<\/a>, making their experience more enjoyable and productive. This has been shown to increase conversion rates and increase retention at the same time.<\/p>\n<p>Developers can implement deep links through URI schemes or universal links depending on the operating system.<\/p>\n<p>Standard deep linking works for users with an app already installed, while deferred deep linking has the user install it first if it isn\u2019t found on their device.<\/p>\n<p>This means that deep linking also helps developers acquire more users. Furthermore, deep linking collects data on users that can be used to refine the app and its marketing.<\/p>\n<p>So, what are you waiting for? Try adding deep links to your mobile app today to measure and optimize your campaign.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Do you have an app you&#8217;re ready to launch? Deep linking can help!<\/p>\n","protected":false},"author":9182,"featured_media":143927,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":"","wpcf-pageviews":0},"categories":[2441],"tags":[1082,1536,2016,1083],"usertag":[],"vertical":[],"content-category":[],"class_list":["post-143637","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-how-to","tag-android","tag-app","tag-app-store","tag-ios"],"aioseo_notices":[],"_links":{"self":[{"href":"https:\/\/cms-articles.softonic.io\/en\/wp-json\/wp\/v2\/posts\/143637","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/cms-articles.softonic.io\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/cms-articles.softonic.io\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/cms-articles.softonic.io\/en\/wp-json\/wp\/v2\/users\/9182"}],"replies":[{"embeddable":true,"href":"https:\/\/cms-articles.softonic.io\/en\/wp-json\/wp\/v2\/comments?post=143637"}],"version-history":[{"count":1,"href":"https:\/\/cms-articles.softonic.io\/en\/wp-json\/wp\/v2\/posts\/143637\/revisions"}],"predecessor-version":[{"id":325775,"href":"https:\/\/cms-articles.softonic.io\/en\/wp-json\/wp\/v2\/posts\/143637\/revisions\/325775"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/cms-articles.softonic.io\/en\/wp-json\/wp\/v2\/media\/143927"}],"wp:attachment":[{"href":"https:\/\/cms-articles.softonic.io\/en\/wp-json\/wp\/v2\/media?parent=143637"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/cms-articles.softonic.io\/en\/wp-json\/wp\/v2\/categories?post=143637"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/cms-articles.softonic.io\/en\/wp-json\/wp\/v2\/tags?post=143637"},{"taxonomy":"usertag","embeddable":true,"href":"https:\/\/cms-articles.softonic.io\/en\/wp-json\/wp\/v2\/usertag?post=143637"},{"taxonomy":"vertical","embeddable":true,"href":"https:\/\/cms-articles.softonic.io\/en\/wp-json\/wp\/v2\/vertical?post=143637"},{"taxonomy":"content-category","embeddable":true,"href":"https:\/\/cms-articles.softonic.io\/en\/wp-json\/wp\/v2\/content-category?post=143637"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}