Targeting conditions
Show a flow (survey, form, or message) to the right people, in the right place.
- Last reviewed
Targeting conditions
Use targeting conditions when a flow should appear only for the right person, in the right place, or when the current app version is ready for it.
For example, you might show a checkout survey only on checkout pages, show a beta flow only to people in a saved segment, or wait until the current app version can support a new experience.
Add targeting controls
Open the flow delivery settings. Choose when the flow should appear, then add any conditions it needs.
Common targeting controls are:
- User is in segment: show the flow only to people in a saved segment.
- Current page path: show the flow only on matching pages.
- Exit intent: show the flow when a visitor moves toward leaving the page.
- Runtime has capability: show the flow only when the current app version says it can support a feature.
You can combine most conditions. The flow displays only when all selected conditions match. Exit intent is different: it is a trigger, and it can be combined with runtime conditions only.
Show on exit intent
Use Exit intent when you want to ask a visitor just as they are about to leave.
In the flow delivery settings, choose Add trigger, open Advanced, then choose Exit intent.
This works best for broad, anonymous, page-level flows. For example, you might ask why someone is leaving a pricing page, checkout page, or signup flow before they finish.
Exit intent is a trigger, not a saved segment condition. Segment filters are not available for exit-intent flows. You can still combine it with runtime conditions, such as Current page path and Runtime has capability.
For example:
- Exit intent +
/pricing: show only when someone is leaving the pricing page. - Exit intent +
/checkout/*: show only when someone is leaving checkout. - Exit intent +
checkout.drawer: show only when the current app version can display the checkout survey.
On desktop browsers, exit intent usually means the pointer moves toward the top of the page. On mobile browsers, that signal is less reliable, so use page and capability conditions when the flow must appear in a specific part of your app.
Target pages
Use Current page path when a flow belongs on one page or a small set of related pages.
Enter the path without the domain, query string, or hash:
/checkoutcheckout is treated the same as /checkout. A trailing slash is ignored, so
/checkout and /checkout/ match the same page.
Match related pages
Use * as a wildcard when part of the path can change. It matches any text in
that part of the path.
/checkout/*This matches pages like /checkout/payment and /checkout/review.
You can also put * on both sides of a word when the matching part may appear
in different places:
*checkout*This matches paths like /app/checkout/payment.
Patterns must still name something specific. * and /* are not accepted
because they would match every page.
Page path rules
Page path conditions match the browser pathname only.
They do not include:
- the domain
- query strings like
?plan=pro - hash fragments like
#payment
Matching is case-sensitive. %2F, spaces, and other encoded characters are
matched exactly as the browser reports them.
Examples
| Pattern | Matches | Does not match |
|---|---|---|
/checkout | /checkout, /checkout/ | /checkout/payment |
/checkout/* | /checkout/payment | /billing/payment |
*/settings | /account/settings | /account/settings/profile |
*checkout* | /app/checkout/payment | /billing/payment |
Use capabilities for app-version support
Use a capability condition when the page is not enough. This is helpful when some visitors may still be running an older app version, cached code, or a runtime that cannot show the flow in the right place yet.
Learn more in Capabilities.