---
title: Targets
slug: tWNd-targets
description: How Personizely targets work: audiences built from filter groups, AND/OR evaluated left to right, where targets are used, plan gating and every filter.
docTags: 
createdAt: 2026-10-17T09:44:04.153Z
---

A target is a saved, reusable audience in Personizely, such as "returning visitors from Instagram" or "Shopify customers tagged VIP". You build it once from filters (traffic source, location, device, cart, order history, past behavior and more) and then use it to decide who enters an A/B test, who gets a personalization variation, and who sees a widget. Editing a target updates every campaign and widget that uses it.

**Available on:** all platforms. Some filters are platform-specific or need an integration (see the [filter index](docId\:tWNdHNIcvVf9rNerxrynw)).

## Where targets are used

| Where                     | What the target decides                                                                                              | Set it in                                                                           |
| ------------------------- | -------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------- |
| A/B test (experiment)     | Who can enter the test. Visitors who don't match see the original and aren't counted                                 | Campaign editor: **Specific target** instead of **All visitors**                    |
| Personalization variation | Which variation a visitor gets. Each variation has its own target, and the first variation whose target matches wins | Campaign editor: the target of each variation                                       |
| Widget **Target** rule    | Whether the widget can show (or is hidden) when its trigger fires                                                    | Widget builder: **Rules → Target**. See [Target rule](docId\:lKIsRCLhPiFzzx8QqEhXw) |

How often each of these re-checks the target is covered in [How targeting works](docId\:pUBcmS1M98xB8Mg8L99D_).

## How a target is built

A target is one or more **groups**, and each group holds one or more **filters**.

- **Inside a group**, you choose whether the visitor must **match** or **don't match** the filters, and, once the group has two or more filters, whether that applies to **all** or **any** of them.
- **Between groups**, each group after the first starts with **And** or **Or**, which joins it to everything above it.

The first group reads "Include visitors who **match** **all** of the following filters". New groups start as **match** / **all** and are joined with **And**.

### What each group setting means

| Group setting             | The group passes when                                                         |
| ------------------------- | ----------------------------------------------------------------------------- |
| **match** + **all**       | Every filter in the group is true                                             |
| **match** + **any**       | At least one filter is true                                                   |
| **don't match** + **all** | At least one filter is false (the visitor doesn't match all of them together) |
| **don't match** + **any** | No filter is true                                                             |

To exclude everyone who matches a single condition, put that filter in its own **don't match** group. To exclude everyone who matches any of several conditions, use **don't match** + **any**.

### Groups combine left to right, without precedence

Groups are evaluated in order, top to bottom, and each **And** or **Or** applies to the result of everything above it. There are no brackets and **And** doesn't bind tighter than **Or**, unlike in most programming languages.

A target with four groups joined as `G1 Or G2 And G3 Or G4` is evaluated as:

```javascript
((G1 OR G2) AND G3) OR G4
```

**Example.** You want "mobile visitors from Facebook or Instagram", and you set it up like this:

| Group | Joined with | Filter                                |
| ----- | ----------- | ------------------------------------- |
| G1    |             | UTM Parameters: source is `facebook`  |
| G2    | **Or**      | UTM Parameters: source is `instagram` |
| G3    | **And**     | Device is one of mobile               |

This evaluates as `(facebook OR instagram) AND mobile`, which is what you want. Now add a fourth group to also include all visitors from Germany, joined with **Or**: `((facebook OR instagram) AND mobile) OR Germany`. Every visitor from Germany matches, on any device, which is also what you want.

But if you put the Germany group **first**, `Germany OR facebook OR instagram AND mobile` evaluates as `((Germany OR facebook) OR instagram) AND mobile`. Now German desktop visitors are excluded, because the **And mobile** at the end applies to everything above it.

:::hint{type="info"}
When you mix **And** and **Or**, put the groups that must apply to everyone at the end with **And**, or move alternatives into a single group with **any**. A group with **match any** is the cleanest way to express "A or B or C".
:::

## Create a target

1. Go to **Targets** and click **Create a target**, or click **Create target** from a campaign or widget, which opens the same builder without leaving the editor.
2. Enter a **Target name**.
3. Click **Add a filter** and pick a filter. This creates the first group.
4. To add a filter to the same group, use **Add a filter** on that group. To start a new group, click **Add group**.
5. Set each group to **match** or **don't match**, choose **all** or **any**, and choose **And** or **Or** between groups.
6. Save, then select the target in your campaign or widget.

From the **Targets** list you can also **Clone** a target (to build a variation of it without affecting the original) and **Delete** it.

| Option         | What it does                                                                | Values / default                                |
| -------------- | --------------------------------------------------------------------------- | ----------------------------------------------- |
| Target name    | How the target appears in campaign and widget pickers                       | Text                                            |
| Group policy   | Include or exclude visitors who match the group's filters                   | **match** (default), don't match                |
| Group operator | How the filters inside a group combine. Shown once the group has 2+ filters | **all** (default), any                          |
| Group join     | How the group combines with everything above it                             | **And** (default for new groups), Or            |
| Filters        | The conditions themselves                                                   | See [All filters](docId\:tWNdHNIcvVf9rNerxrynw) |

## Plan gating and requirements

Most filters are available on every plan. These need a specific plan or setup:

| Filter                                                        | Requirement                                           |
| ------------------------------------------------------------- | ----------------------------------------------------- |
| Page view history, Visit history, Goal history, Event history | Premium plan                                          |
| Market                                                        | Premium plan, and Shopify with Markets                |
| Weather                                                       | Premium plan and higher                               |
| Company                                                       | The Clearbit or Albacross integration                 |
| Customer                                                      | Shopify                                               |
| Cart value, Cart size, Cart items, Order history              | Shopify or Wix                                        |
| Email platform lists, tags and forms                          | The matching email integration, connected and enabled |

Filters your plan doesn't include are shown in the **Add a filter** menu marked **Upgrade**. Filters that need an integration appear only once it's connected.

## All filters

### Visitor lifecycle

| Filter            | Matches visitors by                                                                 | Page                                                     |
| ----------------- | ----------------------------------------------------------------------------------- | -------------------------------------------------------- |
| First visit       | Whether this is their first visit (browser session), or when their first visit was  | [First visit filter](docId\:fGmP81BEgI2OB_XcTqS3v)       |
| First page view   | Whether this is their very first page view, or when it was                          | [First page view filter](docId\:l-c7qonrbDKGnXe77aXiO)   |
| Last page view    | When their previous page view was                                                   | [Last page view filter](docId\:mV7kQpZBJpJhM0WQx8Y8f)    |
| Page view history | How many pages they've viewed, optionally of a given page, total duration or period | [Page view history filter](docId\:cbgtuQws2DZ-TgM7gNEIf) |
| Visit history     | How many visits (sessions) they've had                                              | [Visit history filter](docId\:X2A_4qbwnVGo6bLNG6z7S)     |
| Entry page        | The first page they ever landed on                                                  | [Entry page filter](docId\:jEK9GwVtqP2GlfFj7M7lz)        |

### Behavior

| Filter         | Matches visitors by                                       | Page                                                  |
| -------------- | --------------------------------------------------------- | ----------------------------------------------------- |
| Goal history   | How many times they reached a goal                        | [Goal history filter](docId:-4jySLfqdzYfvDqDrBG-q)    |
| Event history  | How many times they performed a custom or commerce event  | [Event history filter](docId\:rFOpxArbQHQ-Nqnu_OxBd)  |
| Widget history | How many times they viewed, clicked or submitted a widget | [Widget history filter](docId\:ay2ODKE7j7zS4TXMlrdJg) |

### Traffic source

| Filter         | Matches visitors by                                                                       | Page                                                  |
| -------------- | ----------------------------------------------------------------------------------------- | ----------------------------------------------------- |
| UTM Parameters | Their remembered `utm_source`, `utm_medium`, `utm_campaign`, `utm_term` and `utm_content` | [UTM parameters filter](docId\:nKodTTYkgmB8OALDcQnYh) |
| Query String   | A remembered URL parameter, such as `ref` or `gclid`                                      | [Query string filter](docId\:imJz2jaBT2xMGXv_rRXTQ)   |
| Referrer       | The first external site that sent them to you                                             | [Referrer filter](docId\:KOpscrlQHA3ArGC0-Z-2o)       |

### Technology

| Filter  | Matches visitors by                            | Page                                          |
| ------- | ---------------------------------------------- | --------------------------------------------- |
| Device  | Desktop, mobile, tablet and other device types | [Device filter](docId\:vR58N_wd6XJgoJ_q1-Ixo) |
| Os      | Operating system                               | [OS filter](docId\:fG8wq17MIs1ehFuspD9hw)     |
| Browser | Browser                                        | [Browser filter](docId:2ktTy3r2QvNOmdKLn8tDb) |
| Locale  | Browser language                               | [Locale filter](docId:_YmfwafdGziLOLgs6KRqd)  |

### Context

| Filter         | Matches visitors by                             | Page                                                  |
| -------------- | ----------------------------------------------- | ----------------------------------------------------- |
| Location       | Continent, country, region, city or postal code | [Location filter](docId\:f0_rJIZ9q-sSEhVSncFcF)       |
| Weather        | Current weather at their location               | [Weather filter](docId\:UYX4x5yijPGGAfSzXdDlV)        |
| Visitor's time | The hour on their device                        | [Visitor's time filter](docId\:Ik4P5_nm0DxnpHwWbyTxr) |

### Page and site data

| Filter   | Matches visitors by                                                     | Page                                                |
| -------- | ----------------------------------------------------------------------- | --------------------------------------------------- |
| Selector | The content of an element on the page                                   | [Selector filter](docId\:zMFeHgYc7ZdX3-gJUW6Xh)     |
| Cookie   | The value of a cookie                                                   | [Cookie filter](docId:-3lZaQ8y88bclP2jMdSis)        |
| Data     | Values your site passes with `ply.setData`, `window.plyData` or parsers | [Website data filter](docId\:t7McdBecTBU7854X7jVcj) |

### Commerce

| Filter        | Matches visitors by                              | Page                                                            |
| ------------- | ------------------------------------------------ | --------------------------------------------------------------- |
| Cart value    | Cart total                                       | [Cart value filter](docId\:M5UXU-yZyhbPfzZs-_wzn)               |
| Cart size     | Number of items or distinct products in the cart | [Cart size filter](docId\:mehX8MapSOt6H1JFPc5sL)                |
| Cart items    | Specific products in the cart                    | [Cart items filter](docId\:MPvhK6atwDto5BEUURrDr)               |
| Market        | Shopify Market                                   | [Market filter (Shopify Markets)](docId\:Oz8__1Au4l_3Adg9hF1Kx) |
| Customer      | Shopify customer account and tags                | [Customer filter (Shopify)](docId\:ytjG6yjMEqRctiOZie7Ow)       |
| Order history | Number of orders, order value, items or tags     | [Order history filter](docId\:bV0w3-JjkCkmH-za_dK3g)            |

### Visitor data and B2B

| Filter         | Matches visitors by                                                                            | Page                                                           |
| -------------- | ---------------------------------------------------------------------------------------------- | -------------------------------------------------------------- |
| Visitor fields | Profile fields such as email, name, consents and [Custom fields](docId\:km7iOXZLplGl8qZlK582W) | [Visitor fields filter](docId:8O0nDK0HiHXgMjILAg_OC)           |
| Company        | Firmographics: company name, domain, country, size, revenue, industry                          | [Company filter (B2B targeting)](docId\:X4Ri5pG4iBbhbo_g6N1Bg) |

### Email platforms

| Filter                                                                                                                                                 | Matches visitors by                 | Page                                                       |
| ------------------------------------------------------------------------------------------------------------------------------------------------------ | ----------------------------------- | ---------------------------------------------------------- |
| Mailchimp List, Brevo List, Campaign Monitor List, Active Campaign List, GetResponse List, AWeber List, iContact List, MailerLite List, SendPulse List | Whether they're subscribed to lists | [Email list and tag filters](docId\:bDZFefAR-ceJy5XgJmNrv) |
| Active Campaign Tag, ConvertKit Tag                                                                                                                    | Whether they have tags              | [Email list and tag filters](docId\:bDZFefAR-ceJy5XgJmNrv) |
| ConvertKit Form                                                                                                                                        | Whether they're subscribed to forms | [Email list and tag filters](docId\:bDZFefAR-ceJy5XgJmNrv) |
| Ometria List                                                                                                                                           | Whether they're in lists            | [Email list and tag filters](docId\:bDZFefAR-ceJy5XgJmNrv) |

## Behavior details and limitations

- **An empty target matches everyone.** A target with no groups doesn't restrict anything.
- **Editing a target affects every campaign and widget that uses it**, immediately after you save. Clone the target first if you only want to change one campaign's audience.
- **Targets in use can't be deleted.** If a widget or campaign uses the target, you can't delete it. Remove it from those widgets and campaigns first.
- **Text comparisons are case-sensitive and exact.** "is `Facebook`" doesn't match `facebook`. There are no wildcards or regular expressions in text filters; use **contains** for partial matches.
- **Missing values count as empty.** A UTM parameter, cookie, query parameter or element that doesn't exist has an empty value, so **is empty**, **is not** and **does not contain** are true for it.
- **"At least" includes the number, "less than" doesn't.** "At least 3 pages" is 3 or more; "less than 3 pages" is 0, 1 or 2.
- **Traffic-source filters remember earlier visits.** UTM Parameters, Query String, Referrer and Entry page are read from what Personizely has stored for the visitor, not only from the current URL. See [How targeting works](docId\:pUBcmS1M98xB8Mg8L99D_#remembered-traffic-source-values).
- **One browser, one visitor.** Targets see the visitor in the current browser. A shopper on a new device or after clearing site data is a new visitor until they're [Identifying visitors](docId\:Q2m71k4qe54obA5WmAvBT). See [Visitor identity, sessions and storage](docId\:pQ7hXClMZqGdoDSHsUCZ5).
- **Some filters take a moment.** Filters that need visitor history, location or order data may take a moment to resolve; content that depends on them stays hidden until they do.

## Examples

- **Returning visitors:** one group, **don't match** "First visit is now".
- **High-value mobile carts:** one group, **match all**: Device is one of mobile, Cart value at least 100.
- **Everyone except customers:** one group, **don't match any**: Order history at least 1 order, Goal history reached Purchase at least 1 time.

More complete setups are in [Targeting recipes](docId:_BVB1fOjQfShkWtEaoHOH).

## Troubleshooting

- **Target matches more visitors than expected** → an **Or** group near the end is combining with everything above it. Rewrite the target so alternatives sit in one **match any** group, or move the **Or** groups to the top.
- **Target never matches** → a filter compares text with different capitalization, a plan-gated or integration filter isn't available on your account, or a **don't match** + **all** group was meant to be **don't match** + **any**.
- **Target matches on the landing page but not later** → you used the widget [Query string rule](docId\:G-VZrqFvPa61YhFBANO-C), which reads only the current URL. The Query String filter in a target remembers the value.

## Related

- [How targeting works](docId\:pUBcmS1M98xB8Mg8L99D_)
- [Target rule](docId\:lKIsRCLhPiFzzx8QqEhXw)
- [Personalizations](docId\:IEMreg0HgryEu6cNJiJcP)
- [How visitors are assigned to variations](docId\:sAtUYHXtt2H5eBGuGVFDv)
- [Targeting recipes](docId:_BVB1fOjQfShkWtEaoHOH)
- [Visitor identity, sessions and storage](docId\:pQ7hXClMZqGdoDSHsUCZ5)
