# How to set up a retention campaign in Pushwoosh

<Aside type="tip"> 
Watch a video on how to increase mobile app retention with behavioral communication, or refer to the guide below for detailed instructions.
<YouTube id="_KAhfFyhELg" playlabel="Youtube Video: How to increase mobile app retention with behavioral communication"/>
</Aside>

If you have already successfully [onboarded](/product/how-to-guides/lifecycle-marketing-campaigns/how-to-onboard-users-with-pushwoosh/) and [activated](/product/how-to-guides/lifecycle-marketing-campaigns/how-to-set-up-a-user-activation-campaign-with-pushwoosh/) a user, this may still not be enough for them to continue using your app for a long time. Create retention campaigns in Pushwoosh [Customer Journey Builder](/product/customer-journey/pushwoosh-journey-overview) to keep users returning to your app and reduce churn rate.

Tips for creating an effective retention campaign:

* **Provide value:** show how your app will entertain your users or help them solve their problems.
* **Personalize communication:** send content that matches the user's preferences, address users by their names, and use a friendly tone.
* **Use multiple channels:** send push notifications, show in-app messages or launch retention email campaigns depending on the type of your business and the stage your user is currently on.
* **Continuously improve your campaigns:** experiment with segmentation and sending time, analyze user behavior, reduce drop-offs, and make more relevant content and offers.

Below, we will show you how to create two types of retention campaigns in Customer Journey Builder: a [user retention campaign](#user-retention-campaign) and a [customer retention campaign](#customer-retention-campaign). In our examples, these two types of campaigns have different conversion goals: the user retention campaign appeals to taking the target action in the app, while the customer retention campaign motivates buyers to make another purchase. As the goals differ, the customer journey is also different for these two types of campaigns.

## User retention campaign

Let’s draft a retention campaign for a paid-subscription workout app. Once complete, it will look like this:

<img src="/lifecycle-marketing-campaigns-how-to-set-up-a-retention-campaign-in-pushwoosh-1.webp" alt="Workout retention campaign flow showing entry point, triggers, push notifications, and conversion goal"/>

**1. Conversion goal**

Setting a conversion goal is necessary so that users do not re-enter the same Journey if they have already completed the goal. We will assume that our user retention campaign reaches its goal if a user completes the workout.

First, we will create the _Workout complete_ [event](/product/audience-data-and-segmentation/events/#implementation) in the Pushwoosh project and configure it in our example workout app using the [postEvent](/product/audience-data-and-segmentation/events/#3-call-postevent-api) API.

<Aside type="note">
 To set up the event, 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>

After that, we will start creating a new Customer Journey. On the top bar, we will click on **Conversion Goals** and select the _Workout complete_ event. We want the Journey to end for the user that fires the target event, so we will enable this option and then apply changes:

<video src="/lifecycle-marketing-campaigns-how-to-set-up-a-retention-campaign-in-pushwoosh-2.webm" title="Conversion goal configuration with Workout complete event selected in Customer Journey Builder" autoplay loop muted playsinline />

**2. Entry point and trigger**

We want to launch a retention campaign for app subscribers who haven't opened the app for seven days.

First, we will add the **Audience-based Entry** and select _Subscribers_ as the audience source:

<video src="/lifecycle-marketing-campaigns-how-to-set-up-a-retention-campaign-in-pushwoosh-3.webm" title="Audience-based entry element showing Subscribers segment selection for retention campaign" autoplay loop muted playsinline />

<Aside type="note">
We assigned a particular [Tag](/product/audience-data-and-segmentation/user-data-tags/tags/) to each user once they’ve subscribed to the app. Using this Tag, we compiled the _Subscribers_ [segment](/product/audience-data-and-segmentation/segmentation/create-segments/by-tags/).
</Aside>

Then, we will add the **Wait for Trigger** element and specify the default _PW\_ApplicationOpen_ event with a seven-day waiting period:

<video src="/lifecycle-marketing-campaigns-how-to-set-up-a-retention-campaign-in-pushwoosh-4.webm" title="Wait for Trigger element configured with PW_ApplicationOpen event and seven-day waiting period" autoplay loop muted playsinline />

<Aside type="note">
The waiting period may vary depending on the category of your app.
</Aside>

If a user opens the app at least once within seven days, they will exit the Journey:

<video src="/lifecycle-marketing-campaigns-how-to-set-up-a-retention-campaign-in-pushwoosh-5.webm" title="Journey exit path for users who opened app within seven-day waiting period" autoplay loop muted playsinline />

<Aside type="note">
You can also build the desired segment automatically using the [RF(M) segmentation](/product/audience-data-and-segmentation/segmentation/rfm-segmentation/) feature.
</Aside>

**3. First push notification**

If a user has not opened the app at least once in seven days, we will send them a push notification offering to try an exclusive workout:

<video src="/lifecycle-marketing-campaigns-how-to-set-up-a-retention-campaign-in-pushwoosh-6.webm" title="First push notification element with exclusive workout offer for inactive users" autoplay loop muted playsinline />

<Aside type="note">
To make this push notification, we first created a [Deep Link](/product/messaging-channels/push-notifications/advanced-push-features/deep-linking/) leading to an exclusive workout in our example app. Then, we configured a push message containing this deep link and [saved it as a Preset](/product/content/push-presets#_top).

To get the best results, you can [personalize push notifications](/product/personalization/dynamic-content#how-to-personalize-the-push): for example, insert the user's name or optimize content based on the workout preferences they shared in their profile or during onboarding.
</Aside>

Now, let’s split the flow depending on whether this [push is opened or ignored](/product/customer-journey/journey-elements#split-to-openedignored):

<video src="/lifecycle-marketing-campaigns-how-to-set-up-a-retention-campaign-in-pushwoosh-7.webm" title="Push notification split showing opened and ignored branches for follow-up actions" autoplay loop muted playsinline />

We will also set [Silent Hours](/product/customer-journey/journey-settings#silent-hours) to prevent users from receiving workout push notifications at inappropriate times:

<video src="/lifecycle-marketing-campaigns-how-to-set-up-a-retention-campaign-in-pushwoosh-8.webm" title="Silent Hours configuration preventing push notifications during inappropriate times" autoplay loop muted playsinline />

**4. Workout trigger**

_for those who opened the first push notification_

If a user clicks on the push notification, we will check if they have completed the workout.

First, we will set up the _Workout complete_ [event](/product/audience-data-and-segmentation/events/) in the app and the Pushwoosh project. Then, we will add the **Wait for Trigger** element with the _Workout complete_ event selected:

<video src="/lifecycle-marketing-campaigns-how-to-set-up-a-retention-campaign-in-pushwoosh-9.webm" title="Wait for Trigger element with Workout complete event monitoring user engagement" autoplay loop muted playsinline />

If a user completes the workout, they will exit the Journey:

<video src="/lifecycle-marketing-campaigns-how-to-set-up-a-retention-campaign-in-pushwoosh-10.webm" title="Journey exit path for users who completed workout conversion goal" autoplay loop muted playsinline />

**5. Time delay**

_for those who did not open the first push notification or did not complete the workout_

If a user ignores the push notification or does not complete the workout, we will wait for two days before sending anything else. To do this, we will add the **Time Delay** element:

<video src="/lifecycle-marketing-campaigns-how-to-set-up-a-retention-campaign-in-pushwoosh-11.webm" title="Time Delay element configured for two-day pause before second push notification" autoplay loop muted playsinline />

**6. Second push notification**

After the specified time, we will send the second push notification prompting users to take a survey and tell about their preferences. This survey will help us improve our workout app and launch personalized campaigns in the future.

<video src="/lifecycle-marketing-campaigns-how-to-set-up-a-retention-campaign-in-pushwoosh-12.webm" title="Second push notification prompting users to take survey about preferences" autoplay loop muted playsinline />


After sending the second push notification, we will end the Journey:

<video src="/lifecycle-marketing-campaigns-how-to-set-up-a-retention-campaign-in-pushwoosh-13.webm" title="Journey completion with exit element ending user retention flow" autoplay loop muted playsinline />

## Customer retention campaign

As an example of a customer retention campaign, we will create a Customer Journey for a clothing app. Once complete, it will look like this:

<img src="/lifecycle-marketing-campaigns-how-to-set-up-a-retention-campaign-in-pushwoosh-14.webp" alt="Customer retention campaign flow for clothing app showing purchase conversion goals"/>

**1. Conversion goal**

Setting a conversion goal is necessary so that users do not re-enter the same Journey if they have already completed the goal. We will assume that our customer retention campaign reaches its goal if a user makes a purchase.

On the top bar of the new Customer Journey window, we will click on **Conversion Goals** and select the default _PW\_InAppPurchase_ event. We want the Journey to end for the user after the event fires, so we will enable this option and then apply changes:

<video src="/lifecycle-marketing-campaigns-how-to-set-up-a-retention-campaign-in-pushwoosh-15.webm" title="Conversion goal configuration with PW_InAppPurchase event for customer retention" autoplay loop muted playsinline />

**2. Entry point and trigger**

We are going to launch a retention campaign for customers who purchased something recently. We want to motivate these people to buy more often and improve their loyalty to our e-commerce app.

First, we will calculate segments of users who made a purchase in our app at least once. To do this, we will go to the [RFM segmentation](/product/audience-data-and-segmentation/segmentation/rfm-segmentation/) section and select the default _PW\_InAppPurchase_ event:

<img src="/lifecycle-marketing-campaigns-how-to-set-up-a-retention-campaign-in-pushwoosh-16.webp" alt="RFM segmentation section showing default PW_InAppPurchase event customer segments"/>

Pushwoosh will automatically create several customer segments of users who performed the _PW\_InAppPurchase event_. We will use the _Potential loyalists_ segment because it includes customers who purchased something recently.

<Aside type="note">
You can also [build Segments manually](/product/audience-data-and-segmentation/segmentation/segments/) if you need narrow segments with specific parameters.
</Aside>

Now we will add the **Audience-based Entry** and select _RFM Potential loyalists_ as the audience source:

<video src="/lifecycle-marketing-campaigns-how-to-set-up-a-retention-campaign-in-pushwoosh-17.webm" title="Audience-based entry element with RFM Potential loyalists segment selection" autoplay loop muted playsinline />

**3. Push notification**

We will send our _Potential loyalists_ a push notification about the sale in our example app:

<video src="/lifecycle-marketing-campaigns-how-to-set-up-a-retention-campaign-in-pushwoosh-18.webm" title="Push notification about sale sent to potential loyalist customers" autoplay loop muted playsinline />

<Aside type="note">
To make this push notification, we first created a [Deep Link](/product/messaging-channels/push-notifications/advanced-push-features/deep-linking/) leading to the sale section in our clothing app. Then, we configured a push message containing the deep link and [saved it as a Preset](/product/content/push-presets#_top).
</Aside>

Let’s split the flow depending on whether the customer opened the push:

<video src="/lifecycle-marketing-campaigns-how-to-set-up-a-retention-campaign-in-pushwoosh-19.webm" title="Push notification split branch showing opened and ignored paths for customers" autoplay loop muted playsinline />

It is also important to set **Silent Hours** so that users do not receive push notifications at odd hours:

<video src="/lifecycle-marketing-campaigns-how-to-set-up-a-retention-campaign-in-pushwoosh-20.webm" title="Silent Hours configuration for customer retention campaign notifications" autoplay loop muted playsinline />

**4. New purchase trigger**

_for those who opened the push notification_

If a user is interested in our sale and clicks on the push notification, we will check if they make a new purchase within two days.

To do so, we will add the **Wait for Trigger** element and specify the default _PW\_InAppPurchase_ event with a two-day waiting period:

<video src="/lifecycle-marketing-campaigns-how-to-set-up-a-retention-campaign-in-pushwoosh-21.webm" title="Wait for Trigger element with PW_InAppPurchase event and two-day waiting period" autoplay loop muted playsinline />

If a user makes a new purchase, they will exit the Journey:

<video src="/lifecycle-marketing-campaigns-how-to-set-up-a-retention-campaign-in-pushwoosh-22.webm" title="Journey exit path for customers who made purchase within waiting period" autoplay loop muted playsinline />

**5. Tagging users who have not made a purchase**

_for those who opened the push notification but has not purchased anything_

If a user has opened the push notification but has not purchased anything within two days, we will update their profile to assign them the _Retention drop-off_ Tag with the _Didn't like the sale_ value. This will allow us to make a segment of customers who were interested in the sale but did not find anything suitable. Later, we can think about what might interest such customers more and launch another retention campaign for them.

<video src="/lifecycle-marketing-campaigns-how-to-set-up-a-retention-campaign-in-pushwoosh-23.webm" title="Update User Profile element assigning Retention drop-off tag for uninterested customers" autoplay loop muted playsinline />

<Aside type="note">
We created the _Retention drop-off_ [Tag](/product/audience-data-and-segmentation/user-data-tags/tags/) beforehand and selected the string data type.
</Aside>

**6. Time delay**

_for those who did not open the push notification_

If a user ignores the push notification, we will wait for three days before sending anything else. To do this, we will add the **Time Delay** element:

<video src="/lifecycle-marketing-campaigns-how-to-set-up-a-retention-campaign-in-pushwoosh-24.webm" title="Time Delay element set for three days before sending follow-up email" autoplay loop muted playsinline />

**7. Email**

After the specified time, we will send an email with a selection of discounted clothes.

First, ask your development team to [configure the Email platform](/product/first-steps/start-with-your-project/configure-platforms/email-verification).

Then, create the email using the Pushwoosh [Drag & drop editor](/product/content/email-content/drag-and-drop-email-editor) or the [HTML code editor](/product/content/email-content/html-code-editor).

Next, we will add the **Email** element to our Journey and select the template we created. We will split the flow and wait for the email to be opened for three days:

<video src="/lifecycle-marketing-campaigns-how-to-set-up-a-retention-campaign-in-pushwoosh-25.webm" title="Email element with discount clothing selection and open tracking split" autoplay loop muted playsinline />

<Aside type="note">
Personalization is essential for e-commerce. If you [segment](/product/audience-data-and-segmentation/segmentation/) customers based on their preferences and previous purchases, you can send relevant recommendations and offers for each segment. To send different messages depending on the segment, use the **Condition split** element in Journey.
</Aside>

If a customer opens the email, we will wait for a new purchase within two days, and then the Journey will continue as described in steps 4 and 5:

<video src="/lifecycle-marketing-campaigns-how-to-set-up-a-retention-campaign-in-pushwoosh-26.webm" title="Email opened branch waiting for purchase trigger within two days" autoplay loop muted playsinline />

**8. Tagging users who have not opened the email**

If a user has not opened the email within three days, we will update their profile to assign them the _Retention drop-off_ Tag with the _Not interested in offers_ value. Using this Tag, we will be able to make a segment of customers who are not interested in any offer within our retention campaign or are not ready to buy clothes at the moment. We can launch another retention campaign for such customers in the future.

<video src="/lifecycle-marketing-campaigns-how-to-set-up-a-retention-campaign-in-pushwoosh-27.webm" title="Update User Profile element tagging unengaged customers as not interested" autoplay loop muted playsinline />

<Aside type="note">
We created the _Retention drop-off_ [Tag](/product/audience-data-and-segmentation/user-data-tags/tags/) beforehand and selected the string data type.
</Aside>

## You may also find interesting

* [More about Pushwoosh Customer Journey Builder](https://pushwoosh.com/products/customer-journey)
* [The best strategy to increase your mobile app retention](https://blog.pushwoosh.com/blog/increase-user-retention-rate/)