Mobile Deep Links, A Deep Dive
While we continue to build out “automatic” deep linking support for Geniuslink behind the scenes, we wanted to help those of you who have been patiently waiting, by providing some insights into the research we’ve done on how deep links are structured, and how you can build your own mobile optimized deep links now by following some simple steps!
What is Deep Linking?
First, let’s start with some context – you may have heard “deep linking” mentioned before, but a lot of people (including ourselves) were unfamiliar with exactly what this means and how it works.
Functionally, “Deep linking” is the use of a hyperlink that links to a specific piece of web content on a website (e.g. “http://example.com/path/page”), rather than the website’s home page (e.g., “http://example.com”) This means that MOST links you share these days are already “deep links” – anytime you link to a YouTube video or a Wikipedia article, you’re technically sharing a deep link!
However, in the context of linking to mobile apps, deep linking consists of using a uniform resource identifier (URI) that links to a specific location within an app, rather than just simply launching the app itself. It’s still a similar concept to desktop deep linking, but functions differently due to how different mobile apps are structured, and how mobile operating systems interpret the URI.
Since “desktop deep linking” is effectively a solved problem already, what we’re truly interested in defining and understanding is how “mobile deep linking” works – how are these links built, what apps support them, and how can you use them to better optimize your marketing efforts?
Why is Mobile Deep Linking Important?
Mobile device browsing has continued to grow over the last couple of years, with over 55% of worldwide website traffic now coming from mobile devices. (Statista)
This means that it’s incredibly important to ensure that mobile app users have a seamless experience when viewing your content, especially if you’re an affiliate or marketer trying to promote a particular product.
Think of it like this:
If you want to share a pair of shoes from Amazon.com with a friend, you can send a deep link that brings your friend directly to those shoes in the Amazon app. Without a deep link, your friend would have to find the Amazon app on the iOS App Store or Google Play Store, open the app to the homepage, locate the Search function, and then try to find the same pair of shoes you’re recommending, meanwhile losing any attribution you may have wanted to be included in the original link!
Importantly, Shopping Apps are also currently the #1 most installed type of app on the iOS App Store in the US, with over 10.8%of iOS users downloading Shopping Apps after seeing them in App Store search or browser results – In 2021, the “average install rate” on the US App Store was only 4%. Mobile users are more than twice as likely to install a Shopping app than Social Networking or Music apps! (Take that TikTok!)
Check out this great report by Apptweak if you’d like to see more granular data on mobile app installs and conversion rates!
SimilarWeb offers some additional insights into which specific Shopping Apps are being downloaded the most, with major retailers like Amazon, Walmart, Etsy, and eBay sitting in the Top 10. (Note that these values are for Google Play Store, not iOS App Store, but similar install rates can be assumed for iOS)
Additionally, since the outbreak of the COVID-19 pandemic 2 years ago, mobile app usage has seen a marked growth, with an over 30% increase in 2021, and no signs of slowing now, even as physical retail stores begin to reopen. (InternetRetailing)
“An analysis by Liftoff, a global performance-based mobile app marketing optimisation platform, in partnership with the global data and analytics company App Annie and native mobile app platform Poq, reveals a 30.1% increase in purchase rates from Jan 2021 to May 2021 (growing from 15.3% 19.9%). Purchase sizes also spiked, with baskets hitting a high $88 in June 2021, compared to January’s $74 – a 15.8% increase.
This analysis highlights that consumers flocked to mobile retail amid COVID-19 restrictions, boosting a years-long trend of increased adoption in the sector. Globally, the report shows mobile users spent 49% more time on these apps since January 2020, reaching nearly 18 million hours spent weekly in April 2021. Regionally, APAC experienced the most significant growth in time spent (54%), followed by the Americas (40%) and Europe and the Middle East (EMEA) (38%)”
In short, retailers have heavily relied on mobile commerce over the past 2 years to make up for the decrease in in-person purchases. Even as pandemic restrictions are lifted and stores open to in-person shopping, mobile shopping will likely continue to rise and present a key value opportunity for retailers, marketers, and affiliates to capitalize on.
This means it’s more important than ever to ensure that linking to products within mobile apps is a seamless process. At Geniuslink, we’re doing our very best to wrap our head around this growing opportunity, and finding solutions that can help our clients not just optimize their links internationally, but also between devices.
Mobile Deep Links on iOS and Android
In order for our team to properly build support for mobile deep linking, we‘ve had to do a ton of research into the various ways that deep linking is supported on different mobile operating systems, as well as between different applications.
Since iOS and Android are (at this point) the primary OS’s for mobile, these are pretty much the only two standards worth discussing right now.
Let’s take a look at how iOS and Android support mobile deep linking, and walk through how you can already use these link formats to provide mobile optimized deep links to your own audience! Ultimately it’s our goal to help automate and streamline this process for you, but by understanding how mobile deep linking works, you can still benefit from sharing mobile optiimzed links manually now.
iOS Universal Links
Custom URI schemes were the original form of deep linking for mobile apps. They’re like creating a “private internet” for your app, with links that look like myapp://path/to/content. The advantage of custom URI schemes is they are easy to set up, and most apps already have one. The disadvantage is that a user’s device only knows about this “private internet” if the corresponding app is already installed, and there’s no graceful fallback option by default when using this method.
This is still the primary approach to deep linking on Android, but Apple began blocking this approach on iOS in 2015, with the release of Universal Links.
Universal Links are standard web links (http://mydomain.com) that point to both a web page and a piece of content inside an app. When a Universal Link is opened, iOS checks to see if any installed app is registered for that domain. If so, the app is launched immediately without ever loading the web page. If not, the web URL (which can be a simple redirect to the App Store) is loaded in Safari.
At this point, virtually every iOS device owner is on iOS 14 or higher, so you shouldn’t have concerns about whether using Universal Links on iOS will work for your audience.
This means that for most of the major shopping apps on iOS, you should be able to effectively “deep link” using Universal Links by simply sharing links to retailer websites as you already are:
https://amazon.com will open in the Amazon Shopping App if installed on iOS
https://walmart.com will open in the Walmart App if installed on iOS
https://bestbuy.com will open the BestBuy App is installed on iOS
We’ve done some testing using these links for all the major Shopping Apps on iOS, and found that this solution works well for almost all Shopping Apps at time of writing. That said, there are still some limitations with this method you should be aware of.
Universal Link Limitations
- Pasting a Universal Link directly into the Safari URL field doesn’t cause the app to open automatically. If you do this, you will have to manually pull the website down so that a prompt will appear at the top asking you to open the respective app.
- But, if you paste links in Facebook(app), Twitter(app), Mail(app) or even if you go to Facebook on Safari and then click on a universal link, the app opens directly.
- As in step one, for the first time you will have to manually pull down the website and click “open” to open the link using the respective app. The iOS will “remember” to open the app instead of opening Safari if the universal link with the registered domain is clicked.
- Universal Links don’t work everywhere: (learn more here)
Apps That Work Sometimes
- Facebook Messenger
Apps that Do Not Work
Android App Links
Android doesn’t currently have a “universal” link format like iOS, but instead still relies on the more traditional URI structure we’ve discussed above. However, Android now also provides a system called “Intent Filtering” which allows URIs to be more specific to locations or behavior within Apps, as well as supporting additional “fallback” behavior for what should happen when an App is not already installed.
This is explained in the Android Developer Documentation here:
When a clicked link or programmatic request invokes a web URI intent, the Android system tries each of the following actions, in sequential order, until the request succeeds:
- Open the user’s preferred app that can handle the URI, if one is designated.
- Open the only available app that can handle the URI.
- Allow the user to select an app from a dialog.
While a traditional URI-based deep link can allow Android users to directly enter a specific activity in an Android app, when a user clicks a URL, it can still open a dialog which asks the user to select one of multiple apps handling the given URL. With Intent Filtering, this behavior can be skipped, as the “intent” to open a specific app is included in the structure of the URI.
Android App Links using Intent Filtering work just as well as iOS Universal Links when it comes to linking to content directly within apps, but they aren’t as “pretty” as Universal Links. You won’t normally be able to open an App Link on Desktop, as the Intent Filtering format is not recognized by desktop browsers as a valid URL.
Fortunately, with Geniuslink, you can workaround this by using our Advanced Options feature with your links – we’ll cover this more in detail below so you have an idea of how this works!
Building Mobile Deep Links Manually
Building Apple Universal Links
With Apple’s Universal Links, you theoretically shouldn’t need to do any additional work to create a Geni.us link that opens in-app on iOS, since the URLs you’re likely already sharing (Amazon.com, Walmart.com, BestBuy.com, etc) are treated both as standard URLs and app content on iOS, as long as your audience has the respective apps installed on their iPhones.
HOWEVER: With the testing we’ve done so far, we’ve discovered that putting these destinations within a Geni.us link results in iOS not recognizing the source destination as a valid Universal Link – this is something we’re actively working on a solution for, but right now this means that iOS Universal Links do not currently function as expected when used as a Geni.us link destination.
Building Android App Links
For Android, right now the process to build a correctly formatted “App Link” is trickier than Universal Links, but from our testing, still work properly when used within a Geni.us link. In order to properly structure a destination so that it’s opened properly within Android Apps, you need to include the correct “intent filtering” and App “package” URI within the destination for Android to recognize which location within each App to open when the link is clicked.
Ultimately this is exactly where automation can help the most, (and what we’re looking to help simplify) but for now, we’ve included a spreadsheet which documents the App Link formatting for some of the most common Shopping and Social Media apps.
To help you understand how this works, here’s quick breakdown for Home Depot that works on Android now:
- Assume you start with this link: www.homedepot.com/p/Nearly-Natural-Indoor-82-in-Artificial-Olive-Tree-9160/308790368
- To find The Home Depot App “package” we perform a quick search of the Google Play Store: https://play.google.com/store/search?q=thehomedepot&c=apps
- Within the URL Address for The Home Depot App, we can see the following: https://play.google.com/store/apps/details?id=com.thehomedepotThe “?id=com.thehomedepot” section of this URL is what we’re interested in, specifically, “com.thehomedepot” – this is the “package” URI we need for the next step.
- To build the “Intent Filter” for The Home Depot with this information, we need to use the above package URI like so:“#Intent;package=” + <package URI> + ”;scheme=https;end”For Home Depot, this becomes:#Intent;package=com.thehomedepot;scheme=https;end
- We then need to append this Intent Filter to the end of our original Product URL we started with, with an additional “intent://” before the original URL.:The structure for this looks like:“intent://” + <original product URL> + “#Intent;package=com.thehomedepot;scheme=https;end”
- The “final” App Link should look like this: intent://www.homedepot.com/p/Nearly-Natural-Indoor-82-in-Artificial-Olive-Tree-9160/308790368#Intent;package=com.thehomedepot;scheme=https;end
- Copy this address and paste it into a new Geni.us link! If you then try clicking the Geni.us link from Android, you’ll see the link open in-app (if you have The Home Depot App installed) otherwise, Android will automatically open the Play Store to The Home Depot App for you to install.
- If you’re reading this article on mobile, try clicking this link – it should load The Home Depot App in the Play Store if you do not have it already installed, but will otherwise load the product directly in the app if you do: https://geni.us/HomeDepotIntentExample
- To help ensure your Android App links work properly on both desktop and mobile, we recommend using our “Advanced Options” feature to setup a rule for “If OS is Android” to direct clicks to the Android App Link, like so:
Geniuslink and Automatic Deep Links
While Apple has done a fantastic job of simplifying mobile deep linking with Universal Links, there’s still room for improvement – primarily, it’s a matter of documenting which mobile apps support mobile deep linking, (and in the case with Android) knowing the correct link structure/intent in order to consistently deliver your audience to the appropriate locations within each app.
Our team is hard at work documenting these details as we work to build out fully automated deep linking support. In the future, we hope to be able to provide Geniuslink clients with the ability to create mobile-optimized links automatically, whenever we detect that a destination you’re linking to is supported on each operating system.
We want to eliminate as much of the guess-work as possible, so you can focus on sharing links, knowing they’ll work seamlessly on both iOS and Android!
While we’re still a ways off from introducing this functionality, we hope the details we’ve provided in this article will help provide some value to those of you who are interested in optimizing your links for mobile now – between Universal Links and the (albeit limited) documentation on common Android App Link formats, you should be able to build links now within Geniuslink using these formats that will work great on mobile devices.