Audience rules
Audience rules decide who sees what variant of the widget, and on which pages. They’re evaluated server-side every time the widget boots, so the visitor only ever downloads the variant they’re routed to. Rules combine with simple AND/OR logic, and conflicts resolve by priority order.
Available conditions
| Condition | Operators | Example |
|---|---|---|
| Page URL | equals, contains, starts with, regex | contains "/products/" — show on product pages only. |
| Referrer | contains, starts with | starts with "https://www.tiktok.com" |
| UTM source / medium / campaign | equals, in list | utm_campaign = "spring-sale" |
| Device | is, is not | device is "mobile" |
| Locale | equals, in list | locale in ["fr-FR", "fr-CA"] |
| Cart value | greater than, less than, between | cart_value > 100 USD |
| Customer segment | is, is not | segment is "VIP" |
| Lifecycle stage | is, is not | stage is "first_time_visitor" |
| Time on site | greater than (sec) | time_on_site > 30 |
| Scroll depth | greater than (%) | scroll_depth > 60 |
| Exit intent | true / false | exit_intent = true on cart page → popup mode. |
| A/B split | percentage | 50% get variant A, 50% get B. |
Combining rules
Inside a single rule, all conditions are joined by AND. Multiple rules are evaluated top-down — the first match wins. Put the most-specific rules near the top.
Rule 1 (priority 1)
IF page URL contains "/products/holiday-bundle"
AND device is "desktop"
THEN render variant "Holiday hero (inline)"
Rule 2 (priority 2)
IF segment is "VIP"
THEN render variant "VIP concierge (launcher)"
Rule 3 (default, priority 99)
Render variant "Default (launcher)"Suppression rules
Sometimes the right call is to not show the widget. Suppression rules render nothing when they match. Common uses:
- Hide on the checkout page so the widget doesn’t compete with the payment form.
- Hide for staff logged in via Shopify’s preview cookie.
- Hide on legal pages (Privacy, Terms) where the AI shouldn’t be a distraction.
Out-of-hours mode
On Dashboard → Widget → Schedule you can configure business hours. Outside those hours, the widget either:
- Keeps running with the same AI behavior (default).
- Switches to “We’ll reply in the morning” mode — the AI still answers product questions but routes anything ambiguous to your inbox with a delayed-reply expectation set.
- Hides entirely.
Audience rules vs. journey rules
Testing rules
Each rule has a Preview button that simulates what the rule would do for a fake visitor matching the criteria you set (device, locale, segment). Use it before publishing — it’s much faster than hot-reloading a real browser.
You can also tag yourself into a segment manually:
// In the browser console on your storefront
window.Zubby.devSetSegment("VIP");
window.Zubby.reload();Limits
Trial workspaces support up to 5 active rules. Growth and Pro support 25 and 100 respectively. Enterprise is unlimited. Rules that are paused (toggle off the eyeball) don’t count against the limit.