> For the complete documentation index, see [llms.txt](https://docsv1.customfit.app/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docsv1.customfit.app/customfit-basics/targeting-users.md).

# Targeting users

The Targeting tab lets you determine which users will see each variation of an element.

## Prerequisites

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

For example, in the below figure you can see that the users who belong to the United States are served with a sign-up button with variation v2 color only if the signed up element is serving false to the user(The user has not signed up).

![Adding a prerequisites](/files/-Ly_j8IpLeiWMEJR-Jre)

To meet a prerequisite, the prerequisite element status must be turned on.&#x20;

{% hint style="warning" %}
Deleting elements which have prerequisites

You cannot delete an element that other elements are dependent on. You must first remove the dependency before the element can be deleted.&#x20;
{% endhint %}

{% hint style="info" %}
Cyclic Dependencies

CustomFit.ai avoids creating cyclic dependencies between prerequisites. For example, if element A is prerequisites of element B. Then element B cannot be prerequisites for element A.
{% endhint %}

## 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 users are already identified by CustomFit.ai then you will be able to search the users with their *`user_customer_id`* or *`user_id`. T*o remove a particular user from the variation just click on the "X" mark on the user name and click on the Save button at the top of the targeting page. Target individual users feature comes into handy if you want to see how the individual variation appears to different users.

![](/files/-LyggZtBx0scD06-80mk)

{% hint style="info" %}
*Note: Same user cannot be added in two different variations.*
{% endhint %}

## Targeting users based on user persona

CustomFit.ai allows you to target users based on the user persona by writing different rules. For example, a rule serving variation V1 for all the users whose age is`LESS_THAN` 25. For different types of user properties and operation types supported by CustomFit.ai please visit the [User Persona](https://docs.customfit.ai/customfit-ai/rules/user-persona) section.

![](/files/-Lyh87RpKrLJNecYUzQ7)

A single rule can also have multiple conditions. To add the second condition click on the "+" icon beside the first condition. And to satisfy this rule the user must satisfy all the conditions. For example, a rule serving variation V1 for all the users with their Gender `IS_ONE_OF` Female and age is `LESS_THAN` 25.

![](/files/-LyhFzsx1-n4bWU32rRV)

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

Once the conditions have been added then we can decide whether the user will be served with one variation or *`percentage rollout`* with several variation&#x73;*.*

## Targeting users based on user tags

CustomFit.ai allows you to target users based on user tags on which the rules will be executed and the variation will be returned. For example, a rule serving variation V1 for all the users who are tagged with Marketing tag.

For 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 |

![](/files/-LyhGRS45PtQAUqQO1w8)

## Targeting users based on user behavior

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, the rule serving variation V1 for all the users who has executed event "/" at least once in the last 15 days. For different types of event operation types and conditions please visit the [User Behavior](https://docs.customfit.ai/customfit-ai/rules/user-behavior) section.

![](/files/-LyhbZrqG2PHoVtwmWsI)

## Targeting users based on firmographic attributes

CustomFit.ai allows you to target users based on different firmographic attributes, based on which the rules will be executed and the variation will be returned. For example, the rule serving variation V1 for all the users whose industry belongs to Internet Software and services as well as the number of employees of the company is between 1-10 and the company is in the United States. For different types of firmographic attributes available please refer [Firmographic](https://docs.customfit.ai/customfit-ai/rules/firmographic) section

![](/files/-LyhmM-0k_5Om0f4YnPn)

## Targeting users based on UTM parameters

CustomFit.ai allows you to target users based on different UTM parameters based on which the rules will be executed and the the variation will be returned. For example, the rule serving variation V1 for all the users whose ***`utm_source`*** is from twitter, ***`utm_medium`*** is social and ***`utm_campaign`*** is twitter-camapgin1. For different type of operation types supported by CustomFit.ai please refer [UTM parameters](https://docs.customfit.ai/customfit-ai/rules/utm) section.

![](/files/-LyiWJxsZrmVDVRTC8Q3)

## Targeting users based on user segment

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 `LESS_THAN` 25, and country `IS_ONE_OF` USA and gender `IS_ONE_OF` Female then we can use the segment in rules for targeting users. The same segment can be used for multiple elements.&#x20;

For 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 |

![](/files/-LyhOaDoNuEoBMSg65dD)

## 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 default greeting message will be displayed if the user visits between 12/11/2019 12:00 AM to 12/20/2019 05:28 PM.

![](/files/-LwXtTbZxxCzj3h9Izrs)

## 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 element or percentage rollout across several variations.&#x20;

If you want to serve a 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 the country IS\_ONE\_OF `USA` then 10% of the users will see the website color in AUTUMN color and the remaining 90% of users will see the website in the same default color.&#x20;

![Rule with percentage rollout](/files/-LwXvQYgcnQtT_51irMh)

In percentage rollouts, we can bucket users based on user properties/user tags. To bucket the users by a particular field, click on the `Advanced` option in percentage rollout and select the required field from the dropdown. For example, if we select `Bucket_By` as COUNTRY then users will be bucketed by the value of their COUNTRY field.&#x20;

![Percentage rollout with bucket by](/files/-LwXyD0FIPEt_eITasig)

{% hint style="info" %}
If Bucket by has not been selected in an advanced option then by default the users will be bucketed by `user_id`.
{% endhint %}

## 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](/files/-LwXxW2jhPknbLcBdQdI)

## Off variation

When the element is turned off then the *`off variation`* will be served to the users. If the element 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 the creation of element) will be set as off variation. We can also customize the off variation based on the needs.

![Off variation](/files/-LwXwd-gs9mIGJyoAiZh)

## Priority

The targeting tab of the element evaluates the rule in the top-down approach. If a user matches multiple rules, then the first matching rule applies to the user. The priorities 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.

![](/files/-LwXxccC4F08JKWh6YC6)

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


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docsv1.customfit.app/customfit-basics/targeting-users.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
