Before diving into the tools that I’ve seen work, let me first describe a framework for thinking about growth. A growth engine is a cyclical process that results in your existing users inviting their friends to join them. Breaking down the different components of this engine can help create a mental model for optimizations and improvements.
The four phases of the growth cycle are awareness, download, activation, and share.
The first step of the process is driving app awareness. How are people going to get to your app store page in order to press download and install? There are many, many different ways to drive awareness and the distribution of different channels will vary over time. It’s important to try new initiatives and to measure every one of these channels so that you can improve and optimize your efforts.
The second step is the download. This download will hopefully come naturally with increased awareness, but there is always a drop-off from awareness to download. You’ll find that some channels will drive much higher conversion from awareness to download.
The third and mostly overlooked step is activation. 20% of downloaded apps are used just once. To avoid this no-man’s land, once a user commits to download and opening up your app, you want to get them to take some action to commit to your product.
The final step of the cycle is to drive users to share. Sharing can come in many different forms, from incentivized referrals to content sharing and everything in between. Word of mouth is the most effective form of marketing so the ultimate goal is to leverage your activated users to drive more awareness and therefore feed back into the cycle.
Phase 1 — Attributing downloads to the source
You have to send new potential users to the app stores in order to drive downloads but the app stores are a black box when it comes to measurement, which makes it extremely challenging to get a clear picture of where these new downloads are coming from. This is the first critical problem to resolve in order to grow.
In order to measure these various channels, you’ll need to use a mobile attribution company like Branch, AppsFlyer, Adjust, or Kochava. Every referral link you create has the power to attribute downloads and even in-app user events back to the source. These can be easily visualized or exported to compare how different channels are performing.
The only growth channel that remains a mystery today is organic search traffic in the app store. It’s currently impossible to know exactly how many users just typed your name into the different stores or searched for a keyword. After replacing every link that points to your app with a uniquely tagged Branch link, you can calculate the organic traffic by process of elimination for a high level estimate.
Example — Instacart & Yummly: Getting and Attributing Affiliate Traffic
Instacart, an on-demand grocery delivery service and Branch link user, found that a lot of their users were managing recipes with the recipe discovery app Yummly. They thought it would be a great idea to partner with Yummly to allow instant ingredient ordering through the Instacart platform. This affiliate relationship between the two companies would need to be tracked so that Yummly could be fairly compensated for driving downloads and orders through Instacart. Instacart decided to put Branch links to work here.
Instacart instructed the Yummly engineering team to create a Branch link in the Yummly app that points back to the Instacart app.
Yummly users are presented with a link to their shopping cart in Instacart.
Since Branch also supports contextual deep linking, Yummly has the ability to include the exact ingredient list to pass to Instacart so that the new user’s cart is immediately pre-populated on install. This gives the user a delightful experience upon fresh install.
A contextual deep link allows the entire Yummly shopping list to be added to Instacart, even through install.
Lastly, Instacart gets a report from Branch on the exact number of installs that occurred through this affiliate channel.
Branch’s dashboard provides thorough insights on the performance of Branch links.
Example — 8tracks: Attributing Email Performance
In some situations, you might have collected a large web presence and are trying to drive new users to the mobile app. An awesome user-generated music playlist service named 8tracks was facing just this problem.
One tactic is to put an app download button in the frequent marketing emails that go out to the user base. Unfortunately, it’s hard to know how many downloads are actually being generated by each email. To solve this problem, 8tracks started using Branch links to handle the button press in order to track the number of clicks, downloads and even signups per email. 8tracks is now able to measure the exact number of app downloads across both platforms for each email campaign.
8track uses a Branch link to measure the number of interactions with their marketing emails.
Phase 2 — Converting downloads to activations
You’ve worked hard to raise enough awareness to drive a new download. Now we need to focus on the next phase of your mobile growth engine: converting this new download to an activation.
According to numbers we’ve seen across our network, if you require users to register in order to enjoy the features of your app, you’ll lose over half of the users right away. This means that half of the work you’ve invested in convincing them to download is wasted and you need to work twice as hard for the same number of activated users.
Fortunately, there are a lot of things you can do to convince new users that your app is worth sticking around for. I bucket them into two categories depending on what’s most applicable for the app: personalization and contextual deep links.
Personalization involves showing the user something relevant to their social context. This technique is best used by apps that are building an invite or referral feature for their app. For example, if a new user received an invite from their friend to install an app, that user could be greeted by their friend through a custom modal in the app upon install.
Contextual deep links bring the concept of a link router from the web era to mobile apps. It is the philosophy that if a user clicks a link that points to a page in your app, no matter if the app opens right away or the user has to install it first, you should route them to the appropriate page associated with that link. I believe the mobile ecosystem and its users benefit from the adoption of this philosophy, as it passes the user’s context from outside of the app into the app, giving the user what they expressed interest in. From an implementation perspective, you simply create links for pages in your apps when users share them, then route new or existing users to that page when the link is clicked.
Example — Gogobot: Personalized Onboarding for High Activation
With 77% of app users downloading new apps based on recommendations, Gogobot decided to make this pathway easier for their existing users by allowing them to invite their friends to sign up and join through an SMS invite feature within the app. Additionally, they decided to use Branch links to personalize each download that came from an invite. In each message that went out to other users, they inserted a Branch link embedded with the original user’s name, profile pic, and user ID.
When a new user receives the link and downloads the Gogobot app, Branch passes that original user’s name, profile pic and user ID to the new app session and populates a personal welcome modal prompting a sign up. Users who saw a personalized welcome from their friend were 78% more likely to register in the app. This small change to the user experience powered nearly doubled the conversion from download to activation for referred users.
Example — Allthecooks: Contextual Deep Linking for High Activation
Allthecooks has built a community around sharing and discovering recipes. With this at the heart of their product, they want to be sure they are optimizing the sharing experience. Every time a user wants to share a recipe, Allthecooks automatically creates a Branch link that can easily be shared via text, email, Twitter, Facebook, or Pinterest.
AllTheCooks brings new users directly to the recipe in the app that was shared with them.
What makes this link so special is that it directs the recipient to the recipe inside the app right after opening, regardless of whether or not they previously downloaded the app. It’s a delightful experience. As a side note, users that originate from a Branch link are 2.1 times more likely to activate into a registered user.
Phase 3 — Driving more sharing
If you’re reading this blog, chances are you don’t have a large marketing budget to make paid a large component of your user acquisition efforts. Additionally, it’s very rare that you’ll be able to make paid a significant portion of your traffic in a sustainable way due to the astronomic prices of installs, but it can be a great method to buy an early batch of users to test the robustness of conversion from activated users to sharing.
Sharing as a label can be a little misleading, as it takes the form of many different viral implementations. For example, app sharing can take the form of an incentivized referral program, where users are rewarded with money for convincing their friends to download and use the app (ex. HotelTonight, Uber). Another example might be the basic content sharing feature, where a user is allowed to send a reference to some content in the app to their friends or social network (ex. Flipboard, Allthecooks).
To do sharing well, it’s important to build it into the natural flow of your app or to tap into the emotional ebb and flow of your users. If you just add a sharing or invite feature to check the box (as most apps do), don’t expect more than 1% growth from this feature. If you build it into the product and it feels natural, you can see explosive growth from even the simplest referral feature.
Example — The League: Natural Referrals for High Share Conversion
‘The League’ is an exclusive, invite-only, application based dating app. To get access to the app, you must sit on a waitlist before being approved or be invited by a friend. The exclusivity factor has a couple natural companion sharing features that have driven astronomic growth to the core user base.
The first ‘natural’ sharing feature they built was the ability to move up the waitlist by inviting more people to the waitlist. Using a Branch link, they could track the number of users that each existing user generated. They would show your current position on the waitlist and reduce it with every person you invited, when Branch notified them of a new referred install.
The second sharing feature they rolled out leveraged their existing ‘accepted’ user base, allowing them to invite individual friends to give them exclusive access to bypass the waitlist. The League also used an expiring Branch link to ensure uniqueness of each invite that was sent out.
By tracking link clicks, The League created a dynamic waitlist for their app.
As a result of The League’s clever sharing implementations, over 18% of the activated user base has shared the app via social media or other channels, resulting in a substantial portion of new traffic to be generated directly by invites.
Phase 4 — The Full Circle Growth Engine
This framework provides a mental lens for you to examine your growth problem in order to prioritize the work to improve it. For example, if you’re seeing high awareness->download and activation->sharing but low download->activation conversion, you’ll want to to work on optimizing that flow using some of the tricks I’ve recommended or other generic onboarding tweaks. Similarly, if it’s activation->sharing, you can try to devise a sharing flow that is more inline with the user experience.
While I’ve broken down the circle into unique, bite-sized chunks, you must think about the growth engine as a system as it’s likely that sometimes improvements to one section of the engine might have an impact down the funnel. One metric you can use over time is what I’ll refer to as k-Factor, which is an effective measure for how viral your service or product is. K-Factor is simply just the total number of new activated users generated by a single existing activated user. You can use this to gauge the health of your engine, and the response to significant changes.
It’s easy to your viral installs using Branch links. To calculate it, you just need to multiply three conversions together to get the result:
k-factor = (download -> activation) * (activation -> share) * (share -> new viral-driven download)
A note of caution: Keep time a constant while pulling the conversions, or you could see some strange time sensitive responses.
There is no single answer to growth. There isn’t a prescription solution and each successful initiative has to be perfectly tailored to every app’s situation. The most important tenet to remember is to just keep building as you’ll never get it right the first time.
About The Author: