TL;DR. Use Triggers to control when the popup opens, Page targeting to control where, and Targeting rules (device, country, visitor type, UTM, subscriber list) to control who. All in the Targeting dialog on the campaign card.
How to open the Targeting dialog
Go to Forms > Campaigns.
On the campaign card, click Targeting (top right of the card).
The dialog opens with three sections: Triggers, Targeting, Display frequency.
Triggers: when the popup opens
Wait time (time spent on page)
The most common trigger. The popup opens after the visitor has been on the page for N seconds.
Desktop: usually 5-10 seconds.
Mobile: usually 3-5 seconds (mobile sessions are shorter).
Each device has its own field; set 0 to fire instantly.
Scroll depth
The popup opens after the visitor has scrolled past a percentage of the page.
30%: catches visitors who started reading.
75%: catches visitors near the end who won't be back.
Exit intent
Detects when the visitor is about to leave:
Desktop: cursor moving toward the browser chrome (back button, tab close).
Mobile: scroll-up, tab-switch, or idle period (cursor exit-intent doesn't translate to touch).
Pair exit-intent with a higher-value offer (e.g. 20% off vs. the on-load 10%) since you're getting a second shot.
Cart action triggers
These fire based on Shopify cart activity:
Add to cart: someone added a product.
Cart value threshold: cart total crossed a dollar amount.
Cart item count: cart has at least N items.
Cart abandonment: visitor has items in cart and is about to leave.
Cart triggers run alongside the wait / scroll / exit triggers.
Trigger logic: AND or OR?
At the top of the Triggers section, you'll see an OR / AND toggle.
OR (default): any single trigger condition fires the popup.
AND: every enabled trigger must be true at once.
OR is more common. Use AND when you specifically want, say, "high-value cart AND exit intent."
Page targeting: where the popup shows
In the Targeting section, set where the popup is allowed to appear:
Show on all pages: every page.
Only show on specific pages: provide page URL patterns (e.g.
/products/*,/collections/sale).Exclude specific pages: show everywhere except the listed URLs (e.g. don't show on
/cartor/checkout).
Targeting rules: who sees the popup
Device targeting
All devices (default for most templates).
Desktop only.
Mobile only (default in some templates; heads up, this is the #1 cause behind "the popup isn't showing on my laptop" issues, see Why isn't my popup showing on my store?).
Country targeting
Show to all countries (default).
Only show in specific countries: pick from a multi-select.
Exclude specific countries: show everywhere except listed countries.
Country is detected by visitor IP. VPN traffic can mislabel; build for the typical case.
Common patterns:
US-only SMS campaigns (SMS regulations vary by country).
EU-only DOI campaigns (GDPR).
Excluding countries you don't ship to.
Visitor type
New visitors: visitors who haven't yet signed up for email or SMS (the default).
Returning visitors: visitors who have signed up for email or SMS.
Most acquisition popups target New. If you want to re-engage past subscribers, build a second campaign targeting Returning.
UTM / traffic source
Turn on UTM / traffic source targeting and click Add UTM rule. Match on:
utm_source(e.g.google,meta).utm_medium(e.g.cpc,social).utm_campaign(your campaign name).utm_term,utm_content.
Use AND / OR within a rule, and add multiple rules.
Example: show this popup only to visitors arriving from utm_source=meta AND utm_campaign=spring_sale.
Subscriber list targeting
Turn on Subscriber list targeting to show or hide the popup based on which lists the visitor is already on.
Show only to: only visitors in list X see this popup. Useful for upsell or loyalty popups.
Hide from: don't show to visitors in list Y. Useful for "don't re-pitch existing email subscribers."
Subscriber lists are configured on the campaign card via the Subscriber lists button.
Stacking targeting rules
All rules in the Targeting section are AND rules (every rule must be true). The Triggers section is what supports OR / AND across triggers.
Example stack:
Triggers: Wait time 5s OR Scroll 30% (the popup fires when either happens).
Targeting: Mobile AND US AND New visitor AND from
utm_source=google(the popup is only allowed to fire for visitors who match all four).
Display frequency (how often the popup shows)
Max times to show: per visitor (defaults to 3).
Defer for days after close: how many days to wait before showing again after the visitor closes the popup (defaults to 0).
A sensible mix for new-visitor campaigns: 3 max shows, 3 days defer.

