From 422270308de74af20a0eef6eb64ae27390022bb6 Mon Sep 17 00:00:00 2001 From: pwseg Date: Wed, 21 May 2025 23:44:10 -0500 Subject: [PATCH 1/7] init --- src/engage/journeys/exit-rules.md | 11 +++++++++++ 1 file changed, 11 insertions(+) create mode 100644 src/engage/journeys/exit-rules.md diff --git a/src/engage/journeys/exit-rules.md b/src/engage/journeys/exit-rules.md new file mode 100644 index 0000000000..aef7dc49e0 --- /dev/null +++ b/src/engage/journeys/exit-rules.md @@ -0,0 +1,11 @@ +--- +title: Event-Triggered Journeys Exit Rules +plan: engage-foundations +--- + +Journey Exit Rules automatically remove users from a journey when certain conditions are met, helping you avoid sending irrelevant messages after a user takes actions like making a purchase or canceling a subscription. + +Exit Rules also reduce the need for complex branching by letting you define clear endpoints. + +> info "Public Beta" +> Event-Triggered Journeys is in public beta, and Segment is actively working on this feature. Some functionality may change before it becomes generally available. \ No newline at end of file From 07078621e11e19e98507479952a6b4f862dd832c Mon Sep 17 00:00:00 2001 From: pwseg Date: Wed, 21 May 2025 23:50:34 -0500 Subject: [PATCH 2/7] add setup section --- src/engage/journeys/exit-rules.md | 41 ++++++++++++++++++++++++++++++- 1 file changed, 40 insertions(+), 1 deletion(-) diff --git a/src/engage/journeys/exit-rules.md b/src/engage/journeys/exit-rules.md index aef7dc49e0..3f73af3f08 100644 --- a/src/engage/journeys/exit-rules.md +++ b/src/engage/journeys/exit-rules.md @@ -8,4 +8,43 @@ Journey Exit Rules automatically remove users from a journey when certain condit Exit Rules also reduce the need for complex branching by letting you define clear endpoints. > info "Public Beta" -> Event-Triggered Journeys is in public beta, and Segment is actively working on this feature. Some functionality may change before it becomes generally available. \ No newline at end of file +> Event-Triggered Journeys is in public beta, and Segment is actively working on this feature. Some functionality may change before it becomes generally available. + +## How exit rules work + +Segment continuously evaluates exit rules as users move through a journey. If a user performs an event that matches one of the configured rules, they exit immediately from their current step. + +You can optionally send a final event to a destination before the user exits. This lets you notify other downstream systems, like marketing or analytics platforms, about the exit. + +Exit rules don't wait for a profile to reach a specific step; they apply globally and override any normal progression through the journey. Once a user exits, they won't proceed to any additional steps. + +## Configuring exit rules + +You'll set up exit rules in the journey’s settings panel. By default, journeys don’t have any exit conditions, but you can choose to add up to five exit events. + +## Basic setup + +To get started, open your journey settings and look for the Exit Rules section. You’ll see two options: + +- **Users don't exit early** (default) +- **Exit when user performs events + +Choose the second option to begin defining exit conditions. + +### Adding exit events + +For each exit rule, choose the event that should trigger the exit. You can also apply filters to narrow down which versions of the event qualify. For example, you might exit only when a `Subscription_Cancelled` event includes `reason = churn`. + +You can optionally require that the exit event matches the same identifier used in the entry event. This helps tie the two together, like if a journey starts with a `Cart_Modified` event and should exit only when `Order_Purchased.cart_id` matches the same cart. + +Each exit rule must be mutually exclusive. + +### Destination sends (optional) + +You can configure a single destination to receive data when a user exits due to an exit rule. To do this: + +1. Enable **Send to destination before exit** in the exit rule setup. +2. Choose which exit events should trigger the send. +3. Define the payload using data from the entry event, exit event, and journy context (if available). + +Keep in mind that Segment only includes journey context collected before the exit event. The payload preview shows all possible fields, but the actual send includes only the data available at the time of exit. From 64ef1302b0b49c445a3246140ba85b0eb77c31b3 Mon Sep 17 00:00:00 2001 From: pwseg Date: Wed, 21 May 2025 23:53:30 -0500 Subject: [PATCH 3/7] best practices --- src/engage/journeys/exit-rules.md | 25 ++++++++++++++++++++++++- 1 file changed, 24 insertions(+), 1 deletion(-) diff --git a/src/engage/journeys/exit-rules.md b/src/engage/journeys/exit-rules.md index 3f73af3f08..ede25c19bd 100644 --- a/src/engage/journeys/exit-rules.md +++ b/src/engage/journeys/exit-rules.md @@ -47,4 +47,27 @@ You can configure a single destination to receive data when a user exits due to 2. Choose which exit events should trigger the send. 3. Define the payload using data from the entry event, exit event, and journy context (if available). -Keep in mind that Segment only includes journey context collected before the exit event. The payload preview shows all possible fields, but the actual send includes only the data available at the time of exit. +Segment only includes journey context collected before the exit event. The payload preview shows all possible fields, but the actual send includes only the data available at the time of exit. + +## Use cases + +Exit rules are helpful in journeys where a user might complete their goal before reaching the end. The following table shows some common scenarios where exit rules would be helpful: + +| Use case | Exit event | Notes | +| --------------------- | ----------------------------------------- | -------------------------------------------------------------------- | +| Cart abandonment | `Order_Purchased` with matching `cart_id` | Confirms the user completed checkout before follow-up messages | +| Trial conversion | `Subscription_Upgraded` with `account_id` | Ends the trial flow once the user becomes a paid customer | +| Appointment reminders | `Appointment_Cancelled` | Prevents reminders from going out after the appointment is canceled | +| Subscription renewal | `Renewal_Successful` with `user_id` | Exits the renewal reminder journey after the subscription is renewed | + + +## Best practices + +Follow these tips to make sure your exit rules behave as expected: + +- Make exit conditions specific. Use event property filters to avoid accidental exits. +- Match identifiers when needed. Tie entry and exit events together using a shared ID like `cart_id` or `account_id`. +- Use exit sends to notify other systems. This is helpful for syncing user state across tools. +- Review your rules before publishing. You can’t edit exit rules after the journey goes live. +- Check your analytics. Exit data can help you understand where users are dropping off and why. + From 6f83cd396f189a41214a55c7f7c79c0382a67e07 Mon Sep 17 00:00:00 2001 From: pwseg Date: Thu, 22 May 2025 00:01:58 -0500 Subject: [PATCH 4/7] more cleanup [netlify-build] --- src/engage/journeys/exit-rules.md | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/src/engage/journeys/exit-rules.md b/src/engage/journeys/exit-rules.md index ede25c19bd..03a9fb56a1 100644 --- a/src/engage/journeys/exit-rules.md +++ b/src/engage/journeys/exit-rules.md @@ -3,9 +3,9 @@ title: Event-Triggered Journeys Exit Rules plan: engage-foundations --- -Journey Exit Rules automatically remove users from a journey when certain conditions are met, helping you avoid sending irrelevant messages after a user takes actions like making a purchase or canceling a subscription. +Journey exit rules automatically remove users from a journey when they meet specific conditions, like completing a purchase or canceling a subscription. -Exit Rules also reduce the need for complex branching by letting you define clear endpoints. +This page explains how exit rules work, how to configure them, when to use them, and how to track exits in your journey analytics. You'll also find example use cases, best practices, and key behavior notes to help you get started. > info "Public Beta" > Event-Triggered Journeys is in public beta, and Segment is actively working on this feature. Some functionality may change before it becomes generally available. @@ -39,6 +39,9 @@ You can optionally require that the exit event matches the same identifier used Each exit rule must be mutually exclusive. +> success "Exit rules Analytics" +> You can track how exit rules are performing from the journey overview, which shows total exits per rule, and from individual step details, which show where users exited. + ### Destination sends (optional) You can configure a single destination to receive data when a user exits due to an exit rule. To do this: @@ -49,6 +52,9 @@ You can configure a single destination to receive data when a user exits due to Segment only includes journey context collected before the exit event. The payload preview shows all possible fields, but the actual send includes only the data available at the time of exit. +> info "Customize messages based on the exit event" +> You can only configure one destination send for all exit events, but the payload includes the exit event details. This means your destination can still adjust messaging based on which event triggered the exit. + ## Use cases Exit rules are helpful in journeys where a user might complete their goal before reaching the end. The following table shows some common scenarios where exit rules would be helpful: @@ -71,3 +77,9 @@ Follow these tips to make sure your exit rules behave as expected: - Review your rules before publishing. You can’t edit exit rules after the journey goes live. - Check your analytics. Exit data can help you understand where users are dropping off and why. +As you work with exit rules, keep the following in mind: + +- You can configure up to 5 exit events per journey. +- Journeys support only one destination send for exit events. +- You can’t edit exit rules after publishing the journey, so double-check them first. +- If an exit rule is triggered, it overrides all other steps. The user exits immediately, even if they’re mid-delay or hold. From f20421921945decccdb86eb54b5df220e6dc86d5 Mon Sep 17 00:00:00 2001 From: pwseg <86626706+pwseg@users.noreply.github.com> Date: Thu, 22 May 2025 14:51:58 -0500 Subject: [PATCH 5/7] Update src/engage/journeys/exit-rules.md Co-authored-by: rchinn1 <93161299+rchinn1@users.noreply.github.com> --- src/engage/journeys/exit-rules.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/engage/journeys/exit-rules.md b/src/engage/journeys/exit-rules.md index 03a9fb56a1..c6504fd6d4 100644 --- a/src/engage/journeys/exit-rules.md +++ b/src/engage/journeys/exit-rules.md @@ -27,7 +27,7 @@ You'll set up exit rules in the journey’s settings panel. By default, journeys To get started, open your journey settings and look for the Exit Rules section. You’ll see two options: - **Users don't exit early** (default) -- **Exit when user performs events +- **Exit when user performs events** Choose the second option to begin defining exit conditions. From 3e87fd81945320cd401568bb5c50e8f44ae7adf1 Mon Sep 17 00:00:00 2001 From: pwseg <86626706+pwseg@users.noreply.github.com> Date: Thu, 22 May 2025 14:52:06 -0500 Subject: [PATCH 6/7] Update src/engage/journeys/exit-rules.md Co-authored-by: rchinn1 <93161299+rchinn1@users.noreply.github.com> --- src/engage/journeys/exit-rules.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/engage/journeys/exit-rules.md b/src/engage/journeys/exit-rules.md index c6504fd6d4..24c6e7421d 100644 --- a/src/engage/journeys/exit-rules.md +++ b/src/engage/journeys/exit-rules.md @@ -48,7 +48,7 @@ You can configure a single destination to receive data when a user exits due to 1. Enable **Send to destination before exit** in the exit rule setup. 2. Choose which exit events should trigger the send. -3. Define the payload using data from the entry event, exit event, and journy context (if available). +3. Define the payload using data from the entry event, exit event, and journey context (if available). Segment only includes journey context collected before the exit event. The payload preview shows all possible fields, but the actual send includes only the data available at the time of exit. From c37d7e91d82266bf037bbf2bd7148384bc548aec Mon Sep 17 00:00:00 2001 From: pwseg <86626706+pwseg@users.noreply.github.com> Date: Thu, 22 May 2025 15:01:15 -0500 Subject: [PATCH 7/7] updates from PR review --- src/engage/journeys/exit-rules.md | 22 +++++++++------------- 1 file changed, 9 insertions(+), 13 deletions(-) diff --git a/src/engage/journeys/exit-rules.md b/src/engage/journeys/exit-rules.md index 24c6e7421d..5b2d21158c 100644 --- a/src/engage/journeys/exit-rules.md +++ b/src/engage/journeys/exit-rules.md @@ -24,12 +24,9 @@ You'll set up exit rules in the journey’s settings panel. By default, journeys ## Basic setup -To get started, open your journey settings and look for the Exit Rules section. You’ll see two options: +You’ll configure exit rules directly from the journey canvas. By default, journeys don’t have any exit conditions; users stay in the journey unless you explicitly define an exit rule. -- **Users don't exit early** (default) -- **Exit when user performs events** - -Choose the second option to begin defining exit conditions. +To add an exit rule, click **Exit rules** on the journey canvas. From there, you can select the event(s) that should trigger an exit and define optional property filters or matching conditions. ### Adding exit events @@ -48,7 +45,7 @@ You can configure a single destination to receive data when a user exits due to 1. Enable **Send to destination before exit** in the exit rule setup. 2. Choose which exit events should trigger the send. -3. Define the payload using data from the entry event, exit event, and journey context (if available). +3. Define the payload using data from the entry event, exit event, and journey context. Segment only includes journey context collected before the exit event. The payload preview shows all possible fields, but the actual send includes only the data available at the time of exit. @@ -59,12 +56,12 @@ Segment only includes journey context collected before the exit event. The paylo Exit rules are helpful in journeys where a user might complete their goal before reaching the end. The following table shows some common scenarios where exit rules would be helpful: -| Use case | Exit event | Notes | -| --------------------- | ----------------------------------------- | -------------------------------------------------------------------- | -| Cart abandonment | `Order_Purchased` with matching `cart_id` | Confirms the user completed checkout before follow-up messages | -| Trial conversion | `Subscription_Upgraded` with `account_id` | Ends the trial flow once the user becomes a paid customer | -| Appointment reminders | `Appointment_Cancelled` | Prevents reminders from going out after the appointment is canceled | -| Subscription renewal | `Renewal_Successful` with `user_id` | Exits the renewal reminder journey after the subscription is renewed | +| Use case | Exit event | Notes | +| --------------------- | --------------------------------------------- | -------------------------------------------------------------------- | +| Cart abandonment | `Order_Purchased` with matching `cart_id` | Confirms the user completed checkout before follow-up messages | +| Trial conversion | `Subscription_Upgraded` with `account_id` | Ends the trial flow once the user becomes a paid customer | +| Appointment reminders | `Appointment_Cancelled` with `appointment_id` | Prevents reminders from going out after the appointment is canceled | +| Subscription renewal | `Renewal_Successful` | Exits the renewal reminder journey after the subscription is renewed | ## Best practices @@ -81,5 +78,4 @@ As you work with exit rules, keep the following in mind: - You can configure up to 5 exit events per journey. - Journeys support only one destination send for exit events. -- You can’t edit exit rules after publishing the journey, so double-check them first. - If an exit rule is triggered, it overrides all other steps. The user exits immediately, even if they’re mid-delay or hold.