Targeting recipes
These recipes are complete Targets 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.
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.
- To require a minimum number of earlier visits, use Visit history filter (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.
- 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.
- 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 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.
- 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.