These docs are for v1.0. Click to read the latest docs for v2.0.

Taplytics Distribution Filters

Get advanced filtering control over your experiments

This article shows you how to use Taplytics' powerful user-segmentation controls and allows you to target an experiment to a very specific segment of your users.

If you haven't done so already, take a look at how to set up the different types of Experiments through the Taplytics dashboard.


Introduction

What good is an A/B test if you can't reach the right segment of your users? Taplytics allows you to use all of the information about your user's device, from OS version and device type to app version. We even filter by more advanced information like the device's location, language, and session count.

Sending App User Data

To get the most out of user segmentation, you should send custom "App User" data about your users. Not only will this data help populate your Taplytics "User" page with useful information about your users, but you can also use it to deeply segment your users. Follow the instructions below to set up "User Attributes" for your app.

Configuring User Attributes


Segmentation Filters

Use the sidebar on the right to jump to a specific segmentation filter.

Please note that the user must be valid for all segmentation filters to receive the experiment. Applying too many segmentation filters may result in none of your users receiving the experiment.


1. App Version

The app version filter lets you filter your users by the version of your app they are running.

We highly recommend applying an app version filter to all your visual experiments because your visual elements can change from one app version to the next and Taplytics may have difficulty identifying the same element if it has changed position or appearance across app versions. Apply a filter for code experiments that are equal to or greater than the app version that you used to introduce the code block into your app.

2416

2. Platform

This filter sets your experiment to distribute to iOS or Android or other devices.

2412

3. User Email

If you are collecting your user's email address and passing this information to Taplytics. This option can be used as a filter.

1608

4. User ID

Do you create an ID for your users? Whether it's randomly assigned or uses something that the users has inputed - this is a great filter to target only users who have a User ID within your system.

1606

5. iOS / tvOS Version

This filter allows you to distribute an experiment to iOS devices running specific iOS Versions. You can also use the operator field to filter devices with greater than or less than a specified iOS Version.

2420

6. Android Version

The Android version filter allows you to distribute your experiment to Android devices running specific Android versions.

1606

7. Custom User Data

These filters are powered by the custom data that your app passes into the Taplytics iOS or Android SDKs. We allow you to select any key value you pass in. Taplytics currently supports any string, number, or boolean value. The auto-fill dropdown helps you select data that you have sent to Taplytics.

2430

8. Is New User

This filter targets users who are brand new to your app and have never been seen my the Taplytics SDK. It is important to note that this filter applies to only the very first session the user has. Once they have had a session, they are no longer a "New User" to the Taplytics SDK since they would have been assigned a TL ID and will no longer be a part of the experiment.

1600

This filter is useful for onboarding experiments where you want to ensure that on a user's first session within your app they see a specific experience but not ever again.


9. Is New User After Start Date

This segmentation filter is meant for users who have come to your app for the first time since the experiment has started. This filter will ensure that users are in the experiment even after their very first session.

1596

10. Session Count

This filter segments users by number of sessions. A session is defined by the number of times an app has been opened while remaining in the background for less than 10 minutes. You can use this filter to test changes with your most active users.

1604

11. Days Since Last Session

This filter distributes your experiment based on when each user last opened your app. For example, this filter lets you distribute your experiment to users who haven't opened your app in the last day.

1602

12. Days Since Signup

This filter distributes your experiment based on when each user signed up. For example, this allows you to distribute an experiment to users who signed up in the last week.

1596

13. iOS / tvOS Device Type

The iOS device types filter allows you to choose multiple iOS devices to distribute an experiment too. This filter is useful for making UI changes for specific device types like the iPhone 6+.

1598

14. City

This filter uses the IP address to identify the user's city as a segmentation filter.
Note that Taplytics uses https://github.com/apilayer/freegeoip/ (https://ipstack.com/) to track user IP location.

1606

15. Region

This filter determines the city/province the user is in through their IP address.
Note that Taplytics uses https://github.com/apilayer/freegeoip/ (https://ipstack.com/) to track user IP location.

1606

16. Country

This filter distributes your experiment to users in the specified country. Taplytics uses IP location to determine the user's location. As a backup, we also use the country specified by the user's device.
Note that Taplytics uses https://github.com/apilayer/freegeoip/ (https://ipstack.com/) to track user IP location.

1602

17. Age

This filter distributes your experiment to users within a defined age range. Make sure you are sending in the age parameter to the Taplytics User Attributes in the SDK, or else none of your users may get this experiment.

1596

18. Gender

This filter distributes your experiment to users of the specified gender. Make sure that you are sending the gender attribute to the Taplytics User Attributes in the SDK or your users may not receive the experiment.

1662

19. App Language

This filter distributes your experiment to users who view your app in the selected language. The app language may be different than the device language because your app may not support a user's preferred language and will default to another language, like English.

1642

20. Screen DPI

This filter distributes your experiments to users with devices that have the specified pixel density.

1754

21. App Build Number

Taplytics automatically tracks the build number installed on the user's device - use this filter to distribute your experiments to users with specific app builds. The app build number is pulled as such:

iOS: the "Build" number under your project settings

1036

Android: the "versionCode" in your app's build.gradle defaultConfig block

defaultConfig {
        applicationId "com.example.taplytics.app"
        minSdkVersion 15
        targetSdkVersion 26
        versionCode 1
        versionName "1.0"
        testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
    }
1754

22. Mobile Carrier

Taplytics automatically detects the user's mobile carrier - use this distribution filter to include or exclude specific carriers from your experiment.

1748

23. App Identifier

This filter is used to distribute your experiments to users who have installed an app with a specific bundle identifier. The app identifier is pulled as such:

iOS: the "Bundle Identifier" number under your project settings

1036

Android: the "applicationID" in your app's build.gradle defaultConfig block

defaultConfig {
        applicationId "com.example.taplytics.app"
        minSdkVersion 15
        targetSdkVersion 26
        versionCode 1
        versionName "1.0"
        testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
    }
1456