Widget display rules
Rules decide whether a widget is allowed to appear: on which pages, to which visitors, how often, and on which days and hours. Triggers then decide the moment it appears. A widget with no rules can appear on every page to every visitor, whenever one of its triggers fires.
Available on: all platforms. Product rules need an ecommerce platform (see the table below).
How it works
- All rules must pass. Rules combine with AND: if any rule fails, the widget doesn't show. Within a single rule, the entries you list combine as that rule describes, usually "any of" (for example, any of the pages you list).
- Rules are checked at two moments. Most rules are checked once, when the page loads. If they pass, the widget's triggers start. Three rules are checked only when a trigger fires, so they see what has happened on the page since it loaded.
- Rules are shared by all variations. In a widget A/B test, every variation and the control group use the same rules, so each group gets the same audience.
Rules are set on the widget's page in the Rules card ("Conditions on which the widget should appear"). Click Add rule and pick a rule type, or open Use template for ready-made rules grouped as Page-based, Time-based and Behavior-based. You can add the same rule type more than once, for example one Pages rule to include a section and another to exclude a page in it.
When each rule is checked
Rule | What it checks | Checked | Platforms |
|---|---|---|---|
Whether the visitor belongs to your saved targets (audiences) | When a trigger fires | All | |
The page's path | Page load | All | |
The tags of the product on the current product page | Page load | Shopify, Hydrogen | |
Which product's page the visitor is on | Page load | Shopify, Hydrogen, Wix | |
The subdomain of the current page | Page load | All | |
How often this visitor has already seen, closed, converted or minimized the widget | Page load | All | |
The current day in a timezone you choose | Page load | All | |
The current time of day in a timezone you choose | Page load | All | |
A parameter in the current page's URL | When a trigger fires | All | |
Whether another widget is open right now | When a trigger fires | All |
The widget's schedule (start and end date, set when you activate it) works like a page-load rule. It uses the visitor's device clock.
Behavior details and limitations
- Page-load rules aren't re-checked later on the same page. A widget whose Timeframe ends while the visitor is on the page can still be shown by an Exit or Inactivity trigger on that page.
- Trigger-time rules aren't checked at page load. A Target rule doesn't stop a widget's triggers from starting; it decides at the moment the trigger fires. The same applies before a teaser appears.
- Manual shows. ply.showWidget and the Show widget automation check the schedule and all rules unless you ask them to skip them (Suppress rules).
- Data-dependent rules wait. If a Target uses data that comes from Personizely's servers or from the cart, the widget starts once that data has loaded.
- Debugging. Open the page with ?ply_debug=1 to see each rule's result for each widget in the browser console.
Examples
- Product page upsell, not for gift cards: Pages "Show on" /products/**, plus Product pages "Don't show on" the gift card.
- Support callout during office hours: Days of week Monday to Friday plus Timeframe 09:00 to 17:00, both in your store's timezone.
- Returning-visitor offer, once per session: Target "returning visitors" plus Frequency "Show only once per session".