Skip to main content

Creating targeting rules

Configuring targeting rules

After creating a flow, navigate to the flow's Settings tab to configure the rules for which users should qualify for this flow.

Type of ruleDescription
Target all usersEvery user that encounters this flow will qualify for it.
Target with an expressionUsers with properties which pass the expression will qualify for this flow. You can also use the SDK or API to manually enter users into this flow.
SDK and API onlyUsers will not automatically qualify for this flow. You can only use the SDK or API to enter users into this flow.

Targeting with an expression

As with boolean blocks, expression-based entry conditions are crafted using Dopt’s expression language.

Flow qualification

A user’s qualification for a flow is evaluated in real-time. Each time the user requests a flow which they have not yet started, Dopt will evaluate whether they qualify for that flow.

For example, if a user does not immediately qualify for a flow, but may qualify on subsequent requests because their properties will have been updated, then they will be started after those user property updates.

Once a user starts a flow, the flow is in progress, and the user will remain in that flow until the flow is finished or exited, even if their properties (or the flow’s targeting rules) are updated and no longer match.

If you would like to re-evaluate flow qualification for started users, we recommend creating a new flow version and choosing the appropriate flow migration strategy.

Manually entering users

Users can be entered into a flow via the SDK or blocks API by calling the start or reset intents with the optional force parameter set to true.

When you do so, the user will be forcefully entered into the flow despite any targeting rules. As noted above, once a user has started a flow, the user will remain in that flow until the flow is finished or exited.

const [_, intent] = useFlow('example-flow-identifier');
intent.start({ force: true });