Active User Campaigns

Reaching out to already active users of your app can be a powerful tool in helping to build a dedicated following of consistent app users. A little bit of personalized recognition of your power users can turn them into evangelists for your app.

Step 1: Identifying Your Top Users

Using Braze’s selection of filters, create a user segment that you feel encompasses your most loyal, consistent user base. A sample segment to define your top users is shown below.

Define top users

Additionally, you will not have to continue updating this segment, as users who pass in or out of the campaign’s restrictions will be correspondingly targeted or dismissed.

The example above segments users by general app usage. In most cases, the total collection of filters needed to define your top user segment will largely be defined by the specificities of your app.

Step 2: Reach Out to Your Top Users

Make Your Users Feel Appreciated

Make your users feel appreciated by thanking them for their loyalty and dedication to your app. To encourage further activity, give your users more reasons to keep coming back to your app. This can take the form of special deals or bonuses exclusively for your top users. Unexpected rewards can be more effective at encouraging continued user actions than if you had promised them from the start!

Congrats Push

Keep Track of Your Results

Keep track of opens to ensure that you are targeting the proper collection of users with the optimal message type. Additionally, keep track of any push opt-outs and be wary of losing these crucial users.

Capturing Lapsing Users

If your audience is dwindling, it’s crucial to try wooing them back. Recognizing this necessity, Braze makes it easy to set up automated recurring re-engagement campaigns to capture lapsing users. You can choose the re-engagement timeframe and recurrence that best suits your app, but to demonstrate, we’ll get started with a 14 day (2 week) weekly re-engagement plan.

Step 1: Segmentation

First, we’ll create a segment to target users who have not used the app in the past two weeks, using the following filters:

  • Last Used App more than 2 weeks ago
  • Last Used App less than 3 weeks ago


Don’t forget to name the segment something simple and memorable, like “Lapsed Users – 2 Weeks.” Since we’ll be setting up the campaign to recur on a weekly basis, we’ll want to make sure there’s at least 1 week of users captured in the segment. That’s why we’ve selected users who last used the app between 2 and 3 weeks ago.

Step 2: Campaign Creation

Next, we’ll click ‘Create Campaign’ and choose what type of campaign we will be sending to this segment.


We’ll automatically name the campaign “Message to Lapsed Users - 2 Weeks” and select the segment. Here, we will create the content of our message. In the example, we’ll only target iOS users, but you can use Braze for Android and iOS push notifications. The closer to the last time a user was in the app, the more important it is to be topical and relevant. Messaging a user after two weeks of not using the app, it’s important to surface relevant content and highlight benefits of using the app.


Step 2 is where we’ll create a recurring schedule. We’ll use local time zone delivery at 5 PM. It’s recommended that you look at your sessions graph to target users just prior to high-usage periods. This ensures that you attempt to re-engage people when they’re most likely to use the app. In addition to local time zone delivery, also check recurring and select weekly. Again, choose the day of the week that you think will resonate most with lapsed users. You can change this later and test your initial hypothesis.


Now, you’re ready to send the campaign. Confirm the settings on the last page of the wizard and click ‘Launch Campaign’!

Retargeting Campaigns

Braze provides support for retargeting users based on messages they have received. You can retarget users based upon their interactions with your Campaigns, Canvases, and News Feed cards.


Each of these retargeting filters provides you with several options after you add them.

Retargeting Filters

Clicked Card Filter


Use the filter to find users who Have/Have Not clicked a specific News Feed card (which you specify in the drop-down).

Clicked/Opened Campaign Filter


Use this filter to find users who Have/Have Not:

  • Clicked Email
  • Clicked In-App Message
  • Directly Opened Push Notification
  • Opened Email
  • Viewed In-App Message

This can be further specified by selecting which Campaign you want to retarget in the drop-down.

Clicked/Opened Campaign or Canvas With Tag Filter


Use this filter to find users who Have or Have Not interacted with Campaigns or Canvases with a given tag:

  • Clicked Email
  • Clicked In-App Message
  • Directly Opened Push Notification
  • Opened Email
  • Viewed In-App Message

Converted From Campaign Filter

converted from campaign

Use this filter to find users who Have/Have Not converted (based on the primary conversion) in your target Campaign, which is selected in the drop-down menu.

For recurring campaigns this filter refers to whether users have converted on the most recent message from the Campaign.

Converted From Canvas Filter

converted from canvas

Use this filter to find users who Have/Have Not converted (based on the primary conversion) in your target Canvas, which is selected in the drop-down menu.

For recurring Canvases this filter refers to whether users have ever converted anytime they’ve gone through the Canvas.

In Campaign Control Group Filter

campaign control group

Use this filter to find users who Are/Are Not in the control group of your target Campaign, which can be selected in the drop-down.

In Canvas Control Group Filter

canvas control group

Use this filter to find users who Are/Are Not in the control group of your target Canvas, which can be selected in the drop-down.

Last Received Specific Campaign Filter


Use this filter to find users who last received a specific Campaign before or after a specified date or number of days.

Last Received Specific Campaign or Canvas with Tag Filter


Use this filter to find users who last received a specific Campaign or Canvas with a given tag before or after a specified date or number of days.

Received Campaign Filter


" this filter to find users who Have/Have Not received your target Campaign, which you select in the drop-down.

Received Campaign or Canvas with Tag Filter


Use this filter to find users who Have/Have Not received a Campaign or Canvas that has your target tag, which you select in the drop-down.

Why Use Retargeting Campaigns?

Retargeting is particularly effective when the original segment also included a specific action you want to see users take. For example, let’s say you have a card targeted at users who have never made a purchase. The card advertises a promotion for a discounted in-app purchase. The initial segment looks like:

  • Money Spent in App is exactly 0
  • Last Used App less than 14 days ago

The total number of users in the segment is 100,000 and you know from the news feed stats that 60,000 unique users viewed the card and 20,000 unique users clicked the card. Through the segmenter we can see how many of those users who clicked the card actually made a purchase:

  • Money Spent in App is more than 0
  • Clicked Card is {Name of Card}

After examining those stats, we can make a segment of users who clicked the card, but did not make a purchase:

  • Money Spent in App is exactly than 0
  • Clicked Card is {Name of Card}

We can retarget this segment with additional messaging around the promotion or another in-app purchase. Retargeting can be done via another news feed card or through a messaging campaign. A multi-channel approach allows you to reach users where they’re most likely to respond, thus increasing the effectiveness of your campaigns.

Localizing a Campaign

Braze automatically collects relevant data to help you localize campaigns. Our customers send localized content on a daily basis to their audience to keep content relevant and accessible.

Technical Details

Braze automatically collects locale information from user devices after the SDK has been integrated. The locale contains a language and region identifier.

For example, a user who has set their device to English (US) will have a language EN. The users’ country is collected from their device IP address. These filters will be available in Braze’s segmentation tool under Country and Language.

Filter Select Screenshot

More technical details on how locale is retrieved can be accessed by platform:

Internationalize Campaigns

You can take advantage of this language identifier and our personalization capabilities to internationalize campaigns. For more information on internationalization, see Campaigns in Multiple Languages

Braze automatically collects the most recent location of users’ devices (if location permission is granted to your app). You can use this information to run a localized campaign that is targeted at users within a specific geographic area. For more information, see Location Targeting.

Campaigns in Multiple Languages

Braze allows you to send messages in different languages from our Dashboard. When composing a campaign, our language templating feature enables you to easily create one message that appears in different languages depending on the user’s phone settings.

Here’s how you can set up a message in multiple languages:

Step 1: Feature Opt-In

Click on the “Add Languages” button when composing your campaign.

Add Languages

Step 2: Select Languages

Select the languages that your message will be in. The selections offered in the dropdown menu will be all of the languages that your users currently have. Braze automatically tracks the language in users’ device settings and includes this information in each user’s profile. After you select your languages, the snippet textbox will alter to feature a template that you can copy and paste into the content of your message. This template uses conditional logic to handle multiple languages in a single campaign.

Select Languages

Step 3: Select Fields

Select the fields that you want to appear in different languages. These fields will differ depending on the message channel:

  • Email: Subject and body
  • Android Push: Message, Title, Summary Text, Sound, and Custom URL
  • iOS Push: Message, Sound, and Custom URL
  • In-App Message: Message
  • Windows Universal Push: Text 1, Text 2, Text 3, and Image Name In addition, a warning will display if you have already entered content in any of the selected fields. You can choose to replace existing content with the templated text, or insert the templated text after the existing text.

Select Fields

Step 4: Insert Fields

Using the buttons at the bottom of the dialogue, choose how you wish to insert the templated text into the message composer. Or, copy and paste the template into the desired location.

Step 5: Add Language Variations

After your templated text is inserted into the desired fields, type in different variations for each language. For each field where there is templating, you should enter the variations after bracketed segment of templating. The variation should correspond to the language code referenced in the brackets before it. For instance, in the message’s body, this might look like:

{% if ${language} == 'en' %}
{% elsif ${language} == 'fr' %}
{% else %}
{% endif %}

In the title of an Android push, this might look like: {% if ${language} == 'en' %}Hello!{% elsif ${language} == 'fr' %}Bonjour!{% else %}Hello!{% endif %}

The text you enter after {% else %} will display to users who: - Have a language that was not selected in Step 2. - Have a language that is not supported by Braze. Braze supports all of the languages represented by ISO 639-1 two letter codes. - Have a device where the language is undetectable. (This is highly unlikely). A best practice is to enter text here that you think your users are most likely to understand. To ensure smooth delivery, you should always enter content after {% else %}.

Anything entered outside of the template block will behave like normal content and display for all users.

Type Variations

Step 6: Preview Message

Click the Personalized Preview button and enter a user’s ID or email to see how the message would appear to that individual, depending on his or her language. In addition, you’ll be able to see how your entire message looks as a whole and decide whether to add languages to more fields than the ones you had previously chosen.

Preview Message

Step 7: Finish Campaign

Continue through the remaining steps of message creation. This includes finishing composing the message (for instance, editing Advanced Settings).

Getting High Ratings

Getting five star ratings in the app store is on every mobile marketer’s wish list because it drives downloads and makes your app stand out among the millions. Achieving positive reviews, however, is no easy task because it requires extra work by your users. Learn how to ask users for ratings the right way.

Best Practices

Target Power Users

To ensure higher ratings, ask only your power users to review you in the app store. They are more likely to have great things to say. Although they differ from app to app, power users tend to have:

  • Logged many sessions
  • Used the app recently
  • Spent money and made purchases

For instance, you could create the following segment:


Ask at the Right Time

Visiting the app store website takes time on the part of your users. To maximize the likelihood that they will go through the extra effort, request a rating or review after they just had a positive experience with your app. For instance, ask them after they beat a game level or made a purchase using a discount code.

Our page on Data Opt-in has more information on ways to ensure your request agrees with users’ workflow expectations. In addition, our guide on user conversions includes tips on associating your messaging with positive moments.

Use Non-intrusive Messaging Channels

Because they are relatively intrusive, push notifications and emails that ask users to rate you can come off as needy if sent too often. Be sure to use a multi-channel strategy when making your request, focusing on in-app channels if possible. In-app messages and News Feed cards are less disruptive and easily ignored if the user doesn’t wish to provide a review. Be sure to include deep links to the appropriate app store.

In-app message

A/B Testing with Random Buckets

A random bucket number is a user attribute that can be used to create uniformly distributed segments of random users. These segments can be leveraged to conduct A/B tests for campaign variants over an extended period of time.

If you have Canvas in your Braze platform, you will be able to accomplish all of these use cases using Canvas UI.

Here’s how you can set up an A/B test with random buckets:

Step 1: Segment your users by the random bucket attribute

Apply the filter Random Bucket #. Once applied, the filter label will change to Statistical sampling ID. Note that each user of your app is randomly assigned a random bucket number between 0-9999 (inclusive). The example below partially documents the creation of segments for a campaign with three variants and a control group. Observe that segments receiving the campaign variants and the control segment do not necessarily need to be equal in size.

Consider the following sample plan for creating segments of equal size for three campaign series variants and a control. Bucket numbers 0 to 2499 correspond to the control segment; bucket numbers 2500 to 4999 correspond to the segment that will receive variant 1; bucket numbers 5000 to 7499 correspond to the segment that will receive variant 2; bucket numbers 7500 to 9999 correspond to the segment that will receive variant 3. You may want to use these types of segments if you want to run a test of three different variants (for instance, three different send times or three different combinations of message channels) and also include a control group.

Filter Selection

Example filter

For each of your created segments, including the control group, turn on Analytics Tracking. When evaluating the success of variants relative to the control group, you will be able to go into your Custom Events page and view how often each segment has completed certain custom events.

Step 2: Create your campaign variants

Step 2a: Create your first variant

Create a campaign and, on the Target Users page, select a segment of recipients. The segment you choose will be one that was created in the prior step.

Select Campaign Recipient Segment

Step 2b: Build additional variants

Duplicate your initial campaign variant and modify it accordingly. For instance, you may decide to change the send time or the combination of messaging channels use. When targeting users, select the segment you wish to receive this new campaign variant. Repeat this step to create your remaining campaign variants. Your control group should not receive any variant of this campaign.

Step 3: Built out additional messages in your test over time

If you wish, you can continue to send campaign variants to your random bucket segments over time by repeating step 2. One example use case is to test the difference between sending one group 2 notifications in one week, compared to 1. Be sure to plan the workflows of your campaign series variants in advance in order to maintain the integrity of your A/B test.

Common Use Cases

Because creating a multivariate test allows you to easily test content, using random buckets is best suited for testing delivery, cadence, and channel combinations.

All of the below use cases can be accomplished within Canvas, a tool built with these types of experiments in mind.


You can compare results between a campaign sent with scheduled, action-based delivery and intelligent delivery.


You can test multiple messaging flows over a period of time. For instance, you can test two different onboarding cadences: one that sends 2 messages in the user’s first 2 weeks, and one that sends 3 messages in the user’s first 2 weeks. Or, when targeting lapsing users, you can test the effectiveness of sending two winback messages in a week, versus sending just one.

Messaging channels

You can test the effectiveness of different message channel combinations. For instance, you can compare the impact of using just one email versus an email combined with a push.

Understanding User Installs

Install attribution tracking is a great way to improve your initial relationship with your user. Knowing how, where, and even more importantly, why a user installs your app allows you to get a better understanding of who your user is and how you should introduce them to your app. While Braze does not provide install attribution tracking, we can integrate with services such as Fiksu and Tune to seamlessly provide you with install data.

Segment Your Users

Once your user installs your app, you can begin segmenting them based on the following install attribution filters. For instance, a travel app could add users that came from an ad relating to beach vacation deals to a “Beach Lovers” segment. In a similar manner, a music app could segment users based on the genre of music displayed in the advertisement that led to the install.

Best Practices

Personalized Onboarding

Now that you have more information about your user, you can personalize their onboarding process. This could be as simple as changing the images in your messages to fit their preferences, or as complex as creating a unique user onboarding for each ad that could lead to an install. To scale out a fully comprehensive sequence of messages that can take user behavior into consideration, please take a look at our documentation on Canvas

Install Attribute Onboarding

Reference Data from the Ad

Users may be attracted to your app by a promotional offer or giveaway. Using install attribution data allows you to send campaigns containing discount codes or offers to only the users who installed due to these promotions. In a similar manner, if your ad contains information on a particular product (such as a specific movie in a video app or sale in an ecommerce app), you can send campaigns directing users to the correct page of your app.

Evaluate Advertising Efforts

Install attribution data can be valuable in assessing the effectiveness of different marketing campaigns. Looking through to see which ads and campaigns are leading to the most installs and which are falling behind can be used to focus your resources in the most compelling ads.

Feature Awareness and New App Version

You work hard to continually update and improve your app, and you want your users to experience these exciting new features and new app versions. Learn how to teach users about the new features they have yet to use, and encourage them to explore the app to get the most you have to offer.

Why Use Feature Awareness Campaigns

Feature awareness campaigns are a great way to encourage users to stay engaged with your app as you continue to improve your app’s functionality. Keeping users up to date is a great way to keep them active, boost ratings and ensure user engagement.

Targeting Filters

Most Recent App Version

Braze automatically tracks a user’s most recent app version which can be used to segment users who should update their app. You can set this filter to find users whose most recent app version is or is not a specific version of your app.

App Version Filter

Have Not Used Feature

When you release a new app version and introduce new features, users may not notice new content. Running a feature awareness campaign is a great way to teach users about new features or features they have never used. To do so you must create a custom attribute that is assigned to users who have never completed a certain action within your app or use a custom event to track a particular action. You can use this attribute (or event) to segment users that you want to sent the campaign to.

Best Practices

Be Convincing

Persuading a user to update their app or change the way they use your app can be difficult. Make sure the let them know all the benefits of the new version/features and how it will improve their experience with your app. Let them know all of the utility they will gain, and the benefits they will miss out on if they choose not to update or engage with new features.

Send at the Right Time

Convincing your users to update their app can be difficult as they must navigate to the app store to do so. In general, it is best to ask users to update as soon as the app is updated, however if they choose not to do not spam them with messages. Rather, wait until they have a positive experience within the app, for instance beating a level, redeeming a coupon, or favoriting a song.

For feature awareness campaigns, timing is also key. Onboarding should familiarize users with the app, however users may forget features or not notice new features that are added. When new features are added, be sure to let your users know. Hopefully users will discover new features easily, however if users are not engaging with major features within the app it may be best to remind them. Do so when they are engaging with your app and the unused feature would be of use.

Use Non-intrusive Channels

Because they are relatively intrusive, push notifications and emails that ask users to update can come off as needy if sent too often. Be sure to use a multi-channel strategy when making your request, focusing on in-app channels if possible. In-app messages and News Feed cards are less disruptive and easily ignored if the user doesn’t wish to update immediately. Be sure to include deep links to the appropriate app store. Simple in-app messages pointing out new features can be a great way to expose users to new content without getting in their way and cluttering them with messages.