> For the complete documentation index, see [llms.txt](https://help.tellius.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://help.tellius.com/vizpads-explore/tag-based-personalized-filters.md).

# Tag-based personalized filters

Personalized filters let you decide, ahead of time, what data each user should see by default when they open a Vizpad. They are configured once and applied automatically across every Vizpad in Tellius; without anyone needing to remember which filter to set each morning.

This page explains the concept of **tags** and the full setup flow from creating tags through to bulk-uploading personalization values for hundreds of users.

### What is the use of personalized tags?

A retail company has three regional managers:

* **Alice** manages the West
* **Bob** manages the East
* **Carol** manages the South

Every morning, all three open the same ***Sales Performance*** Vizpad. The Vizpad starts out showing all regions, so each manager has to manually filter to their region before they can read anything. They repeat this on every Vizpad they open — Inventory, Marketing, Returns, and so on.

The friction gets worse because the column representing region isn't named the same way in every dataset:

* Sales dataset → `region`
* Inventory dataset → `store_region`
* Marketing dataset → `mkt_region`

Even if you tried to script "*always filter to West for Alice*," you'd have to script it three times, and every time a new dataset arrives, again.

Tag-based personalization fixes this. You define `Region` once as an abstract business concept (a **tag**), attach the tag to every column that represents region in any dataset, then set each user's value for that tag (Alice = West, Bob = East, Carol = South). From that point forward, every Vizpad each manager opens auto-filters to their region. Future Vizpads built on future datasets inherit the personalization automatically the moment someone tags the relevant column.

### How tag-based personalization differs from RLP?

Tellius has had Row-Level Policy (RLP) for a long time and it's different from the tags. Understanding the difference matters because they solve different problems and are often used together.

|                        | Row-Level Policy                                        | Tag-Based Personalization                                                     |
| ---------------------- | ------------------------------------------------------- | ----------------------------------------------------------------------------- |
| **Purpose**            | Security: restrict what data a user is *allowed* to see | UX: pre-apply useful filter values so users see *their* data without clicking |
| **Scope**              | One Business View at a time                             | Every BV using any column that carries the tag                                |
| **User can override?** | No; enforced server-side, the data is never returned    | Yes; the filter is visible in the UI and can be cleared or modified           |
| **Typical use case**   | "External vendors must never see internal SKUs"         | "Regional managers see their region by default"                               |

The two can coexist. RLP locks down what's accessible. Personalization makes the default view convenient inside what's accessible.

### Step 1: Create a tag

Tags are managed under **Settings → Identity & Access → Personalized Tags**. Only admins and super users can create, edit, or delete tags.&#x20;

<figure><img src="/files/H007YRPgBkIJOHhGpjAI" alt="" width="375"><figcaption></figcaption></figure>

1. Click on the **Edit** icon to modify the tag's properties.
2. Deleting a tag removes all column assignments and all user/group personalization values associated with that tag. A confirmation dialog shows up before deletion.

<figure><img src="/files/0uQCuHLUnJVnePHyPiHG" alt="" width="375"><figcaption></figcaption></figure>

3. Click on **Create** button and provide the following details.

<figure><img src="/files/NTc5EcYtzddFzOJsdDYW" alt="" width="375"><figcaption></figcaption></figure>

* **Name:** a clear business label
* **Data type:** either **String** for text values or **Number** for numeric values.
* **Description**: briefly describe the purpose of the tag

### Step 2: **Assign tags to columns**

Once a tag exists, it has to be attached to the actual columns that represent that business concept. This is done from the dataset's **Metadata** view.

<figure><img src="/files/5tZzIIIQ6NGM0DGdg5yH" alt="" width="375"><figcaption></figcaption></figure>

1. Navigate to the required dataset under **Data → Prepare → Metadata → Edit**.
2. Click the dropdown in the **Personalization** cell for the column you want to tag. A list of all tags created under **Settings → Identity & Access → Personalized Tags** appears.
3. Pick the tag you want to assign. The tag name appears in the cell.
4. Click on **Publish** to save the dataset so the assignment takes effect.
5. To remove a tag from a column, click the **X** next to the assigned tag in the Personalization cell. The tag itself isn't deleted; it just stops being applied to that column.

{% hint style="warning" %}
The same tag can be assigned to multiple columns across multiple datasets. A single column can carry only one tag at a time.
{% endhint %}

### Step 3: Set personalization values per user/group

Personalization values are configured per user or per group. Both follow the same workflow.

* **Per user:** Navigate to **Settings → Identity & Access → Users** and select the required user.
* **Per group:** Navigate to **Settings → Identity & Access → Groups** and select the required group.

1. From the three-dot menu of the required user/group, select **Personalized Filters.**

<figure><img src="/files/E6aPMqWjF7JqX1uUQgsl" alt="" width="177"><figcaption></figcaption></figure>

2. The following window will be displayed with all the current assigned tags.

<figure><img src="/files/pksb1p0tv4cPkRO6RwIN" alt="" width="563"><figcaption></figcaption></figure>

2. Click on **Add filter** and select a tag from the dropdown (the dropdown shows all tags defined in **Settings →** **Identity & Access →** **Tags**).
3. Provide the operator and enter one or more values. For multiple values, click *Enter* to add an additional value.
4. Click on **Add** to assign the tag value to the user/group.
5. To edit or delete the assignment, click on the three-dot menu of the required tag.
6. You can only modify the values but not the tag. If you wish to delete an assignment, the following confirmation dialog shows up:

<figure><img src="/files/VsAwpJL7odaRrVFQfKR4" alt="" width="375"><figcaption></figcaption></figure>

For Alice in the retail example: Pick the `Region` tag. Choose *Equals* operator, type "West" and save. Alice's *Region* personalization is now live across every vizpad that uses any column tagged `Region`.

{% hint style="info" %}
There can be a maximum **50 values per tag** per user or group.
{% endhint %}

### Step 4 (optional): Bulk upload personalization for many users

For assigning tags to many users at once, click on the import icon and the following window will be displayed.

<figure><img src="/files/qvU6Aa0i1zbq2bETFX2z" alt="" width="563"><figcaption></figcaption></figure>

The wizard is a three-step flow: **Upload File → Map Users → Map Columns**. The header shows your progress through the three steps, with the current step highlighted in blue and completed steps marked with a green checkmark.

#### **1. Upload File**

Drag and drop your file into the upload area, or **click to browse** to select it from your system. The supported formats are `.xlsx`, `.xls`, `.csv` . Upload one file (max 10 MB size) at a time.

Once a file is selected, the **Next** button becomes active. Click it to move to step 2.

#### **2. Map Users**

This step validates that the users in your file actually exist in Tellius before any personalization is applied.

<figure><img src="/files/YxROPnUAwPV0N3bmLgWf" alt="" width="375"><figcaption></figcaption></figure>

1. **Identify User Column.** Pick the column from your uploaded file that contains user identifiers.
2. **Map to System User Field.** Choose which Tellius user field (email or username) the values in that column should match against.
3. After choosing the dropdown values, click on **Validate**. Tellius validates the users and shows three counts:

* **Total Users:** the number of unique users in your file
* **Valid Users** (green): how many of those were matched to existing Tellius users
* **Not Found Users** (red): how many couldn't be matched

4. If any users weren't found, a warning banner appears: *"Some users from the file were not found in the system."* A download icon next to the **Not Found count** lets you export the CSV list of unmatched users for review.

{% hint style="warning" %}
Atleast one valid user is required to proceed. If the count of valid users is 0, the **Next** button stays disabled.
{% endhint %}

5. Click **Previous** to go back to step 1, or **Next** to continue to step 3.

#### **3. Map Columns**

In this step, you match each Personalized Tag in Tellius to the column in your uploaded file that contains its values.

{% hint style="info" %}
If a user should have more than one value for a tag, separate the values with a pipe in that cell of the uploaded file (for example, `North|South|East`).
{% endhint %}

A mapping table lists every Personalized Tag currently configured in the system. Each row has three columns:

* **Tag Name:** the name of the tag
* **Data Type:** the tag's data type&#x20;
* **Excel Column:** a dropdown where you pick which column from your uploaded file should provide values for this tag

<figure><img src="/files/ZSqU7L5Kaot6rPkuqYH8" alt="" width="375"><figcaption></figcaption></figure>

For each tag you want to assign values to, open the **Select Excel Column** dropdown in its row and pick the matching column from your file. Tags you don't want to include in this upload can be left unmapped.

Once you've mapped the tags you want to populate, click **Confirm and Apply** to run the upload. Click **Previous** to go back to step 2 if you need to fix the user mapping. After applying, the personalization values from your file are assigned to each valid user.&#x20;

{% hint style="success" %}
When a user with an assigned tag opens a Vizpad, their personalized filter values are applied automatically to any tagged columns referenced in the Vizpad. Users can clear or modify these filters for the current session using the personalization toggle.
{% endhint %}

### Precedence rules

#### Rule 1: User personalization beats group personalization

If a user has their own personalization value for a tag, group personalizations for that tag are ignored entirely. The user level wins.

**Example.** Alice has personal `Region = West`. Her group "West Region Managers" has group-level `Region = West, Pacific Northwest`. Alice's personal value wins; she sees only West, not West + Pacific Northwest.

#### Rule 2: Conflicting group personalizations combination

If the user has no personal value but is in multiple groups with different values for the same tag, all group values are combined (deduplicated) and applied as an `In List` filter.

**Example.** David is in two groups. "Grocery Buyers" has `Region = West`. "Special Projects" has `Region = Northeast`. David has no personal Region value. The filter applied for David is `region IN ('West', 'Northeast')`.

{% hint style="warning" %}
When a tag is deleted, all column assignments are removed. All user and group personalizations for that tag are cleared.
{% endhint %}


---

# 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://help.tellius.com/vizpads-explore/tag-based-personalized-filters.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.
