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 Appboy’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.

Note: 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, Appboy 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 Appboy 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

Appboy 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.

Note: 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.

Note: 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

Appboy 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

Appboy 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 Appboy’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

Appboy 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

Appboy 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. Appboy 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 Appboy. Appboy 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

5 Tricks for More 5-Star Ratings

Check out the slideshow below that summarizes our tips on how to boost your app store ratings.

For more presentations by Appboy, check out our Slideshare page.

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.

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

Step 1: Create your segments

Step 1a: Partition 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.

Filter Selection

Control Group Creation

Step 1b: Activate analytics tracking

Turn on analytics tracking for each segment you create. This feature ensures that data for each member user of the segment is tracked over time, which will be necessary for campaign analysis.

Analytics Tracking

Step 2: Create your campaign variants

Step 2a: Initialize your first variant

Create your first campaign variant. Select the variant segment you wish to receive this campaign. For this campaign variant, all members of the specified variant segment should receive the campaign.

Select Campaign Recipient Segment

Segment Campaign Variant Distribution

Step 2b: Build additional variants

Duplicate your initial campaign variant and modify it accordingly. Select the segment you wish to receive this new campaign variant. All members of the specified variant segment should receive the new campaign variant. Repeat step 2b to create your remaining campaign variants. Your control group should not receive any variant of this campaign.

Duplicate a Campaign

Step 3: Expand your campaign series variants over time

Continue to send campaign variants to your random bucket segments over time by repeating step 2. 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

Uses cases for A/B testing with random bucket number segmentation can be classified into two test categories: (1) short-term campaigns (2) long-term campaigns. Structurally, the steps to create both are almost identical: they involve sending message variants to segments partitioned by random bucket numbers. However, short-term campaigns only consist of a single campaign, whereas their long-term counterparts are a series consisting of multiple campaigns.

Short-Term Campaigns

To create an A/B test for a short-term campaign, only steps 1 - 2 need be followed. Use cases for short-term campaigns include optimizing cadence and time of message delivery. For example, A/B testing via random bucket segmentation can be used to compare KPIs between a campaign sent with scheduled and intelligent delivery. In this case, the campaign variants only differ in their delivery mechanisms; otherwise, they are duplicates.

Delivery Cadence Use Case

Long-Term Campaigns

Random bucket segments can be used to define treatment and control groups for campaign series variants across a long-term campaign. In the context of an onboarding campaign series, random bucket segments can be used to test multiple messaging flows and content over an extended period of time. Similarly, random bucket segments can also be used to validate the effectiveness of a particular messaging channel in boosting engagement relative to a control group across a campaign series. For instance, a common long-term random bucket A/B test is to compare a KPI, such as in-app purchases, between push-enabled and non-push-enabled users that receive the same email campaigns over a month long period.

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 Appboy does not provide install attribution tracking, we can integrate with services such as Fiksu and Tune to seamlessly provide you with install data.

Install Attribution Diagram

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.

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.

Install Attribute Promo

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.

Targetting Filters

Most Recent App Version

Appboy 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.

Update Notification

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.

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.