Ways to think about customer onboarding

Onboarding new users is one of the most important jobs for any product.

No matter what you’ve built, or how good the marketing is, it won’t count for much if new users don’t experience value. Even though it’s the one thing all your customers will do, onboarding itself is rarely designed to deliver it. Rather than adapting to how people are using your product, and helping them see real value along the way, onboarding workflows seem content to rely on a one-size-fits-all onboarding flow and then call it a day.

But if you’re not tailoring your onboarding to how customers are actually using your product, you can be sure they won’t stick around for long. I recently discussed a few different strategies for thinking about onboarding at the Inside Intercom World Tour in Berlin. I explained how to understand the value users are trying to get from your product, how to design effective onboarding message schedules, and how to adapt your onboarding to context, time and behaviour.

The job of onboarding is helping new users understand and experience how your product is going to help them achieve their goal. It’s about unwrapping that value and showing how your solution is the answer to the motivation that drove them to your product in the first place.

Typical user attention graph for most apps out there, is probably something like this. A hundred people show up on day one, you lost half of them by day two, and you continue to hemorrhage users every day after that.

This is in spite of the huge amount of time, money, and effort you’re spending to get people to sign up for your app and your product in the first place. You’ve probably built a beautiful website, put lots of effort into blog posts, payed for direct advertising, so it’s crazy you don’t then try to make sure the new users who have arrived are setup in the best way possible to succeed.

But if you think about onboarding through different lenses, it should help ensure the people who do show up at your door stick around for longer and become active, happy, successful customers. Lets look at a fictional project management product to help show how some of these ways of thinking can be used in practice.

First up, how to think about success. As product builders immersed in building a product out everyday, it’s really easy for us to think of our product as a set of features and functions. When we come to think about onboarding, we think of successful onboarding as a new user who comes and takes these actions; creates a project, starts a to-do list, assigns a task in the first few days. Looks really good, but Ryan Singer from Basecamp pointed out the weakness of that view when he said, “It’s much easier just to explain your mechanisms, so that’s why we all do it.” But that’s not thinking from the user’s point of view. Why have they signed up to your product? What are they trying to achieve in using your product?


If we think of our project management example again, the goal for a user is not to create a to-do list. It’s to deliver a project on time, under budget, please their boss, be able to cut that ribbon. When you think of it in this framework, onboarding becomes much less about, “How can I get a new user to use feature X?” and much more about,“How can I show how my product could help new users achieve their final, desired outcome?”

I love Kathy Sierra’s angle on onboarding – you’re trying to “turn your users into superheroes”. Thinking about how you can enable your user is so much better than thinking about your product and the tools that are inside it.

Another layer of onboarding is to think about the job. The Jobs-to-be-Done framework is something we use a lot at Intercom and can apply really well here to onboarding as well. Do you know why people are coming to your product? What’s the motivation that’s driving them? What’s the need that’s driving them to sign up for your product in the first place?

The best way you can understand how customers answer these questions is to go ask them. Go and understand why new users are coming to your product, what are the needs they’re trying to fulfill, and you’ll just have a much better sense of how you can then try and help that customer see the value in their product.

As more and more of that data comes in, you’ll start seeing patterns. You’ll start seeing groups of really definitive jobs and needs that are driving people to your product. If you can find patterns of behavior within groups who are answering questions in a similar way, you’re now starting to segment based on what your users are trying to do when they first show up. That’s a really great seed for creating specific onboarding flows to show how your product can solve that problem.


When it comes to onboarding, you have to think about context. It’s easy to get very focused on onboarding and the messages that are sent. But it’s important to widen that out and think what your customers are going through when they’re in this onboarding phase.

They’re actually making a switch from an old way they solved a problem, to trying your application as a new way of solving it. Jobs-to-be-Done gives us a great model we can user here called the four forces model. It describes a user as they’re going through the switching phase, moving from a current solution to a new product.

There are two forces that are encouraging them to make the switch, and at the same time, there are a two forces that are interacting and pushing them back toward their old way of doing things. Thinking about onboarding like this adds some context around what the person is trying to achieve. The job of onboarding is trying to maximize those push and pull forces.


Take this message for our example project management app. We’re trying to encourage teammates, so we start to flesh out the pains of the old way of doing things, such as long mail trails, while at the same time talking about the benefits of the new solution, a shared space that’s always up to date. It’s all about adding context into what you’re trying to get the customer to do.


At the same time as maximizing those push forces, you’re also trying to minimize the forces that are pulling people back to their old solution. As we saw from that graph on user retention, that’s actually a really common thing. People end up going back to what they always did before.

So you might be trying to show a customer in their first days how easy it is to get started, to reduce that anxiety about making the switch, and allowing them to import via whatever file type they use right now. At the same time, you might be eating away at habits that they do right now, like sending a weekly message and saying, “Hey, we do that automatically. You don’t have to worry about it anymore.” The four forces model can offer a great holistic rounding or context on the messages you’re trying to write and how you’re trying to communicate with your customer.

The next layer or lens I think about is the medium. This is a nice illustration of how onboarding has evolved over the last while. Onboarding originally was a user manual, a big tome that arrived beside your piece of software and didn’t relate to how you used your product at all.

Things got a little bit better. Products started to bridge the gap between separate manual and software, and started bringing the actual onboarding into the customer experience? Product tours are a great definition of this era. They have their place, but at the same time, they’re usually delivered the very first time you use the product. That’s not the best way to learn a product.

Next, think about time. Users don’t learn your product in one go – it’s done over time. You learn it, you use it, you take bite sized chunks of information. I think drip campaigns are a good example here. A message is sent on day one, day 15, day 30. But drip campaigns also really struggle to understand and adapt to how different customers use your product in different ways. This schedule might make total sense for one user, but another user could have taken all these activities by day five, and the rest of the messages you send aren’t relevant.

The next layer is behavior. How are new users using our product, and how can we use that to further optimize our onboarding? Here, we’re able to setup messages based on actions that customers take or don’t take with your product. This is quite powerful. You’re sending messages much more relevant to customers, and you’re also creating an adaptive nature in your onboarding. It isn’t one-size-fits all – it adapts much more naturally to how each different user would use it. When you’re thinking about your onboarding, I try and think of these mediums and using them all to their full potential – context, time, and behavior.

That brings us to the next point; how to think about messaging schedules. When you look at a single message, it’s actually quite simple. You’ve got a message of an action that a customer has not taken, and we send them a message based on that.

But as you start to add more behaviors, as you start to encourage and get more sophisticated with your onboarding, you’re starting to create sets of messages that are really hard to comprehend. That’s because you’ve created this N-dimensional space. Time is one dimension, and then every new behavior that you add adds another dimension. These complex decision trees are impossible for people to hold in their head. They can’t see how these things can send, and how they can relate to each other.


To try to understand this complexity, most people get their pen and paper out, and start drawing it. They start trying to visualize the number of possible customer journeys, the different messages that could be received in different orders. This works when you have a relatively small amount of behaviors and a small amount of messages.


But as soon as you add any level of complexity, for example, like the above series of four behavior-based messages, this is how complex the decision tree gets. Trying to visualize these starts to breakdown. It means you’ve also got a hard coded set. Want to add another message in there? Want to change your products in some way? You’re stuck. It becomes hugely, actually difficult to think about adding more behavior.

At Intercom, we try and think about messaging scheduling in a different way. The first is we collapse all those dimensions back down to time. Time is the easiest way you can relate to how a customer is going to experience your messages. The next thing we do is try and define the frequency by which we want to message customers. For example, let’s say we’re going to message users every third day. We build all our time behavior messages that are very specific, very targeted on those behaviors, and instead of trying to connect dependencies or direct relationships between each of the messages, they are just ordered in a simple priority from top to bottom.

That’s why we built our feature, Smart Campaigns to do just that. Rather than trying to guess the pathways people might take in your product, it adapts the order of messages to match their behavior.

How does it work? Lets say a new user comes along. We see that they match three of those messages, and we send the highest priority message. That’s great. They’ve got a message. Wait a few more days, the next messaging opportunity comes up. We check to see what messages they match at this point, what behaviors are relevant for them, and again, we send the highest priority message. That process continues. Again, we check your messages and send it this way.

This allows two things.

1. We can get much richer and more specific about your targeting and the messages you’re creating based on behavior. That priority list can just go all the way down, and you just reorder the priority as you need to.
2. We can actually adapt to how each individual user might use the product, and we’re not having to create these crazy decision trees. We’re able to adapt to it.

We’ve chatted about a few different things, so let me leave you with some take aways.

First and most importantly is to think about success from your user’s point of view. How can you help define your product in your onboarding to help that user achieve their outcome, instead of just showing them a set of tools.

Secondly, try and understand your user’s motivations for signing up for your product in the first place. This will be great not just for actually building the product, but also for starting to tailor specific onboarding to solve those different segments who come with those different jobs.

Thirdly, be rich with your onboarding. Use context, time, and behavior as much as you can.

And finally try and build some flexibility into your messaging schedule. There’s no way you’ll be able to match every customer journey.