---
updatedAt: 2026-09-25T07:51:47.000Z
agentTools:
  siteIndex: https://documentation.bloomreach.com/llms.txt
  projectIndex: https://documentation.bloomreach.com/engagement/llms.txt
---

# Scenario best practices

These best practices are based on real-world experience with building and managing scenarios. Follow them to improve performance, maintain accuracy, and keep your workspace organized.

## Scenario setup

### Include only relevant customers

Use non-personalized condition nodes to filter out irrelevant customers as early as possible in the scenario flow. This improves performance and ensures your scenario targets the right audience.

For example, if you're sending an email campaign, check that `email = has value,` and `email consent = true` at the start of your scenario.

<Image src="https://files.readme.io/4a00b68a4ea87064db0dd063f3643dc4fdd27b6c0308cfee3878fad8f11f0649-email_consent.png" alt="Scenario flow with condition node filtering customers by email attribute and consent status" align="center" caption="Example condition node filtering customers by email attribute and consent status." border={true} />

### Add a condition node after a trigger

Always add at least 1 non-personalized condition node directly after the trigger node. This practice ensures only relevant customers enter the flow.

<Image src="https://files.readme.io/f9f214b0bf04b92f8a5c05cc6bf40d9ea98c813ef328fd8724409970cba3cb38-condition.png" alt="Scenario flow with a non-personalized condition node placed directly after the trigger node" align="center" caption="A condition node placed immediately after the trigger node." border={true} />

### Consolidate scenarios

Combine scenario flows that start around the same time. This reduces how often the database needs to be accessed, which improves performance for both the database and scenario navigation.

Where possible, use a single trigger with condition nodes to separate customers by country or other factors, rather than creating multiple separate scenarios.

### Name scenarios and nodes consistently

Name your [scenarios](https://documentation.bloomreach.com/engagement/docs/introduction-to-scenarios) (tracked as `campaign_name`) and action nodes (tracked as `action_name`) using a consistent naming convention. This makes it easier to filter and segment your campaigns and campaign actions over time.

### Name condition nodes as closed questions

Name your condition nodes as closed questions that can be answered with "Yes" or "No." This approach ensures clarity and consistency in your scenarios.

## Build your flow

### Add wait nodes strategically

Place wait nodes near the end of the scenario flow, close to the node with the fewest customer entries. Don't place them directly after the trigger node. For larger customer bases, a wait node placed too early can result in a very large number of customers being held at a single point, which strains performance.

### Limit wait nodes

Use wait nodes only when necessary. Avoid placing more than one wait node in a series. Use a single node set to the exact time required instead.

### Repeat conditions after a wait node

Repeat all essential conditions after any wait node. Customers' data can change while they wait, so rechecking conditions ensures your scenario stays accurate.

<Image src="https://files.readme.io/6760cdba94d0bcc6cd664a344105f5d5b7b37c7bb011b26ca4215f9da155d66b-check_condition_after_wait_node.png" alt="Condition nodes repeated after a wait node in a scenario flow." align="center" caption="Essential conditions repeated after a wait node to account for data changes." border={true} />

### Configure consent settings

When sending a marketing campaign, always configure the consent setting in the action node. For example, in the email or SMS/MMS node. Also, add a condition node to filter out customers who haven't given appropriate consent. This improves scenario security, reduces unnecessary suppressions, and prevents result distortion in A/B testing.

<Image src="https://files.readme.io/6359b01e484acb6ceab2467395309329ecd56d8393d1ff2859e060b81e6ae80d-consent_setting_and_condition.gif" alt="Animation showing consent setting configured in an action node alongside a condition node filtering customers without consent" align="center" width="60% " caption="Consent setting configured in the action node, with a condition node filtering out customers without consent." border={true} />

### Set frequency policies

Always set a [Frequency policy](https://documentation.bloomreach.com/engagement/docs/frequency-policy) on action nodes, especially for campaigns sent to real customers. Don't use the **Unlimited** frequency policy for real customers. Even for strictly transactional communication, set a limit. For example, a maximum of 1 communication per minute. Frequency policies prevent the same message from being sent to the same customer multiple times in a short period.

### Position A/B split nodes correctly

Place A/B split nodes as close to the action nodes as possible. Don't add further filtering after A/B split nodes — doing so can skew your [A/B test](https://documentation.bloomreach.com/engagement/docs/ab-tests) results.

<Image src="https://files.readme.io/2e53c32567150bc03281bc676ca1afae278719b685e8664d41b02aec4f9d8e58-B_test_node.png" alt="Scenario flow with an A/B split node positioned directly before the action nodes" align="center" caption="An A/B split node placed close to the action nodes." border={true} />

### Track scenario leavers

To identify where customers drop off your scenario, connect an **Add event** node to the relevant points in the flow. Track a custom event for those customers to pinpoint where they leave and take action if needed.

## Test and launch

### Check your scenario before starting

Review all nodes, filters, and settings thoroughly before starting a scenario. Go through the scenario multiple times, and if possible, have someone else review it too.

### Test your scenario thoroughly

[Test your scenario](https://documentation.bloomreach.com/engagement/docs/preview-the-scenario-flow-before-execution) before running it for real. Use the **Test** tab to preview how customers flow through the nodes based on your conditions. For complex scenarios, consider using "as live" email testing to verify accuracy.

### Monitor closely after launch

Thorough checking and testing don't always catch every issue. After starting a scenario, monitor it closely and run essential reports to confirm everything is working as expected.

## Ongoing maintenance

### Save your work frequently

Save your scenario regularly while building or editing it. This prevents data loss and ensures your changes are preserved.

To save, open your scenario and click **Save** in the top-right corner of the screen.

<Image src="https://files.readme.io/5fe361649c231221329d55f3021136fc5fe32c4a64f17e75ac8725544df528e3-Save_scenario.png" alt="Scenario editor with the Save button highlighted in the top-right corner" align="center" caption="The Save button in the scenario editor." border={true} />

### Check active scenarios regularly

Review your active scenarios regularly to confirm they're running as expected. If you notice issues, stop or adjust the scenario as needed.

### Archive old scenarios

Archive scenarios you no longer use to reduce clutter and keep your workspace organized.

To archive a scenario, go to **Campaigns** > **Scenarios**. Click the arrow to the right of the scenario you want to archive and select **Archive**.

<Image src="https://files.readme.io/cdbeda9823bfbd62ccb74f24fa914299cecddfccd85082ebcee7fdc6584d0ce5-archive_scenario.png" alt="Scenarios screen showing the Archive option in the dropdown menu next to a selected scenario" align="center" caption="Archiving a scenario from the Campaigns > Scenarios screen." border={true} />

### Add frequency limits

For almost every communication channel, add [frequency limits](https://documentation.bloomreach.com/engagement/docs/frequency-policy) to your scenario flow. These limits ensure customers receive a specific communication at most a set number of times within a defined period.

### Apply frequency limits to control groups

When running [A/B tests](https://documentation.bloomreach.com/engagement/docs/ab-tests), also exclude customers who previously fell into the control group based on your frequency limits. Ensure customers reach the same A/B split node at most a set number of times within a defined period.

## Troubleshoot scenarios

If something isn't working as expected, see [Troubleshoot scenarios](https://documentation.bloomreach.com/engagement/docs/troubleshoot-scenarios) for solutions to the most common configuration and performance issues.