Targeting users

The Targeting tab lets you determine which users will see each variation of a config.

Prerequisites

Prerequisites allow you to control config dependencies in CustomFit.ai. To enable a config you can add a list of configs and their expected values as prerequisites. To delete a prerequisite click on delete button of the respective prerequisite.

For example,

Adding a Prerequisites

To meet a prerequisite, the prerequisite config status must be turned on.

Deleting configs which has prerequisites

You cannot remove a config that other configs are dependent on. You must first remove the dependency before the config can be deleted.

Cyclic Dependencies

CustomFit.ai avoids creating cyclic dependencies between prerequisites. For example, if config A is prerequisites of config B. Then config B cannot be prerequisites for config A.

Target individual users

This section allows you to add individual users to a particular variation. To assign a single user to a variation, add the user to the corresponding variation. If your application users are already identified by CustomFit.ai then you will be able to search the users with their user_customer_id or user_id. To remove a particular user from the variation just click on "X" mark on the user name and click on save button at the top of targeting page.

Target individual users

Note: Same user cannot be added in two different variations.

Targeting users based on predefined user fields

CustomFit.ai allows you to target users based on rules. Each rule has four parts: an property, an operation,user values and the variation to be served. For example, a rule serving for all users with their property Date of Birth operation BEFORE value 1/1/1960 will be serving variation Elder.

Rule with one condition

A single rule can also have multiple conditions. To add the second condition click on "+" icon beside the first condition. And to satisfy this rule the user must satisfy all the conditions. For example, a rule serving variation Young for all the users with their email id ENDS_WITH gmail.com and country IS_ONE_OF INDIA.

Rule with two conditions

Similarlly we can have "n" number of conditions in a single rule. To delete a condition click on delete icon of the respective condition.

CustomFit.ai supports following predefined user fields:

Attribute Type

Example Value

country

INDIA

country_code

91

created_at

2019-03-05T10:34:30.124Z

default_location

lat :12, lon :12

dob

2019-03-05T10:34:30.124Z

email

test@customfit.ai

first_name

James

gender

Male

phone_number

0000000000

time_zone

Asia/Kolkata

And also CustomFit.ai supports following operation types:

Operator Type

Property type

Description

IS_ONE_OF, IS_NOT_ONE_OF

string,

Exact match

number

boolean

date

STARTS_WITH, DOES_NOT_STARTS_WITH

string

Prefix match

ENDS_WITH, DOES_NOT_ENDS_WITH

string

Suffix match

CONTAINS, DOES_NOT_CONTAINS

string

Sub string match

MATCHES_REGEX, DOES_NOT_MATCHES_REGEX

string

Regular expression match

BEFORE, AFTER

date

Date comparisons

GEO_DISTANCE_MAX, GEO_DISTANCE_MIN

geo point

Geo fencing

GREATER_THAN, GREATER_THAN_OR_EQUAL_TO, LESSER_THAN, LESSER_THAN_OR_EQUAL_TO

number

Number comparisons

CONTAINS_IN_LIST, DOES_NOT_CONTAINS_IN_LIST

list

Exact match of an item in a list

Once the conditions has been added then we can decide whether the user will be served with one variation or percentage rollout with several variations.

Targeting users based on custom user properties and tags

CustomFit.ai allows you to target users based on custom user properties and user tags based on which the rules will be executed and the variation will be returned. A custom user property and user tag type can be BOOLEAN, STRING, NUMBER, DATE, and GEOPOINT.

For example, a rule serving variation one if the user age is GREATER_THAN 25 and the subscription IS_ONE_OF premium. In the exampe age is user custom property of type number and subscription property is of type string.

Rule with custom user properties

Fot user tags CustomFit.ai has defined two predefined attribute types:

Attribute type

Description

User having Tags

Checks if the given tag is attached to the user

User not having Tags

Checks if the given tag is not attached to the user

For both the tag attributes CustomFit.ai supports one operation type:

Operation Type

Description

TAG_MATCH

Exact match of tag

If you create a custom user property or tag with the same key as predefined user fields then the custom user property or tag will be ignored during rule evaluation.

Targeting users based on user segments

CustomFit.ai allows you to target users based on custom user segments based on which the rules will be executed and the variation will be returned. For example, if we have a user segment for all the users whose age is above 50 then we can use the segment in rules for targeting users.

Fot user segments CustomFit.ai has defined two predefined attribute types:

Attribute type

Description

User is in Segment

Checks if the given user falls under the given segment

User not in Segment

Checks if the given user does not fall under the given segment

For both the tag attributes CustomFit.ai supports one operation type:

Operation Type

Description

SEGMENT_MATCH

Exact match of SEGMENT

Targeting users based on timestamp

CustomFit.ai allows you to target users based on current time stamp, based on which the rules will be executed and the variation will be returned. For example, a special discount is available if the purchase is made between 10:00 AM to 11:00 AM.

Targeting users based on user events

CustomFit.ai allows you to target users based on user events, based on which the rules will be executed and the variation will be returned. For example, a special discount is available if the user has made 5 purchases in the last 15 days.

For events, CustomFit.ai supports two types of operation types:

Operation Type

Description

EVENT_EXECUTED

Checks whether the given event has been executed

EVENT_NOT_EXECUTED

Checks whether the given event has not been executed

Both the operation types for events has the following conditions:

Conditions

Allowed Values

Description

Frequency

Exactly

The given event has executed exactly "n" times

At Most

The given event has executed at most "n" times

At Least

The given event has executed atleast "n" times

Duration

On

The given event has executed on the given date "X"

In The Last

The given event has exectued in the last "X" days or "X" hours

In Between

The given event has executed between "X" date and "Y" date

Before

The given event has executed before "X" date

After

The given event has executed after "X" date

Level

In This App

The given event has executed from a particular app. Example from Android

Across All Apps

The given event has executed across all apps. Example from Android, IOS and Web.

Percentage Rollouts

Once you've finished setting up the conditions for your rule, you can decide whether the users will receive just one variation of the config, or percentage rollout across several variations.

If you want to serve percentage rollout for a rule then select it from the dropdown and allocate the users accordingly. For example, from the below figure we can say that if email ENDS_WITH customfit.ai then 50% of the user will receive variation with value true and the remaining 50% of users will receive variation with value false.

Rule with percentage rollout

In percentage rollouts, we can bucket the users based on any predefined user fields or custom user properties/user tags. To bucket the users by a particular field, click on Advanced option in percentage rollout and select the required field from the dropdown. For example, if we select Bucket_By as one of the predefined user fields such as COUNTRY then users will be bucketed by the value of their COUNTRY field.

Percentage rollout with Bucket By

If Bucket by has not been selected in advanced option then by default the users will be bucketed by user_id.

Default rule

If a user does not fall under any of the above section then the default rule variation will be served. A default rule can serve one variation or multiple variations through percentage rollout.

Default rule with percentage rollout

Off variation

When the config is turned off then the off variation will be served to the users. If the config is of a Boolean type then by default false will be set to off variation and for other types by default the last variation(at the time of creation of config) will be set as off variation. We can also customize the off variation based on the needs.

Off Variation

Priority

The targeting tab of the config evaluates the rule in the top-down approach. If a user matches multiple rules, then the first matching rule applies to the user. The priorties in the targeting tab are as follows:

Priority

1

Prerequisites

2

Target individual user

3

Rule1

4

Rule2

5

Default rule

6

Off variation

For example, in the below figure you can see two rules. The first rule is email ENDS_WITH gmail.com and the second rule is country IS_ONE_OF INDIA. If the user matches both the rules then the first rule will take higher priority.

If none of the rules matches and the config is turned on the Default will take higher priority. And if none of the rules matches and the config is turned off then off variation will take higher priority