> ## Documentation Index
> Fetch the complete documentation index at: https://docs.julian.11x.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Personalization

> Tailor the conversation to the visitor's campaign, page and referrer, or to details your site already knows.

Four ways to fit the conversation to the visitor, depending on what you want to change:

| You want to... | Use |
| - | - |
| Greet visitors from a campaign or page with their own opener | [Proactive engagement](https://docs.julian.11x.ai/chat/proactive-engagement.md) trigger |
| Change how the agent behaves all conversation, by campaign or page | [Visit-aware instructions](#visit-aware-instructions) |
| Fill the agent's variables from the page, URL, cookies or your site | [Variables from the page](#variables-from-the-page) |
| Open the chat for known visitors from companies you target | [Known-visitor auto-open](#known-visitor-auto-open) |

## Visit-aware instructions

![Details of the visit, such as the page, referring site and campaign, shaping the agent's reply](https://mintcdn.com/11x-60396687/600AdyvMYtwr0AZ7/images/chat/visit-light.png?fit=max\&auto=format\&n=600AdyvMYtwr0AZ7\&q=85\&s=3d7873b7a9837e36fb373d82ce46f635)

With every message, the widget tells the agent about the visit: the page, the referring site, the UTM parameters the
visitor arrived with, how long they've been engaged and how far they've scrolled. The agent answers with that in mind.
The widget holds these details in memory for the current visit, never in cookies or browser storage, and adds no identifier
of its own. They're saved with the conversation.

To steer the agent by visit, add instructions that use these tokens:

| Token | Value |
| - | - |
| `{{utm_campaign}}` | The `utm_campaign` the visitor arrived with |
| `{{utm_source}}` | The `utm_source` the visitor arrived with |
| `{{utm_medium}}` | The `utm_medium` the visitor arrived with |
| `{{page}}` | The current page's path |
| `{{page_title}}` | The current page's title |
| `{{referrer}}` | The referring site's domain |

```text theme={}
The visitor came from the {{utm_campaign}} campaign and is on {{page_title}}.
If the campaign is a webinar follow-up, offer the recording before suggesting a demo.
```

A token with no value is left blank. Values come from the visitor's browser, so the agent treats them as information,
never as instructions.

## Variables from the page

Input variables are placeholders such as `{{plan_tier}}` in the agent's instructions. Besides
[widget attributes](https://docs.julian.11x.ai/chat/install.md#pass-details-your-site-already-knows) and [page rules](https://docs.julian.11x.ai/chat/page-rules.md), a variable
can be filled from:

| Source | Examples |
| - | - |
| URL query parameter | `?product=analytics` fills a variable with `analytics` |
| Widget attribute | `plan-tier="enterprise"` on the widget element |
| Page | Full URL, path, title, referrer, or referrer domain |
| Browser | Language, locale, timezone, device type (mobile or desktop), browser, operating system |
| Cookie | The value of a named cookie your site sets |
| Email gate | The email, first name or last name the visitor entered |
| Fixed default | A value used when the source is empty |

> [!NOTE]
>
> Once an agent's variables are mapped to sources, the widget reads only those sources, so map every widget attribute
> you want the agent to use.

## Known-visitor auto-open

When your site knows who the visitor is, for example a logged-in user or a visitor your identification tool recognized,
set `known-visitor-email` on the widget element. The widget looks up the visitor's company and opens the chat
automatically when the company's size is in the range you choose.

Configure it in **Widget > Chat > Known-Visitor Auto-Open**:

| Setting | What it does |
| - | - |
| **Enable Auto-Open** | Turns the rule on |
| **Minimum company size** | Lowest employee count that opens the chat. Blank skips the bound |
| **Maximum company size** | Highest employee count that opens the chat. Blank skips the bound |
| **Lookup timeout** | How long to wait for the company lookup, in milliseconds (default 5000). Past it, the widget stays closed |

Visitors with no company match, or outside the range, get the widget's normal behavior.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.