Targets
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).
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 |
How often each of these re-checks the target is covered in How targeting works.
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:
((G1 OR G2) AND G3) OR G4Example. 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.
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
- 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.
- Enter a Target name.
- Click Add a filter and pick a filter. This creates the first group.
- To add a filter to the same group, use Add a filter on that group. To start a new group, click Add group.
- Set each group to match or don't match, choose all or any, and choose And or Or between groups.
- 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 |
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 page view | Whether this is their very first page view, or when it was | |
Last page view | When their previous page view was | |
Page view history | How many pages they've viewed, optionally of a given page, total duration or period | |
Visit history | How many visits (sessions) they've had | |
Entry page | The first page they ever landed on |
Behavior
Filter | Matches visitors by | Page |
|---|---|---|
Goal history | How many times they reached a goal | |
Event history | How many times they performed a custom or commerce event | |
Widget history | How many times they viewed, clicked or submitted a widget |
Traffic source
Filter | Matches visitors by | Page |
|---|---|---|
UTM Parameters | Their remembered utm_source, utm_medium, utm_campaign, utm_term and utm_content | |
Query String | A remembered URL parameter, such as ref or gclid | |
Referrer | The first external site that sent them to you |
Technology
Filter | Matches visitors by | Page |
|---|---|---|
Device | Desktop, mobile, tablet and other device types | |
Os | Operating system | |
Browser | Browser | |
Locale | Browser language |
Context
Filter | Matches visitors by | Page |
|---|---|---|
Location | Continent, country, region, city or postal code | |
Weather | Current weather at their location | |
Visitor's time | The hour on their device |
Page and site data
Filter | Matches visitors by | Page |
|---|---|---|
Selector | The content of an element on the page | |
Cookie | The value of a cookie | |
Data | Values your site passes with ply.setData, window.plyData or parsers |
Commerce
Filter | Matches visitors by | Page |
|---|---|---|
Cart value | Cart total | |
Cart size | Number of items or distinct products in the cart | |
Cart items | Specific products in the cart | |
Market | Shopify Market | |
Customer | Shopify customer account and tags | |
Order history | Number of orders, order value, items or tags |
Visitor data and B2B
Filter | Matches visitors by | Page |
|---|---|---|
Visitor fields | Profile fields such as email, name, consents and Custom fields | |
Company | Firmographics: company name, domain, country, size, revenue, industry |
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 | |
Active Campaign Tag, ConvertKit Tag | Whether they have tags | |
ConvertKit Form | Whether they're subscribed to forms | |
Ometria List | Whether they're in lists |
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.
- 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. See Visitor identity, sessions and storage.
- 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.
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, which reads only the current URL. The Query String filter in a target remembers the value.