Experience Targeting

The Targeting tab lets you determine which users will see each behaviour of an experience.

Behaviours:

Default Behaviour

A single experience can have different behaviours. When you create an experience by adding different Dynamic configs, then by default a default behaviour will be created. The default behaviour consists of all the default variations of each dynamic configs in the experience.

Default Behaviour

You are not allowed to delete default behaviour. If you wish to modify the default variation for a particular Dynamic config, then it can be done in the Dynamic config variations tab by changing the default variation of the config.

Adding a new Behaviour

To add a new behaviour Click on Add Behaviour button. Then give a proper name and description for your behaviour and click on save button.

Adding a new behaviour

The behaviour gets added with dropdown option for each config to select the variation. From the drop down select the required variation and click on save button under a behaviour name.

New Behaviour

In the dropdown there is also an option to create a new variation under a selected config. If you select a create new variaiton option then with respest to the config type editior will appear. Give the name, value and description for the new variation and the variation gets created under a selected config.

Creating a new variation

A behaviour cannot be added in the middle. And also addition and deletion of behaviour cannot be done at once.

Deleting a Behaviour

To delete a particular behaviour click on the delete button under a behaviour name which you wish to delete.

You cannot delete a behaviour if it is part of some rules or user has been added in target individual users section.

Adding a Config

If you want to add a new config to an experience then click on "+config" button below the configs as shown below:

Click on Configs button to add new config to experience

In the Add configs page from the dropdown select the configs which you wish to add in the experience and click on "Add" button.

Adding configs to experience

Then a config/configs get added with default variaiton of the config selected for all the behaviours.

Deleting a Config

To delete a particular config click on the delete button beside the config which you wish to delete.

Target individual users:

This section allows you to add individual users to a particular behaviour. To assign a single user to a behaviour, add the user to the corresponding behaviour. 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.

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 attribute, an operation, user values and the behaviour to be served. For example, a rule serving for all users with their gender IS_ONE_OF FEMALE will be serving behaviour one. A single rule can also have multiple conditions. To satisfy this rule the user must satisfy all the conditions. For example, a rule serving behaviour one for all the users with their email id ENDS_WITH gmail.com and country IS_ONE_OF INDIA.

Experience predefined user fields based rule

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 behaviour or percentage rollout with different behaviours.

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 different behaviour will be served. A custom user property and user tag type can be BOOLEAN, STRING, NUMBER, DATE, and GEOPOINT.

For example, a rule serving behaviour 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.

Experience custome user property based rule

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

Experience User Tag based rule

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 different behaviour will be served. For example, if a first time user behaviour will be served if the user is first time user.‌

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

Experience Segments based rule

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 a different behaviour will be served. For example, a different behaviour will be provided if the user uses the app after 13/06/2019 and before 14/06/2019.

Experience timestamp based rule

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 different behaviours will be served. For example, a different behaviour is provided to a user, if the user has made 5 purchases in the last 10 days.

Experience user event based rule

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:

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 50% of the user will receive behaviour one and the remaining 50% of users will receive behaviour two.

In percentage rollouts, we can bucket the users based on any predefined user fields or custom user properties/user tags. 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.

Experience Percentage Rollout

Default Rollout:

If a user does not fall under any of the above sections then based on the default rollout respective behaviours will be served.

Experience Default Rollout

If experience in the targeting tab does not have any rules and default rollout is not set, then the experience is not considered for evaluation. To know more about how experiences are evaluated then visit Evaluation of Dynamic configs section.