User Experience

What are User Experiences?

User Experiences by Upsight are a way to offer tailored experiences to specific groups of users in your mobile applications and games. Using a user experience, all elements of your application may be modified at runtime without needing to worry about re-submission to the Apple or Google Play Store.

Upsight allows you to go beyond modifying superficial elements such as images, icons, colors and texts and enables deep modification, for example:

  • Reorder screens in your on-boarding tutorial
  • Enable special functionality for paying/VIP users
  • Modify categories in your application such as news sections, music genres or ride types
  • Deliver features in your application to be enabled dynamically at a later date
  • Dynamically modify game difficulty settings for beginner, intermediate, and advanced players

User Experiences have the following components:

Experience - when created in the Upsight dashboard, the experience defines the start and end date, the targeted audience, the Managed Variable schema, and the values for the Managed Variables. One or multiple experiences can be run at the same time, and the experiences can be prioritized in the Upsight dashboard to ensure your users are getting the right one (a user only receives one experience per session).

Managed Variables - these are key-value pairs that are configured in the SDK. Also referred to simply as "Keys" in the Experience interface of the dashboard.

User Experience Schema - the schema represents the Managed Variables that have been defined in your app. Schemas can apply to one or multiple versions of your app as long the Managed Variables are unchanged. It can be valuable to define multiple schemas if there are necessary changes to your Managed Variables. Schemas are selected when creating or editing an Experience in the dashboard, and because experiences are targeted to user segments, you can ensure that a user gets the correct schema for the version of the app they're using.

The following documentation will explain these components in more detail, and show you how to get started with applying dynamic user experiences to your app.

How User Experiences Work

When users launch your application, Upsight determines in real time the list of segments that a user belongs to based on the latest information available from both standard and custom attributes. Based on your prioritization of experiences the highest ranked one will be delivered to the user.

When configurable places within your application are encountered, the latest values delivered to the user will be retrieved from the Upsight SDK and will offer the user your customized experience. To ensure a consistent experience, a user will only ever have a single experience throughout a session.

The Upsight SDK offers special callbacks that allow you decide if an experience should be applied to a user, or rejected. For example, if the user's device is suffering from poor network connectivity, you have the option of allowing the user to continue using the app without having to wait for the experience to be delivered and applied. Furthermore, in the event that the experience is delivered at a non-optimal point for the user, you can choose not to apply the experience.

SDK Requirements

During integration of Upsight's Mobile SDK in your app, key-value pair elements can be defined. In the SDK, these elements are referred to as "Managed Variables". The values for Managed Variables are updated from the Upsight Dashboard, and retrieved by the SDK.

During integration, set a managed variable anywhere that is applicable for modifying the user's experience.

For more information on the SDK portion of the integration see our Managed Variables sections for iOS, Android, and Unity.

How to add a User Experience Schema

Pre-requisites for setting up a schema:

  • Your app must have Managed Variables instrumented - see SDK Requirements
  • The device running your app must be a registered Test Device - see Test Devices

Important When registering a test device, it can take up to 10 minutes to take effect. Make sure to allow for this delay when testing experiences with newly added devices.

To add a User Experience schema for your app, navigate to the 'Applications' page in the Upsight Dashboard (bottom left side bar), and choose User Experience Schemas from the right sidebar menu.

enter image description here

Click 'Add Schema' and choose the test device that will upload the schema.

enter image description here

Once a test device is selected, the dashboard will wait for you to open the app on the test device. As soon as a session is started, the schema will be uploaded.

enter image description here

When the schema has been received you will be able to see the Managed Variable keys and values for your app. Name your schema and add a description.

enter image description here

Your dashboard users can now select this schema when creating or editing user experiences.

How to modify Managed Variable values

After the default managed variables have been integrated into the app and a schema has been added to the dashboard, values for variables may be modified from the Upsight Dashboard at any time. Different experiences may be created for different application versions, and can be targeted to different segments of users.

Users may be segmented using any number of out of the box attributes including Country, Language, Device, Install Date and Device Hardware in addition to custom attributes you define such as Social Network Connections, IAPs Purchased, Levels Passed, or any other information you care to track and segment on. For more information on segments, see the Segments Overview.

A/B Testing User Experiences

Running an A/B test can be a great way to figure out the right variable values to use to optimize your user's experience.

Tests can be easily set up and configured in the Upsight dashboard without requiring any additional instrumentation in your app. To create an A/B test, create a new experience and switch the toggle from "Standard" to "A/B Test".

enter image description here

Users who join the experience will only receive the keys that have been defined in the experience, and the values for all or a subset of these keys can be altered for each variant. Keys that are selected to be tested are shared among all variants, but do not necessarily need to include all keys that have been added to the experience.

enter image description here

An A/B test experience works in a similar way to standard experiences, with the exception that multiple variants can be set up. The keys that you selected to be available for testing will be available for modification with each variant you create. Make sure to give the variant a name that applies to the values the user will receive.

enter image description here

You can choose the distribution of your users across your variants as necessary.

enter image description here

Experiences that have been setup with A/B test variants can be saved and paused, allowing you to test the experience in advance of setting it live for users. Navigate to the Real Time interface in the Upsight Dashboard, and look for the User Experience section of a message. There you can see what variant the user has been assigned to.

enter image description here

Note that experiences can not be paused again after they have gone live. Doing so could expose test users to other experience values and change their behaviour, thereby invalidating the results of the test.

Only one A/B test can be run at a time per app. The AB test will be the experience in the highest priority position, ensuring that targeted users will consistently receive the correct experience keys and values.

enter image description here

Once an A/B test goes live, the targeted segment, schema, keys, values, and variants can not be changed. A variant view is available for live tests so that you can quickly see the values for the keys in each variant in a side-by-side comparison view.

enter image description here

To terminate a test, select the appropriate variant as the winner and the test becomes a standard experience, with all users now receiving the same values for all keys.

enter image description hereenter image description here

Viewing and Analyzing Experience Results

Once instrumented with User Experiences, all data collected about a user identifies the experience they had at the time of the action. Metrics in the Upsight Dashboard can be plotted, split or filtered by experience or variant (the latter for A/B tests) so that you can see how behavior differs by experience and/or variant.

For example, if you split up your application experience based on whether or not a user is a VIP you can then analyze metrics based on whether or not they received the VIP experience.

enter image description here