# How to onboard users with Pushwoosh

As the first personal touch, user onboarding must be perfectly tailored, seamless, and gently engaging. Run your onboarding campaigns with Pushwoosh smoothly and easily. Customer Journey Builder lets you create mobile and email onboarding campaigns with a simple visual editor.

## Mobile onboarding campaign

<Aside type="note" title="Prerequisites">

* First, adjust your onboarding flow based on your app's value and what you want to engage users with at these first steps.
* Prepare content for your onboarding campaign. Set up in-app content and push notification presets. Unleash your creativity: you can customize the pre-built [in-app templates](/product/content/in-apps/), build your own in-app pages using our [no-code editor](/product/content/in-apps/create-rich-media-in-the-built-in-editor/), try out the [AI composer](https://blog.pushwoosh.com/blog/ai-composer/) for pushes, or create your tailored content from scratch!
* Implement Pushwoosh [Events](/product/audience-data-and-segmentation/events/) to keep track of newcomers and their first steps in your app.
</Aside>

<img src="/lifecycle-marketing-campaigns-how-to-onboard-users-with-pushwoosh-1.webp" alt="Example of an onboarding campaign"/>

Here are a few steps to onboard users who recently joined your mobile app with Pushwoosh Customer Journey Builder.

### Trigger-based Entry

Define the event the journey starts with: it might be the first-time app launch, registration in the app, or first in-app actions.

1. In this example, we’ll use the default [PW\_DeviceRegistered](/product/audience-data-and-segmentation/events/default-events/#pw_deviceregistered) event, which is triggered when the app is launched for the first time. 

To enable this event, open your Pushwoosh Control Panel, go to **Audience → Events**, and click **Create event**. In the dropdown, select **Default events**, then find **Device Registered** in the list and click **Activate**.

<img src="/lifecycle-marketing-campaigns-how-to-onboard-users-with-pushwoosh-2.webp" alt="Device registration event (app launch)"/>

<Aside type="note">
If you want to configure your custom Event, [create it](/product/audience-data-and-segmentation/events/#implementation) in the Control Panel and integrate the corresponding [postEvent](/developer/guides/audience-and-segmentation/events#custom-events-implementation) into your app. You’ll need help from your development team, so be sure to share [this link](/developer/guides/audience-and-segmentation/events#custom-events-implementation) with them for detailed instructions.
</Aside>

2. Add the [Trigger-based Entry](/product/customer-journey/journey-elements#trigger-based-entry) step to the journey canvas and select the required Event.

<img src="/lifecycle-marketing-campaigns-how-to-onboard-users-with-pushwoosh-3.webp" alt="Setting the journey entry"/>

### Welcome In-App

**Welcome users warmly:** Add the welcoming [In-App message](/product/customer-journey/journey-elements#in-app) to be shown right after the trigger event.

<Aside type="tip"> For a step-by-step video guide on sending a welcome in-app message, watch this tutorial <YouTube id="DGEw6ANfGc0" playlabel="Youtube Video: Sending a welcome in-app message"/> </Aside>
1. Create a Rich Media greeting the user and describing what they will experience with the app. You can use the Welcome Newcomers template or create a new one fitting your app's look and feel.

2. Add the [In-App step](/product/customer-journey/journey-elements#in-app) following the journey's start event and select the pre-created welcome Rich Media.

<video src="/lifecycle-marketing-campaigns-how-to-onboard-users-with-pushwoosh-4.webm" title="Welcome In-App" autoplay loop muted playsinline />

### Acquaintance In-App

On the next journey step, let your users tell a bit about themselves: ask users in the journey a few questions to personalize their further experience.

1. [Create a Tag](/product/audience-data-and-segmentation/user-data-tags/tags/#how-to-set-up-a-custom-tag) of the list type to gather users' preferences.

<img src="/lifecycle-marketing-campaigns-how-to-onboard-users-with-pushwoosh-5.webp" alt="Creating a list tag"/>

2. Create an [in-app message template](/product/content/in-apps) containing the list of options a user can choose. You can upload an HTML file with a ready-made template or build an in-app page from scratch using our [block-based editor](/product/content/in-apps/create-rich-media-in-the-built-in-editor).

<img src="/lifecycle-marketing-campaigns-how-to-onboard-users-with-pushwoosh-6.webp" alt="Creating Rich Media"/>

3. [Set the Tag values](/developer/api-reference/device-api#settags) based on what options users select.

4. Follow the first welcome screen with the [In-App element ](/product/customer-journey/journey-elements#in-app)containing the Rich Media you've created.

<img src="/lifecycle-marketing-campaigns-how-to-onboard-users-with-pushwoosh-7.webp" alt="First onboarding steps"/>

### Opt-in prompt

Help users get the most out of your app with push notifications – show the in-app subscription prompt to encourage users to sign up for your messages.

1. Create an in-app opt-in prompt. You can use the ready-made template, upload your HTML, or create a new template using [the built-in editor](/product/content/in-apps/create-rich-media-in-the-built-in-editor/).

<img src="/lifecycle-marketing-campaigns-how-to-onboard-users-with-pushwoosh-8.webp" alt="Opt-in Rich Media template"/>

2. Add the In-App step to your journey to display this Rich Media. Once a user subscribes to push notifications, the Pushwoosh SDK sets the [default Push Alerts Enabled tag](/product/audience-data-and-segmentation/user-data-tags/tags/#default-tags) for this user to 'true'.

<img src="/lifecycle-marketing-campaigns-how-to-onboard-users-with-pushwoosh-9.webp" alt="Opt-in prompt on the canvas of Pushwoosh Customer Journey Builder"/>

### Time delay

Set a [delay](/product/customer-journey/journey-elements#time-delay) for a couple of hours to give users some time to explore your app and sign up for pushes.

### Segment Splitter

Split users in the journey into branches based on what they have decided: for those who enabled push notifications, it is time to get their first one! For those who have not, one more In-App can help them understand the value of your push notifications.

1. [Create a segment](/product/audience-data-and-segmentation/segmentation/) of users subscribed to push notifications using the Push Alerts Enabled tag.

<img src="/lifecycle-marketing-campaigns-how-to-onboard-users-with-pushwoosh-10.webp" alt="Creating a segment"/>

2. Add a [Condition split element](/product/customer-journey/journey-elements/flow-controls/segment-split) to the canvas. Select the segment you've created.

3. Follow the segment branches with corresponding communication flows:

* Send a [first push notification](/product/customer-journey/journey-elements#push) encouraging opted-in users to open the app and continue exploring its features;
* Show others one more In-App on their next app launch.

<img src="/lifecycle-marketing-campaigns-how-to-onboard-users-with-pushwoosh-11.webp" alt="Completed mobile app onboarding journey with welcome, preferences, opt-in, and push notification branches"/>

### Exit

Do not overwhelm users with too many onboarding steps – let them enjoy your app after the essential onboarding is completed and start your engagement campaign!

## Email onboarding campaign

To onboard users via email messages, the basic flow is quite the same:

* Consider the onboarding steps the newcomers should take first.
* Prepare engaging onboarding email content. [Learn more](/product/content/email-content/drag-and-drop-email-editor)
* Make sure to integrate all the necessary [Events](/product/audience-data-and-segmentation/events/), for example, signing up for emails or leaving the email address in a registration form.
* Create [audience segments](/product/audience-data-and-segmentation/segmentation/) needed for your onboarding campaign splitters based on your onboarding goals and communication flow.
* Finally, build your email onboarding campaign in [Customer Journey Builder](/product/customer-journey/journey-elements)!