---
title: Targeting recipes
slug: targeting-recipes
description: Ready-made Personizely targets: returning visitors, first-time mobile paid social, VIP customers, high-intent carts, B2B, markets, non-buyers.
docTags: 
createdAt: 2026-10-17T09:44:31.152Z
---

These recipes are complete [Targets](docId\:tWNdHNIcvVf9rNerxrynw) setups for audiences that ecommerce teams use most: returning visitors, first-time mobile visitors from paid social, VIP customers, high-intent carts, B2B companies, international markets, and everyone who hasn't bought yet. Each one lists the exact groups and filters to build, what to watch out for, and where to use it. Change values such as amounts, tags and UTM names to match your store.

**Available on:** all platforms, unless a recipe says otherwise.

## How to read the recipes

Each table row is one group in the target builder, from top to bottom. **Joined with** is the **And**/**Or** switch at the start of the group; the first group has none. **Group** is the **match**/**don't match** and **all**/**any** setting.

Groups are combined **left to right without precedence**: `G1 Or G2 And G3` means `(G1 Or G2) And G3`. Recipes are ordered so this works; keep the order when you adapt them. See [Groups combine left to right](docId\:tWNdHNIcvVf9rNerxrynw#groups-combine-left-to-right-without-precedence).

## Returning visitors

Visitors who have been to your site before this visit.

| Group | Joined with | Group setting   | Filters                |
| ----- | ----------- | --------------- | ---------------------- |
| G1    |             | **don't match** | First visit **is now** |

- "First visit is now" is true for every page of a visitor's first session, so excluding it leaves visitors on their second session or later.
- For **new visitors**, use the same filter with **match**.
- A visitor on a new device, in a private window or after clearing cookies is new. See [Visitor identity, sessions and storage](docId\:pQ7hXClMZqGdoDSHsUCZ5).
- To require a minimum number of earlier visits, use [Visit history filter](docId\:X2A_4qbwnVGo6bLNG6z7S) (Premium plan). On the first page of a visit, it counts only earlier visits: "at least 3 times" on a landing page means 3 or more earlier visits.

**Use it for:** a "Welcome back" bar, recently-viewed product widgets, or splitting A/B test results by new vs returning.

## First-time mobile visitors from paid social

Visitors in their first session, on a phone, who arrived from a paid Facebook, Instagram or TikTok ad.

| Group | Joined with | Group setting | Filters                                                                                                                                         |
| ----- | ----------- | ------------- | ----------------------------------------------------------------------------------------------------------------------------------------------- |
| G1    |             | **match all** | First visit **is now** · Device is one of **mobile** · UTM Parameters: medium **is** `paid_social`                                              |
| G2    | **And**     | **match any** | UTM Parameters: source **contains** `facebook` · UTM Parameters: source **contains** `instagram` · UTM Parameters: source **contains** `tiktok` |

- Use the UTM values your ads actually send. Comparisons are **case-sensitive**: `Facebook` doesn't match `facebook`. **contains** covers variants such as `facebook_ads`.
- Inside one UTM Parameters filter, all conditions must be true. To allow alternatives, add one UTM Parameters filter per alternative in a **match any** group, as in G2.
- UTM values are remembered for the visitor, so they keep matching after the landing page. See [Remembered traffic-source values](docId\:pUBcmS1M98xB8Mg8L99D_#remembered-traffic-source-values).
- Tablets are a separate device type. Add **tablet** to the Device filter if you want them too.

**Use it for:** a landing personalization that repeats the ad's offer, or a mobile-only welcome discount.

## VIP customers (Shopify)

Logged-in customers you've tagged as VIP, or who have ordered often or spent a lot in one order.

| Group | Joined with | Group setting | Filters                                                                                                                                                         |
| ----- | ----------- | ------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| G1    |             | **match any** | Customer **has tags** any of `VIP` · Order history: at least **5** orders **of any value** · Order history: at least **1** order **with value of at least** 500 |

- **Customer** only matches logged-in Shopify customers. Tags are exact and case-sensitive.
- **Order history** works for logged-in customers and for guests. For logged-in customers it counts their paid Shopify orders; for guests it counts purchases Personizely has tracked for that visitor, so it can be lower. See [Order history filter](docId\:bV0w3-JjkCkmH-za_dK3g).
- To tag VIPs automatically, use a Shopify Flow or your loyalty app to add the `VIP` customer tag.

**Use it for:** early access banners, a VIP-only price personalization, or hiding first-order discounts from loyal customers.

## High-intent carts

Visitors with a substantial cart who have browsed several pages this session.

| Group | Joined with | Group setting | Filters                                                                                              |
| ----- | ----------- | ------------- | ---------------------------------------------------------------------------------------------------- |
| G1    |             | **match all** | Cart value at least **75** · Page view history: viewed at least **3** pages, **During this session** |

- Cart filters work on Shopify and Wix. Cart value is compared in your store currency.
- Page view history is on the Premium plan. Without it, use Cart size at least 2 items instead.
- On page load, Page view history counts pages viewed **before** the current one.
- In a widget, the Target rule is checked when the trigger fires, so it sees items added to the cart on the same page. Pair it with the [Exit-intent trigger](docId\:lo2ZnWIQG9Ch3GYd5TUcM) on cart and product pages.
- In a campaign, use **Permanent** targeting mode so the experience doesn't flip when the cart changes.

**Use it for:** an exit offer for free shipping, a cart-page urgency message, or a checkout reassurance banner test.

## B2B companies

Visitors browsing from a company network of 50 or more employees, plus visitors who told you their company name.

| Group | Joined with | Group setting | Filters                                         |
| ----- | ----------- | ------------- | ----------------------------------------------- |
| G1    |             | **match all** | Company: Employees (from) **is higher than** 49 |
| G2    | **Or**      | **match all** | Visitor fields: Company name **is not empty**   |

- The **Company** filter needs the Clearbit or Albacross integration. Companies are identified from the visitor's IP address, so it matches visitors on office networks, not on home or mobile connections.
- Company data can take a moment to load. Content that depends on it stays hidden until it does, so use this target where a short delay is acceptable.
- Combine with Company: NAICS Category to target an industry, for example **Retail trade**.

**Use it for:** a "Buying for your team?" bulk-order popup, or a personalization that shows a wholesale contact form.

## International markets

### Shopify Markets

Visitors in a specific Shopify Market.

| Group | Joined with | Group setting | Filters                 |
| ----- | ----------- | ------------- | ----------------------- |
| G1    |             | **match**     | Market is one of **EU** |

- The Market filter needs Shopify with Markets and the Premium plan. It matches the market the storefront is showing, which follows the visitor's country or the market they selected.

### By location (any platform)

Visitors outside your home market, here the United States and Canada.

| Group | Joined with | Group setting   | Filters                                          |
| ----- | ----------- | --------------- | ------------------------------------------------ |
| G1    |             | **don't match** | Location is one of **United States**, **Canada** |

To target specific countries instead, use **match** with the countries you want, for example Location is one of **United Kingdom**, **Ireland**, **Australia**.

- Location is based on the visitor's IP address, so VPN users appear where their VPN exits.
- A visitor matches the Location filter if they're in **any** of the locations listed. There's no "is not" option: to exclude locations, put them in a **don't match** group, as in G1.
- Location can take a moment to resolve; content that depends on it stays hidden until it does.

**Use it for:** shipping-cost messaging per region, local currency or payment-method banners, or a market-specific price personalization.

## Excluding purchasers

Everyone who hasn't bought from you, to keep acquisition offers away from customers.

| Group | Joined with | Group setting       | Filters                                                                                                                |
| ----- | ----------- | ------------------- | ---------------------------------------------------------------------------------------------------------------------- |
| G1    |             | **don't match any** | Order history: at least **1** order **of any value** · Goal history: reached the goal **Purchase** at least **1** time |

- **don't match any** passes only when **none** of the filters is true, so a visitor who matches either filter is excluded.
- **Goal history** is on the Premium plan. It catches purchases tracked for this visitor on any platform where the Purchase goal is recorded. Without it, keep only Order history (Shopify and Wix).
- Visitors who bought on another device and aren't identified on this one can't be recognized as purchasers.
- To add this exclusion to another target, add G1 as the **last** group, joined with **And**.

**Use it for:** first-order discount popups, acquisition-focused A/B tests, and newsletter signup offers.

## Known subscribers

Visitors you already have an email address for.

| Group | Joined with | Group setting | Filters                                |
| ----- | ----------- | ------------- | -------------------------------------- |
| G1    |             | **match**     | Visitor fields: Email **is not empty** |

- Visitors become known when they submit a form, click an email link with `email=` or a click ID, log in to Shopify, or are identified by your code. See [Identifying visitors](docId\:Q2m71k4qe54obA5WmAvBT).
- Use it with **don't match** on your newsletter popup so subscribers don't see it again.
- To check list membership in your email platform instead, use the [Email list and tag filters](docId\:bDZFefAR-ceJy5XgJmNrv).

## Related

- [Targets](docId\:tWNdHNIcvVf9rNerxrynw)
- [How targeting works](docId\:pUBcmS1M98xB8Mg8L99D_)
- [Target rule](docId\:lKIsRCLhPiFzzx8QqEhXw)
- [Personalizations](docId\:IEMreg0HgryEu6cNJiJcP)
- [Identifying visitors](docId\:Q2m71k4qe54obA5WmAvBT)
- [Dynamic text (personalization variables)](docId\:EEz3US75criNjfndB--uS)
