---
title: Create audience criteria
slug: cms-13/docs/create-audience-criteria
docTags: 
createdAt: 2026-07-30T20:22:08.991Z
---

Audience criteria are the rules that determine whether a visitor belongs to an *audience* (formerly called a *visitor group*). Combine criteria such as visit count, location, or referrer to define the visitor segments you want to target with personalized content. See [Manage audiences](docId:07J8Do2syzLuqJLJeSJfp) for how audiences use these criteria. CMS includes the following audience criteria, grouped by category.

## Prerequisites

Confirm the following before you create audience criteria:

- **Role and access** – Members of the **VisitorGroupAdmins** role manage criteria from the **Audiences** tab.
- **Optimizely Forms add-on** – Install Optimizely Forms and the Optimizely Forms Samples package to use forms criteria.
- **Geolocation provider** – Register a geolocation provider (such as `AddCmsClientGeolocation` or another `IGeolocationProvider`) to use the **Geographic Location** criterion.

## Audience membership

Use the audience membership criterion to compose audiences from other audiences.

- **Audience Membership** – Match membership in an existing audience. For example, select *Member of Alloy Track for free* or *Not a Member of Start Customer Club*.

![](https://api.archbee.com/api/optimize/BrbvVORKJ5iIeSMZye5kI/qIqDnfcr6uOJDXy6ssk_-_8f0b5abfe1c3173b3a12f6cb7aa962a458e3ec9b33ac28a8da13aad912ba4137-image.png)

## Site criteria

Site criteria match visitor behavior on the website, such as pages visited, language viewed, or visit count.

- **Number of Visits** – Matches the number of times a visitor visited the website. Specify **Less than**, **Equal**, or **More than** for a given time period or in total. For example, *Less than 1 visit within 10 days*.

![](https://api.archbee.com/api/optimize/BrbvVORKJ5iIeSMZye5kI/KMvsUStMXU1MthzDssOYd_b999e9898ac0916c73f7261f8d76f4e7991dfb88017ec13d2c0a679b28a458c6-image.png)

- **Selected Language** – Matches the language a visitor views a page in when the page uses language fallbacks. Select **Is** to match a language or **Is Not** to exclude one. For example, select **Is** > **English** to match English-language visitors. The drop-down list shows defined and enabled languages.

![](https://api.archbee.com/api/optimize/BrbvVORKJ5iIeSMZye5kI/9vJd_atLpwqC2pJhOsKaH_ad4173e1fdf95ac2d91b8911ea6ea5b565ad96be2fae18eb25ad414b54cdcf9f-image.png)

- **User Profile** – Matches a user profile property against a specified value, such as *email address contains Optimizely*. Select **Comment**, **Username**, **Email address**, or **Phone number**. Choose **Equals**, **Contains**, **Starts with**, or **Ends with** and enter the criterion value.

![](https://api.archbee.com/api/optimize/BrbvVORKJ5iIeSMZye5kI/f3Pxzz-o8MdPZwY0uVdEc_50cfe007fc2be271af6deebfe41dbae298bc40e1e0ffcffa93ebb6275b4403a9-image.png)

- **Visited Category** – Matches a page category on the website. Specify a minimum number of visited pages that use the category. For example, *Category Alloy Meet viewed at least three pages out of four pages*.

![](https://api.archbee.com/api/optimize/BrbvVORKJ5iIeSMZye5kI/L84qpnbvlTEEyZD0G9Fgw_3a39a91ec7e5ec46c9eb7dc8b392030f48f6557768d9098a8a3c28e2030a4ac6-image.png)

- **Visited Page** – Matches when a visitor visited a selected page during the current session.

![](https://api.archbee.com/api/optimize/BrbvVORKJ5iIeSMZye5kI/h7ygapjProVICPigMI8rp_f9c98c848cb2189acdc9f6bc80fb5cbf1c9888c150e1a96053fca646fed03ed7-image.png)

## Technical criteria

Technical criteria match visitor attributes such as device type, IP address, browser, or access role.

- **Display Channel** – Matches the visitor's display channel. Use this criterion to distinguish between web and mobile visitors. Select **Mobile** or **Web** channel.

![](https://api.archbee.com/api/optimize/BrbvVORKJ5iIeSMZye5kI/6ZaKhRiCTAkslU6bhzkxV_67cd71db2d5b9fd715ac648e21fac81eab38c7ad6cdc5d0b7aef89eb7f7354b9-image.png)

- **IP Range** – Matches a visitor's IP address against a defined value. The following conditions are available:
  - **Equal to** (**=**) – Matches an exact IP address.

![](https://api.archbee.com/api/optimize/BrbvVORKJ5iIeSMZye5kI/YjJmKTTMBG3BOahvonPB-_b3e83616209845870ba08a4bc4bca2613266548f8da1fa054298a1ec404720d4-image.png)

:::Paragraph{listStyleType="disc" indent="2"}
**Equal to or above** (**>=**) – Converts both the visitor's IP address and the specified address to integers. The criterion matches when the visitor's integer is equal to or higher than the specified integer.
:::

:::Paragraph{listStyleType="disc" indent="2"}
**Equal to or below** (**\<=**) – Converts both the visitor's IP address and the specified address to integers. The criterion matches when the visitor's integer is equal to or lower than the specified integer.
:::

- **OS & Browser** – Matches the visitor's operating system and browser.

![](https://api.archbee.com/api/optimize/BrbvVORKJ5iIeSMZye5kI/Y0wn-2fJGShXMgOhFl8D7_a5afa7b82879c59e4d5e2aa3d1ce0d868cc23a820632052fd6ac0cc241ec195c-image.png)

- **Role** – Matches the visitor's access role. Include roles with the **In role** condition or exclude roles with the **Not in role** condition.

![](https://api.archbee.com/api/optimize/BrbvVORKJ5iIeSMZye5kI/KL5d_7YnG98ZA108ioXDe_7292844aeb666094c1532def8f7fee7d7cc63f6f256475e032d06d48446ca3a3-image.png)

## Time and place criteria

Time and place criteria match visitor context such as geographic location, time of day, or event schedule.

- **Event** – Matches a set date period. For example, target sale events on the first day of every month by selecting the **Every Month** recurrence.

![](https://api.archbee.com/api/optimize/BrbvVORKJ5iIeSMZye5kI/J74GsiaAl2D-uMlw-tbKe_567b9689ff1a3c37fde1b5975305444d366fe8683ad865ff5eb653b4f8f0cd33-image.png)

The following recurrence options are available:

:::Paragraph{listStyleType="disc" indent="2"}
**Every Month** – Occurs on a specific day in every month, starting from the set **Start Time**.
:::

:::Paragraph{listStyleType="disc" indent="2"}
**Every Year** – Occurs once a year on a specific day, starting from the set **Start Time**.
:::

:::Paragraph{listStyleType="disc" indent="2"}
**Never** – The criterion does not recur. The condition matches only within the period defined by **Start Time** and **End Time**.
:::

:::hint{type="info"}
**Note**
When you select **Every Month** or **Every Year**, **End Time** is unavailable.
:::

- **Geographic Location** – Matches a visitor's location against a specified geographic area.

![](https://api.archbee.com/api/optimize/BrbvVORKJ5iIeSMZye5kI/v-nDkHwlK_DisBhli68ya_e633232ae904c029962811e1984e441878babede75f093a8cdce449e4b93fc52-image.png)

Two requirements must be met to populate the **Continent**, **Country**, and **Region** fields:

:::Paragraph{listStyleType="disc" indent="2"}
**Geolocation configuration** – Your environment must have geolocation capabilities configured. In CMS 13, ensure that `AddCmsClientGeolocation(...)` or another `IGeolocationProvider` is registered and configured. Without this configuration, the **Geographic Location** controls are unavailable.
:::

:::Paragraph{listStyleType="disc" indent="2"}
**Geolocation provider data** – The system relies on a geolocation provider (such as Cloudflare CDN) to supply geographic information. The level of detail depends on the provider. For example, **Region** is unavailable when the provider does not supply regional data for the selected country.
:::

:::hint{type="info"}
**Note**
Both prerequisites are required. Missing either requirement disables one or more **Geographic Location** fields.
:::

- **Time of Day** – Matches the set time period. For example, *Saturday and Sunday between 7 a.m. and 5 p.m.*

![](https://api.archbee.com/api/optimize/BrbvVORKJ5iIeSMZye5kI/egpM7YjtQkWtZ3z1cQO01_8626a3545274286fb5f5b7be8bfdb7e621ce6020edff335631d493e63e5193f6-image.png)

- **Time On Site** – Matches when the total length of a visitor's session is equal to or greater than the configured time.
  - **Time On Site** – The value range is 0 to 60.
  - **Duration Unit** – The duration is **Seconds**, **Minutes**, or **Hours**.

![](https://api.archbee.com/api/optimize/BrbvVORKJ5iIeSMZye5kI/aJrcs7Rfd0xbmztAMena2_6dba82ebc96ff473b8388eabf31164d31efd4f814319d8a7de146ffc33613e7d-image.png)

- **Time Period** – Matches when the visit falls within the specified time period.

![](https://api.archbee.com/api/optimize/BrbvVORKJ5iIeSMZye5kI/8clpWtp8Zpzi7q_kgAAkh_faf2f01844d7fd9b98dccbac3746d87e29447b43e575c5c55828195dae5b266f-image.png)

## URL criteria

URL criteria match visitor requests based on the landing URL, referrer, query string, or downloaded files.

- **Download File** – Matches a specific file that the browser viewed or loaded. The file path is the file name or a relative path. The criterion matches when the path to a loaded resource contains the configured path. For example, enter the path to an image (`CompanyLogo.png`) to target visitors who viewed it.

![](https://api.archbee.com/api/optimize/BrbvVORKJ5iIeSMZye5kI/99T9F5LxyEoz0mGB0MF6N_c4eded802743f0a00147ef5e855c3f5be606e37a4f7dd09c5d18c40f897cb5d5-image.png)

- **Landing URL** – Matches the URL the visitor uses to enter the site. Select **Equals**, **Starts with**, or **Ends with** and enter a value. For example, *contains* `www.example` matches `www.example.com`, `www.exampleURL.com`, and so on.

![](https://api.archbee.com/api/optimize/BrbvVORKJ5iIeSMZye5kI/w9I2tXttgD2O8bCPCkQja_29a21ff9c0e2855c075f283c4e33efe0029d546bddfb553d87e3ba6e4767d955-image.png)

- **Query String** – Matches a query string key in the request URL. The following conditions are available:
  - **Exist** – Checks only whether the key exists in the query string.
  - **Has Value** – Checks both the key and its value in the query string.
    When you select **Exist**, the **Value** text field is unavailable.

![](https://api.archbee.com/api/optimize/BrbvVORKJ5iIeSMZye5kI/5ai9hQZPDK8qsTTaROfI5_e079ec7353c428c1ddfb3cee81a3de167300866b74a81927741fe04deaa9ecaa-image.png)

- **Referrer** – Matches the host name or URL of the referring page, such as a search engine result page. Select whether the criterion matches on **Equals**, **Contains**, **Starts with**, or **Ends with** for the host name or URL.

![](https://api.archbee.com/api/optimize/BrbvVORKJ5iIeSMZye5kI/93qpwlJ39tUpUfRMqzIiR_44c79c5e9b7616dad9e45b15e3fcbc390554f17bd127f6322fc6b1555348eb18-image.png)

- **Search Keyword** – Matches the search term in the URL of the referring page. A developer defines a regular expression to extract the search term from the URL.

![](https://api.archbee.com/api/optimize/BrbvVORKJ5iIeSMZye5kI/y8hWU9B9vVq_7y9cdY-WM_185ccfe6c1719edc027d3fc4d431624cfc2fb7cbcc4dc1cef65e99d625e0f485-image.png)

:::hint{type="info"}
**Note**
Google search privacy restrictions block this criterion.
:::

## Optimizely Forms criteria

Install Optimizely Forms separately, then install the Optimizely Forms Samples package to enable the forms audience criteria. See [Form element types](docId:1UogEU0kz4wvBuSvHwjpk) for the Optimizely Forms Samples package section.

- **Submitted Form** – Matches when a visitor submits (or does not submit) a particular form. Select the form from a drop-down list. For example, *Has Submitted Job Application*.
- **Submitted Form Value** – Matches when a visitor submits a particular form value.
