Customize Mobile A/B Tests Depending on User Source, Behavior, and More!

Apptimize

In March, Apptimize added targeting to our list of features available on our A/B testing platform. Targeting allows iOS and Android app owners to specify which users are part of an A/B test. Our built-in targeting options allow you to target based on the user’s country, language, system version, and other data that are collected from the device automatically. In addition to these targeting settings, you can also set custom attributes that allow you to target your A/B test to specific users based on user source, behavior, and other criteria!

This means that you can target based on any information you can gather from your users. All you have to do is program your app so that the information is shared with the Apptimize library. Let’s walk through two powerful examples of how custom attribute targeting can work for any app.

Target based on re-engagement source

Many apps utilize a variety of re-engagement tactics such as push notifications, emails, and social media. Let’s say I want to test the effect of custom landing experiences after a user clicks on one of my re-engagement tactics. My theory is that a landing screen that is directly related to the message the user clicked on will get higher engagement rates and end goals.

Below is a screenshot of the push notification and the current view of my example app when the notification is tapped.

PN-Notification-and-Baseline

As you can see, the notification takes you to a promotions page that shows a list of the current sales. The user can also navigate to this page using the main menu at anytime during his/her natural browsing session. Now I want to test a more custom promotions page when the user clicks on the notification such that the item mentioned in the notification now takes up most of the screen.

=PNVariant

With Apptimize, this is easy. I simply set up the A/B test as usual with the larger headline promotion as my new variant and all the metrics I want to track. On the targeting step, I select the percent of users I want to allot to this test, and the create the custom attribute on which I want to target.

PNScreenshot

I called this custom attribute “Push notification”, and I set the value to “Headline Item”. When I click next, I’ll be taken to the integration page where I have code snippets for the variant, the metrics, and the targeting attribute.

[Apptimize setUserAttributeString:THE_ATTRIBUTES_VALUE forKey:@”Push Notification”];
// or
[Apptimize setUserAttributeDouble:THE_ATTRIBUTES_VALUE forKey:@”Push Notification”];
// or
[Apptimize setUserAttributeInteger:THE_ATTRIBUTES_VALUE forKey:@”Push Notification”];

I’m going to select the appropriate annotation (in this case string), and insert that into my app where the push notification is set up.

Just like that, I can now target a test to only those who re-enter the app through a push notification about today’s main deal. Another great thing about this targeting feature is that I can set up this targeting attribute once and use it for future tests without additional coding.

Target based on user in-app behavior

Apptimize also allows you to test new versions of your app based on the user’s behavior in the app. Let’s say I want to test out the effect of reminding a user about a promotion he/she has already seen. The baseline variant of my app uses one algorithm to suggest new products for all users regardless of their browsing behavior. My users can choose to go to the promotions section of my app at any time through my main navigation menu. For the new variant, I want to try a suggestion algorithm that sprinkles in promoted items into their browsing experience IF the user has ever navigated to the promotions section.

Again, I would create my a/b test as usual, and then set up my custom attribute for targeting as follows:

PromotionsTargeting

The code snippets I receive from the Apptimize dashboard are:

[Apptimize setUserAttributeString:THE_ATTRIBUTES_VALUE forKey:@”Visited Promotions”];
// or
[Apptimize setUserAttributeDouble:THE_ATTRIBUTES_VALUE forKey:@”Visited Promotions”];
// or
[Apptimize setUserAttributeInteger:THE_ATTRIBUTES_VALUE forKey:@”Visited Promotions”];

For this example, I’ll use the integer snippet, set the value to 0 by default and have it change to 1 once the user has visited the promotions. I can program the attribute to be persistent between sessions or to reset between sessions. It all depends on how to I want to target.

Conclusion

Apptimize’s custom targeting attributes are incredibly powerful. You can target your tests based on just about any information you have about a user’s behavior, source, demography, geography, device, etc.

If you haven’t done so already, check it out today for FREE at apptimize.com!

About Apptimize

Apptimize is an innovation engine that provides A/B testing and feature release management for native mobile, web, mobile web, hybrid mobile, OTT, and server. Industry leaders like HotelTonight, The Wall Street Journal, and Glassdoor have created amazing user experiences with Apptimize.

Thanks for
reading!