In-app onboarding

Sid Chaudhary

Sid Chaudhary

Founder & CEO

Share:

Streamline the onboarding experience to help users reach A-ha moments faster, adopt sticky features, and enable shortcuts based on the features the user interacts with the most.

About the Growth Play

An effective onboarding process is crucial for improving user conversion and activation rates. This use case focuses on creating a personalized onboarding experience for new users, helping them navigate key features, and ensuring they receive the most relevant guidance based on their behavior.

Benefits

  • Increased user engagement: Personalized onboarding keeps users engaged by presenting relevant steps based on their interactions.
  • Higher feature adoption: Tailoring the onboarding process to individual user behavior increases the likelihood of feature adoption.
  • Enhanced user satisfaction: Users are more likely to have a positive experience when guided through the app in a personalized manner.
  • Improved retention rates: Effective onboarding helps users understand the app's value, leading to higher long-term retention.

How It Works

To illustrate the use case, we will refer to a made-up project management app, "Otto."

Step 1. Set up tracking for user activity, define events & segment users

Step 1 setup tracking

Install Intempt's SDK:

Integrate Intempt's JS SDK into your app to start tracking user activities. Follow the Javascript SDK integration guide to ensure proper setup.

Identify key events:

Determine which user activities you want to track during the onboarding process. For example, creating a project, creating a task, inviting a team member, creating an AI prediction, and viewing the dashboard.

Add event tracking script to your application:

Configure event tracking in your application. For example:

created_project: Triggered when a user creates their first project.

created_task: Triggered when a user creates and edits their first task.

invited_team_member: Triggered when a user invites their first team member.

created_ai_prediction: Triggered when a user creates their first AI prediction.

viewed_dashboard: Triggered when a user views the dashboard.

Create segments in Intempt:

Navigate to the Segments section and create new segments based on the tracked events. For instance:

New User: Users who have just signed up.

Created Project: Users who have created their first project.

Created Task: Users who have created and edited their first task.

Invited Team Member: Users who have invited their first team member.

Created AI Prediction: Users who have created their first AI prediction.

Good to know

Refer to Javascript SDK on how to track custom events in your app. Using a single page application (SPA)? Refer to the Event tracking on Single Page Applications (SPA) guide.

Step 2 set up personalizations

Step 2: Set up server-side personalizations

Personalization allows you to deliver targeted content to users based on their behavior. In this case, we will create multiple onboarding experiences tailored to the user's progress.

Create a new personalization campaign:

Go to the Personalizations section and create a new server-side personalization campaign named "Onboarding Steps".

Add experiences for each onboarding step:

Create multiple variants within the campaign, each targeting a different segment.

Define the in-app message content:

Use the code editor to create and style the in-app messages or popups. Example for the "Create the First Project" experience:

{

Experiences:

Creating the First Project:

Target audience: Users who have just signed up and have not created a project yet (New User)

Changes:

In-App Message: Guide the user to create their first project.

Content: Message: "Welcome to Otto! Start by creating your first project to organize your tasks and collaborate with your team."

Creating and Editing the First Task:

Target audience: Users who have created their first project but have not created a task (Created Project)

Changes:

In-App Message: Guide the user to create and edit their first task.

Content: Message: "Great! Now let's create your first task. Add details and assign it to a team member to get started."

Inviting a Team Member:

Target audience: Users who have created and edited their first task but have not invited a team member (Created Task)

Changes:

In-App Message: Guide the user to invite their first team member.

Content: Message: "You're doing great! Next, invite your team members to collaborate on your project."

Creating an AI Prediction:

Target audience: Users who have invited their first team member but have not created an AI prediction (Invited Team Member)

Changes:

In-App Message: Guide the user to create their first AI prediction.

Content: Message: "Enhance your project management with AI predictions. Create your first prediction to see how AI can help you plan better."

Viewing the Dashboard:

Target audience: Users who have created their first AI prediction but have not viewed the dashboard (Created AI Prediction)

Changes:

In-App Message: Guide the user to view the dashboard.

Content: Message: "Finally, view your project dashboard to get an overview of your tasks and progress."

Set targeting conditions:

For each experience, configure the audience targeting based on the relevant segments. Ensure that the conditions match the segments created in Step 3 and are mutually exclusive.

Define display rules:

Specify the conditions under which the personalized experiences will be displayed, such as when a user signs up or completes a specific action.

Set the display frequency to ensure the personalized content is shown consistently to the targeted users.

Step 3: Launch and monitor the personalization campaign

Start the personalization campaign:

Once all experiences are set up and configured, start the personalization campaign in Intempt.

Monitor performance:

Use Intempt's Personalization Analytics to track the performance of each experience. Key metrics to monitor include:

Unique views: Number of users who viewed the personalized content.

Conversion: Number of users who completed the guided action, such as creating a project or inviting a team member.

Conversion %: Percentage of users who converted based on the total audience targeted.

Lift: Improvement in conversion rate compared to the control group.

Adjust and optimize:

Based on the analytics data, make necessary adjustments to the experiences to improve performance. For instance, if the conversion rate for the Created Project segment is low, consider refining the content or targeting criteria.

Frequently asked questions. Answered.

Track the key actions that represent progress through your onboarding flow. For a project management app, that might be "created_project," "created_task," "invited_team_member," "created_ai_prediction," and "viewed_dashboard." Each event marks a milestone, and you'll use these to determine what guidance each user needs next.

Create segments for each stage of your onboarding flow. For example: "New User" (just signed up, hasn't done anything yet), "Created Project" (completed step one but not step two), "Created Task" (completed steps one and two but not three), and so on. Each segment represents users who need guidance on the next step.

When a new user signs up, they see a message guiding them to create their first project. Once they do that, they move to a different segment and see a message about creating their first task. After that, they're prompted to invite a team member. Each step is triggered by their actual progress, not a fixed timeline.

You can show popups, tooltips, banners, or any custom in-app message you design. Each message includes a title, body text, and a call-to-action button that directs users to take the next step. For example: "Welcome to Otto! Start by creating your first project to organize your tasks and collaborate with your team," with a "Create Project" button.

Set your targeting conditions so each experience only targets users who haven't completed that step yet. Make the segments mutually exclusive. If a user has already created a project, they won't see the "create your first project" message. They'll only see the message for the step they're currently on.

Yes. You set display rules for each experience, specifying conditions like "show when user logs in" or "show after user completes previous step." You also control display frequency so users aren't bombarded with the same message repeatedly. The goal is helpful guidance, not annoying interruptions.

Create a server-side personalization campaign in Intempt. Within that campaign, add multiple experiences, one for each onboarding step. Use the code editor to define the message content (title, body, CTA) for each experience. Then set the targeting conditions to match the relevant segments you created.

Thanks for reading till the end. Here are 3 ways we can help you grow your business:

1

Boost growth with proven growth plays

Explore our Growth Play Library, filled with actionable growth tactics and step-by-step guides to unlock your app's potential.

Check out Growth Play Library
2

Create a free GrowthOS account

Create a free GrowthOS account and get started on the journey to grow your app.

Get started free on GrowthOS
3

Get advice from a Growth expert

Schedule a personalized discovery call with our founder to explore how GrowthOS can help you grow your business.

Subscribe to The Full Stack Marketer Growth Plays

Zero theory or mindset discussions here; just actionable marketing tactics that will grow revenue today.