# Visitor event targeting conditions

Choose which visitors qualify for an event using their activity, page, conversation and customer information.

*Release 3.3 · admin, developer, supervisor*

**Settings › Events › Visitor Events** · **Settings › Events › Visitor Data Mapping** · **Settings › Bots › Virtual Assistant › Data Fields**

## What it is

**Only Include** and **Exclude** define who an event applies to. You can target visitor activity, conversation state, pages, baskets, location, channels and custom information. INSIDE checks the information available when the event is evaluated.

## Who uses it and why

- Administrators and supervisors with **Settings** or **Manager** access define the audience for an event.
- Developers supply custom information and filters when the standard choices do not cover the website's needs.
- **Bot Trainer** users expose stored task answers for event targeting.

## Where to find it

The **Settings** or **Manager** role grants access to visitor events and custom mappings, subject to delegated permissions. Open an event in **Settings › Events › Visitor Events** and use **Only Include** and **Exclude**. Custom mappings are in **Settings › Events › Visitor Data Mapping**. Task fields require the **Bot Trainer** role and are in **Settings › Bots › Virtual Assistant › Data Fields**.

## How it works

Drag filters into **Only Include** or **Exclude**, then fill in their values. All configured conditions must pass. Several values inside one list filter are alternatives; separate filter cards remain separate checks.

| Target | Examples of available filters |
|---|---|
| Visitor | **Returning**, **Logged in**, **First Time Visitor**, **Mobile**, **Desktop**, **Vip**, **Opportunity**, **Flags**, **Score** |
| Conversation | **Has Active Chat**, **Has Assigned Chat**, **Proactive Chat**, **Reactive Chat**, **Chat Available**, **Chat Phrase**, message counts and **Conversation tag** |
| Page | **Page Type**, **Page Name**, **Custom Tag**, **Category**, **Page SKU**, **Page Price**, **Page Performance**, **URL** |
| Commerce | **Has Basket**, **Abandoned Cart**, **Cart Value**, **Basket Contents (SKU)**, **Sales Total**, **Last Sale** |
| Location and acquisition | Country, state, city, postcode, distance, **Language** and referral campaign information |
| Organisation and channel | **Company**, **Department**, **Channel Name**, platform, **Subsites**, subsite brand, region and country, **Skills** |

Numeric ranges include both endpoints. Numeric text is compared as a number where a numeric comparison is required. Missing or invalid numeric values do not satisfy a numeric range.

List text matching can find a case-insensitive part of a value. It is not always an exact-text check. For example, a short page-name value can also match a longer page name containing that text.

## Configure it

Choose the trigger before setting the filters so the relevant data will exist when INSIDE checks the event. Set minimum and maximum values in the units shown by each filter.

Use **Visitor Data Mapping** for custom website information. A task field must have storage configured and **Can Use in Events** enabled before it appears in event filters. Registered custom filters may also be available.

For sampling, choose an event, session, view or lifetime random-number filter. These have different lifetimes. Use the control-group feature when you need its persisted proactive holdout behaviour.

### Settings

| Setting | Where | Applies to | Default | Who can change it | What it does |
|---|---|---|---|---|---|
| Only Include | Settings › Events › Visitor Events | website | Not set: no inclusion conditions; an event with no visitor conditions does not run | Settings role, Manager role | Adds conditions the visitor must meet. |
| Exclude | Settings › Events › Visitor Events | website | Not set: no exclusion conditions | Settings role, Manager role | Adds conditions the visitor must not meet. |
| Can Use in Events | Settings › Bots › Virtual Assistant › Data Fields | website | Off | Bot Trainer role | Makes a stored task data field available in event filters. |

### Permissions

| Permission | Lets you |
|---|---|
| Settings | Manage visitor event filters and Visitor Data Mapping, subject to delegated permissions. |
| Manager | Manage visitor event filters and Visitor Data Mapping, subject to delegated permissions. |
| Bot Trainer | Manage task data fields that can be used in event filters. |

## Limits and good to know

- A visitor event needs at least one visitor condition to run.
- The available platform and custom choices depend on the website's configuration.
- A filter cannot supply missing tracking or customer information. Check what the website actually sends.
- Custom regular-expression filters need careful review when exact matching matters.
- A page timer checks targeting again after the wait, so changed visitor or page information can prevent the action.

## Depends on and works with

### This feature uses

- **Requires** [Visitor event rules and actions](ENG-001.md): Visitor events use these filters when their trigger occurs.
- **Configured in** [Visitor data mapping for targeting](VIS-007.md): Visitor Data Mapping defines the custom values available in event filters.
- **Configured in** [Virtual Assistant task data fields](ENG-012.md): Stored task fields appear in event filters when Can Use in Events is enabled.
- **Configured in** [Video Feed for visitors](VX-025.md): Video Feed settings control the viewing thresholds used by video-targeting conditions.
- **Works better with** [Visits and returning visitors](VIS-002.md): Visit counts and returning status can be used in targeting.
- **Works better with** [Visitor page and product tracking](VIS-003.md): Page information supplies page filters.
- **Works better with** [Browser language and device context](VIS-004.md): Device, language and page performance supply targeting context.
- **Works better with** [Visitor location](VIS-005.md): Visitor location supports geographical targeting.
- **Works better with** [Visitor referrers and campaigns](VIS-006.md): Referral and campaign data support acquisition filters.
- **Works better with** [Visitor flags and custom scores](VIS-008.md): Flags and scores can qualify visitors.
- **Works better with** [Page tags and conversation tags](VIS-009.md): Custom page tags can be used in filters.
- **Works better with** [Sentiment and emotion](CHAT-022.md): Sentiment can be used to target happy or unhappy visitors.
- **Works better with** [Tags and conversation data](CHAT-031.md): Conversation tags can be used in targeting.
- **Works better with** [Skillsets and skills-based routing](CHAT-007.md): Visitor skills can be used in filters.
- **Works better with** [Basket tracking](COM-019.md): Basket contents and value supply commerce conditions.
- **Works better with** [Purchase tracking and sales totals](COM-020.md): Recorded sales supply purchase filters.
- **Works better with** [Proactive chat control group settings](ENG-005.md): Control-group membership is available as a visitor filter.
- **Works better with** [Subsites](ADM-003.md): Subsite, brand, region and country support targeting.
- **Works better with** [Integration script selection for automated actions](EXT-016.md): Registered custom filters extend the available choices.

### Used by

- **Required by** [Time-based visitor event triggers](VIS-026.md): A timed visitor event needs at least one qualifying visitor condition before its action can run.
- **Required by** [Visitor event rules and actions](ENG-001.md): A visitor event needs at least one visitor condition before it can run.
- **Configures** [Visitor actions and events](VIS-010.md): Rule conditions decide whether a triggered visitor event runs its actions.
- **Configures** [Departments](CHAT-006.md): Visitor conditions supply channel and skill matching criteria.
- **Configures** [Skillsets and skills-based routing](CHAT-007.md): Visitor conditions determine which skills match a visitor.
- **Configures** [Visitor popups and embedded content](VX-016.md): Event conditions decide which visitors qualify.
- **Configures** [Proactive chat invitations](ENG-004.md): Visitor filters select the audience.
- **Configures** [Visitor popup event setup](ENG-006.md): Visitor filters select the audience for each offer.
- **Configures** [Visitor event updates to customer context](ENG-007.md): Targeting restricts who receives state changes.
- **Configures** [Visitor event alerts for operators](ENG-008.md): Filters select the qualifying visitors.
- **Configures** [AI feature settings and change history](AI-001.md): Visitor targeting conditions restrict feature selection.
- **Configures** [Autonomous agents for proactive chat](AI-005.md): Event and AI feature conditions both restrict eligible visitors.
- **Configures** [AI spam checks for incoming conversations](AI-011.md): Platform and visitor conditions determine eligible conversations.
- **Configures** [Reusable AI skills and instructions](AI-020.md): Visitor conditions determine skill eligibility and automatic activation.
- **Configures** [Click to Call callback form](RTC-036.md): Event targeting determines which visitors receive the entry option.
- **Enhances** [Visitor referrers and campaigns](VIS-006.md): Referrer conditions can use acquisition context when targeting visitor events.
- **Enhances** [Visitor data mapping for targeting](VIS-007.md): Event targeting can use mapped values as conditions.
- **Enhances** [Visitor flags and custom scores](VIS-008.md): Event conditions can select visitors using flags and scores.
- **Enhances** [Proactive chat control group settings](ENG-005.md): The In Control Group filter can use the visitor's membership.

## FAQ and troubleshooting

### Why did a visitor fail a rule after matching one filter?

Every filter must pass. Check the other **Only Include** and **Exclude** cards, including repeated cards of the same type.

### Why does my text filter match more pages than expected?

List matching can find text within a longer value. Use a more specific value or ask your integration developer to review the matching rule.

### Why is a task data field missing?

Check that it stores its answer and has **Can Use in Events** enabled. A field without storage is not offered as an event filter.

### Why does a basket rule never match?

Check that INSIDE has received the basket contents and value, then check the trigger and units used in your filters.
