From 1ee9470482a499154476b448c9da4cc891a07dd1 Mon Sep 17 00:00:00 2001 From: pwseg Date: Tue, 29 Oct 2024 19:36:22 -0500 Subject: [PATCH 01/20] add structure and first few sections --- .../journeys/event-triggered-journeys.md | 43 +++++++++++++++++++ 1 file changed, 43 insertions(+) create mode 100644 src/engage/journeys/event-triggered-journeys.md diff --git a/src/engage/journeys/event-triggered-journeys.md b/src/engage/journeys/event-triggered-journeys.md new file mode 100644 index 0000000000..8b152fbb0e --- /dev/null +++ b/src/engage/journeys/event-triggered-journeys.md @@ -0,0 +1,43 @@ +--- +title: Event-Triggered Journeys +plan: engage-foundations +--- + +With Event-triggered Journeys, you can build real-time, event-based marketing workflows to automate and personalize customer journeys. + +Unlike traditional audience-based journeys that rely on pre-defined user segments, these journeys start automatically when users perform specific actions on your website or app. + +On this page, you'll learn how to create an Event-triggered Journey, configure entry conditions, and apply best practices. + +## Overview + +Event-triggered Journeys help you create a responsive approach for time-sensitive use cases, like cart abandonment campaigns and transactional messages. Where audience-based journeys activate based on aggregated conditions, Event-triggered Journeys respond instantly to individual events, delivering personalized experiences based on the full context of each event. + +Opt for an event-triggered journey in situations like these: + +- When campaigns require real-time action in response to user behavior. +- For transactional messages (like receipts and confirmations) that require specific event-based triggers. +- In abandonment campaigns where a follow-up is needed if a corresponding completion event doesn’t occur. + +## Build an Event-triggered Journey + +Before you begin building an Event-triggered Journey, make sure that: + +- You've enabled all [destinations](/docs/connections/destinations/) intended for event delivery in [Connections](/docs/connections/). +- The events you want to use as triggers are already available in your Segment workspace. + +To set up an Event-triggered Journey: + +1. In your Segment workspace, navigate to **Engage > Journeys**, then click **+ Create journey**. +2. On the **Create journey** page, select **User performs an event**, then click **Next**. +3. Give your new journey a name and, optionally, a description. +4. Select entry event: + - Choose the event that will trigger user entry into the journey. + - (Optional:) Apply filters based on event property values to refine entry conditions. For example, enter only if `{property} = value A, value B, or value C`. +5. Configure entry rules: + - **Re-enter every time event occurs** (default): Users enter the journey each time they trigger the specified event. + - **Enter one time**: Users enter the journey once only, regardless of repeated event triggers. +6. **If you chose Re-enter every time event occurs in Step 5**, select a unique identifier. +7. Configure event delivery to destinations by selecting a destination or setting up a custom destination function. +8. Preview the contextual payload that Segment will send to your destination(s). +9. After you've finished setting up your journey, click **Publish**, then click **Publish** again in the popup. \ No newline at end of file From 787575c14b1d6901e37a78006d10dc529ba75d47 Mon Sep 17 00:00:00 2001 From: pwseg Date: Tue, 29 Oct 2024 20:00:39 -0500 Subject: [PATCH 02/20] add information on unique identifiers --- src/engage/journeys/event-triggered-journeys.md | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) diff --git a/src/engage/journeys/event-triggered-journeys.md b/src/engage/journeys/event-triggered-journeys.md index 8b152fbb0e..cbd1fa01df 100644 --- a/src/engage/journeys/event-triggered-journeys.md +++ b/src/engage/journeys/event-triggered-journeys.md @@ -37,7 +37,20 @@ To set up an Event-triggered Journey: 5. Configure entry rules: - **Re-enter every time event occurs** (default): Users enter the journey each time they trigger the specified event. - **Enter one time**: Users enter the journey once only, regardless of repeated event triggers. -6. **If you chose Re-enter every time event occurs in Step 5**, select a unique identifier. +6. **If you chose Re-enter every time event occurs in Step 5**, select a [unique identifier](#unique-identifiers). 7. Configure event delivery to destinations by selecting a destination or setting up a custom destination function. 8. Preview the contextual payload that Segment will send to your destination(s). -9. After you've finished setting up your journey, click **Publish**, then click **Publish** again in the popup. \ No newline at end of file +9. After you've finished setting up your journey, click **Publish**, then click **Publish** again in the popup. + +## Working with Event-trigged Journeys + +#### Unique identifiers + +Unique identifiers in Event-triggered Journeys help you manage multiple journey instances when a user triggers the same event more than once. + +You can configure unique identifiers if you select **Re-enter every time event occurs** when you create an event-triggered journey. Choose an event property as the unique identifier to ensure downstream events link back to the right journey instance. + +By defining an identifier, you ensure that follow-up events within the journey get matched to the correct instance, preserving context for tracking and personalization. + +For example, in an abandonment journey, suppose a user starts two applications (like `application_started`), each with a different `application_id`. By setting `application_id` as the unique identifier, Segment can match follow-up events (like `application_completed`) to the correct application journey. This way, each journey instance only receives the completion event for its specific application. + From 61cd860ad4acbf808c7474945a8c2e4666f03183 Mon Sep 17 00:00:00 2001 From: pwseg Date: Tue, 29 Oct 2024 20:10:13 -0500 Subject: [PATCH 03/20] rephrase additional configuration options section --- src/engage/journeys/event-triggered-journeys.md | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/src/engage/journeys/event-triggered-journeys.md b/src/engage/journeys/event-triggered-journeys.md index cbd1fa01df..23edf99f43 100644 --- a/src/engage/journeys/event-triggered-journeys.md +++ b/src/engage/journeys/event-triggered-journeys.md @@ -42,7 +42,9 @@ To set up an Event-triggered Journey: 8. Preview the contextual payload that Segment will send to your destination(s). 9. After you've finished setting up your journey, click **Publish**, then click **Publish** again in the popup. -## Working with Event-trigged Journeys +### Journey setup configuration options + +Event-triggered Journeys includes advanced options to help you tailor journey behavior and customize data delivery to downstream destinations. #### Unique identifiers @@ -54,3 +56,8 @@ By defining an identifier, you ensure that follow-up events within the journey g For example, in an abandonment journey, suppose a user starts two applications (like `application_started`), each with a different `application_id`. By setting `application_id` as the unique identifier, Segment can match follow-up events (like `application_completed`) to the correct application journey. This way, each journey instance only receives the completion event for its specific application. +#### Set data to downstream destinations + +Event-triggered Journeys lets you send journey data to designated destinations, facilitating real-time, personalized messaging. Event-triggered Journeys supports the [Braze Actions](/docs/connections/destinations/catalog/actions-braze-cloud/), [Customer.io Actions](/docs/connections/destinations/catalog/actions-customerio/), and [Iterable Actions](/docs/connections/destinations/catalog/actions-iterable/) destinations. + +For other destinations, you can use [Destination Functions](/docs/connections/functions/destination-functions/) to run additional logic, like enriching with Profile API traits or filtering the payload. \ No newline at end of file From faa58b48c5a0c4a1cf34438cc8803c0aa990325c Mon Sep 17 00:00:00 2001 From: pwseg Date: Tue, 29 Oct 2024 22:00:13 -0500 Subject: [PATCH 04/20] some cleanup --- .../journeys/event-triggered-journeys.md | 27 +++++++++++++------ 1 file changed, 19 insertions(+), 8 deletions(-) diff --git a/src/engage/journeys/event-triggered-journeys.md b/src/engage/journeys/event-triggered-journeys.md index 23edf99f43..0d3a7f9223 100644 --- a/src/engage/journeys/event-triggered-journeys.md +++ b/src/engage/journeys/event-triggered-journeys.md @@ -11,7 +11,9 @@ On this page, you'll learn how to create an Event-triggered Journey, configure e ## Overview -Event-triggered Journeys help you create a responsive approach for time-sensitive use cases, like cart abandonment campaigns and transactional messages. Where audience-based journeys activate based on aggregated conditions, Event-triggered Journeys respond instantly to individual events, delivering personalized experiences based on the full context of each event. +Event-triggered Journeys help you create a responsive approach for time-sensitive use cases, like cart abandonment campaigns and transactional messages. + +Where [audience-based journeys](/docs/engage/journeys/build-journey/) activate based on aggregated conditions, Event-triggered Journeys respond instantly to individual events, delivering personalized experiences based on the full context of each event. Opt for an event-triggered journey in situations like these: @@ -21,10 +23,8 @@ Opt for an event-triggered journey in situations like these: ## Build an Event-triggered Journey -Before you begin building an Event-triggered Journey, make sure that: - -- You've enabled all [destinations](/docs/connections/destinations/) intended for event delivery in [Connections](/docs/connections/). -- The events you want to use as triggers are already available in your Segment workspace. +> info "Before you begin" +> Before you start building an event-triggered journey, make sure that you've enabled all [destinations](/docs/connections/destinations/) you plan to send data to, and that the events you want to use as triggers are already available in your Segment workspace. To set up an Event-triggered Journey: @@ -56,8 +56,19 @@ By defining an identifier, you ensure that follow-up events within the journey g For example, in an abandonment journey, suppose a user starts two applications (like `application_started`), each with a different `application_id`. By setting `application_id` as the unique identifier, Segment can match follow-up events (like `application_completed`) to the correct application journey. This way, each journey instance only receives the completion event for its specific application. -#### Set data to downstream destinations +#### Send data to downstream destinations + +Event-triggered Journeys lets you send journey data to supported destinations, facilitating real-time, personalized messaging. Event-triggered Journeys supports the [Braze Actions](/docs/connections/destinations/catalog/actions-braze-cloud/), [Customer.io Actions](/docs/connections/destinations/catalog/actions-customerio/), and [Iterable Actions](/docs/connections/destinations/catalog/actions-iterable/) destinations. + +For other destinations, you can use [Destination Functions](/docs/connections/functions/destination-functions/) to run additional logic, like enriching with [Profile API traits](/docs/unify/profile-api/) or filtering the payload. + +## Working with Event-triggered Journeys -Event-triggered Journeys lets you send journey data to designated destinations, facilitating real-time, personalized messaging. Event-triggered Journeys supports the [Braze Actions](/docs/connections/destinations/catalog/actions-braze-cloud/), [Customer.io Actions](/docs/connections/destinations/catalog/actions-customerio/), and [Iterable Actions](/docs/connections/destinations/catalog/actions-iterable/) destinations. +Segment built Event-triggered Journeys to respond instantly to events, offering real-time capabilities with a few considerations in mind. -For other destinations, you can use [Destination Functions](/docs/connections/functions/destination-functions/) to run additional logic, like enriching with Profile API traits or filtering the payload. \ No newline at end of file +- **Entry event requirements**: The entry event you use must already exist in your Segment workspace for it to appear as a selection in journey setup. Make sure that you've already created the event before setting up your journey. +- **Event property filters**: You can filter event properties using the `equals` or `equals any of` operators. When you apply multiple conditions, filters operate with `AND` logic, meaning all conditions must be true for the event to trigger entry into the journey. +- **Audience filtering**: You can only use active, pre-existing audience records as filters. For more complex filtering, like specific profile traits or multiple audiences, first [create the audience](/docs/engage/audiences/#building-an-audience) in **Engage > Audiences**, then apply it as a filter once it’s live. +- **Destination options**: While Event-triggered Journeys support several actions-based destinations (like Braze, Customer.io, and Iterable) you can only add one destination for each journey instance. For other destinations, use a Destination Function to apply custom logic to the payload. +- **Event payload structure**: The event payload sent to destinations includes a unique computation key to track each journey instance. Segment automatically generates this key for each entry, ensuring data integrity for personalization +- **Editing and versioning**: After you publish an event-triggered journey, you won't be able to edit it. To modify a journey, create a new journey. \ No newline at end of file From 062128c842d5e68576f7977292eda7e6a1701048 Mon Sep 17 00:00:00 2001 From: pwseg Date: Tue, 29 Oct 2024 22:02:34 -0500 Subject: [PATCH 05/20] real-time delivery blurb --- src/engage/journeys/event-triggered-journeys.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/engage/journeys/event-triggered-journeys.md b/src/engage/journeys/event-triggered-journeys.md index 0d3a7f9223..f37761e8b4 100644 --- a/src/engage/journeys/event-triggered-journeys.md +++ b/src/engage/journeys/event-triggered-journeys.md @@ -71,4 +71,5 @@ Segment built Event-triggered Journeys to respond instantly to events, offering - **Audience filtering**: You can only use active, pre-existing audience records as filters. For more complex filtering, like specific profile traits or multiple audiences, first [create the audience](/docs/engage/audiences/#building-an-audience) in **Engage > Audiences**, then apply it as a filter once it’s live. - **Destination options**: While Event-triggered Journeys support several actions-based destinations (like Braze, Customer.io, and Iterable) you can only add one destination for each journey instance. For other destinations, use a Destination Function to apply custom logic to the payload. - **Event payload structure**: The event payload sent to destinations includes a unique computation key to track each journey instance. Segment automatically generates this key for each entry, ensuring data integrity for personalization -- **Editing and versioning**: After you publish an event-triggered journey, you won't be able to edit it. To modify a journey, create a new journey. \ No newline at end of file +- **Editing and versioning**: After you publish an event-triggered journey, you won't be able to edit it. To modify a journey, create a new journey. +- **Real-time delivery**: Event-triggered Journeys aim for an expected delivery time of under 5 minutes from the moment an event occurs to when the payload reaches the destination. However, external factors outside of Segment's control may occasionally introduce latency. \ No newline at end of file From 748ad9272549a20aadd5631aaf5af89e9937d229 Mon Sep 17 00:00:00 2001 From: pwseg Date: Tue, 29 Oct 2024 22:11:07 -0500 Subject: [PATCH 06/20] add best practices table --- src/engage/journeys/event-triggered-journeys.md | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/src/engage/journeys/event-triggered-journeys.md b/src/engage/journeys/event-triggered-journeys.md index f37761e8b4..7789528093 100644 --- a/src/engage/journeys/event-triggered-journeys.md +++ b/src/engage/journeys/event-triggered-journeys.md @@ -62,6 +62,19 @@ Event-triggered Journeys lets you send journey data to supported destinations, f For other destinations, you can use [Destination Functions](/docs/connections/functions/destination-functions/) to run additional logic, like enriching with [Profile API traits](/docs/unify/profile-api/) or filtering the payload. +## Best practices + +Follow the best practices in this table to optimize your Event-triggered Journeys: + +| Recommendation | Details | +| --------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| Use specific event filters | When you configure entry events, apply precise filters based on event property values to refine which users enter the journey. This helps target specific user actions and improves the journey's relevance. | +| Use unique identifiers | If a journey allows users to enter multiple times, set a unique identifier to track each instance accurately. Using an identifier like `application_id` ensures that follow-up events stay associated with the right journey instance. | +| Limit personal identifiable information | Stay compliant and respect user privacy by not including any sensitive or personal identifiable information (PII) data in journey conditions and destinations. | +| Preview payloads before publishing | Review the journey payload to verify that it includes all necessary context from the triggering event. This helps confirm that the data reaching destinations matches your campaign needs. | +| Test journey after publishing | Consider setting up a live test right after publishing to confirm that the journey behaves as expected and that data flows correctly to destinations. | + + ## Working with Event-triggered Journeys Segment built Event-triggered Journeys to respond instantly to events, offering real-time capabilities with a few considerations in mind. From e0766c360d134430a501d9d10bf8a0913d9733c0 Mon Sep 17 00:00:00 2001 From: pwseg Date: Tue, 29 Oct 2024 22:18:17 -0500 Subject: [PATCH 07/20] add use cases section --- .../journeys/event-triggered-journeys.md | 22 ++++++++++++++++++- 1 file changed, 21 insertions(+), 1 deletion(-) diff --git a/src/engage/journeys/event-triggered-journeys.md b/src/engage/journeys/event-triggered-journeys.md index 7789528093..f56c96d3f7 100644 --- a/src/engage/journeys/event-triggered-journeys.md +++ b/src/engage/journeys/event-triggered-journeys.md @@ -85,4 +85,24 @@ Segment built Event-triggered Journeys to respond instantly to events, offering - **Destination options**: While Event-triggered Journeys support several actions-based destinations (like Braze, Customer.io, and Iterable) you can only add one destination for each journey instance. For other destinations, use a Destination Function to apply custom logic to the payload. - **Event payload structure**: The event payload sent to destinations includes a unique computation key to track each journey instance. Segment automatically generates this key for each entry, ensuring data integrity for personalization - **Editing and versioning**: After you publish an event-triggered journey, you won't be able to edit it. To modify a journey, create a new journey. -- **Real-time delivery**: Event-triggered Journeys aim for an expected delivery time of under 5 minutes from the moment an event occurs to when the payload reaches the destination. However, external factors outside of Segment's control may occasionally introduce latency. \ No newline at end of file +- **Real-time delivery**: Event-triggered Journeys aim for an expected delivery time of under 5 minutes from the moment an event occurs to when the payload reaches the destination. However, external factors outside of Segment's control may occasionally introduce latency. + +## Use Cases + +Event-triggered Journeys can power a variety of real-time, personalized experiences. This section details some common scenarios to help you see how they might work in practice. + +### Real-time event forwarding + +Suppose you want to instantly send a personalized message whenever a user completes a specific action on your site, like filling out a form or subscribing to a service. With Event-triggered Journeys, you can configure the journey to trigger each time this entry event occurs. Segment will forward the event data, including all relevant details, to your connected destination in real-time. + +### Real-time abandonment Campaigns + +Imagine you’re running an e-commerce site and want to follow up with users who start the checkout process but don’t complete it within a certain timeframe. You can create an Event-triggered Journey to watch for abandonment cases like these. + +Start by setting the `checkout_started` event as the trigger and specify a unique identifier like `session_id` to track each user’s journey instance. Then, configure the journey to check for the `purchase_completed` event within a defined window (for example, 1 hour). If the user doesn’t complete the purchase, the journey can automatically send a nudge to encourage them to finish their order. + +### Personalized follow-up Messages + +Say you want to follow up with users after they engage with specific content, like downloading an e-book or watching a demo video. Event-triggered Journeys can help you send timely, personalized messages based on these interactions. + +To do this, set the entry event to `content_downloaded` or `video_watched` and configure the journey to send a follow-up email. You could even personalize the email with details from the triggering event, like the content title or timestamp, by configuring your Destination Function to enrich the message with event-specific context. \ No newline at end of file From f0e45d243045d1c4b440fe13f89bde38950da779 Mon Sep 17 00:00:00 2001 From: pwseg Date: Tue, 29 Oct 2024 23:04:57 -0500 Subject: [PATCH 08/20] add beta callout [netlify-build] --- src/engage/journeys/event-triggered-journeys.md | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/engage/journeys/event-triggered-journeys.md b/src/engage/journeys/event-triggered-journeys.md index f56c96d3f7..1e87a00de6 100644 --- a/src/engage/journeys/event-triggered-journeys.md +++ b/src/engage/journeys/event-triggered-journeys.md @@ -9,6 +9,9 @@ Unlike traditional audience-based journeys that rely on pre-defined user segment On this page, you'll learn how to create an Event-triggered Journey, configure entry conditions, and apply best practices. +> info "Event-Triggered Journeys is in 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. + ## Overview Event-triggered Journeys help you create a responsive approach for time-sensitive use cases, like cart abandonment campaigns and transactional messages. From 995d1a6d5f964d50558d4192ce9ba8109e6c3c61 Mon Sep 17 00:00:00 2001 From: pwseg Date: Wed, 30 Oct 2024 17:55:25 -0500 Subject: [PATCH 09/20] Add hidden flag --- src/engage/journeys/event-triggered-journeys.md | 1 + 1 file changed, 1 insertion(+) diff --git a/src/engage/journeys/event-triggered-journeys.md b/src/engage/journeys/event-triggered-journeys.md index 1e87a00de6..0bfd38705a 100644 --- a/src/engage/journeys/event-triggered-journeys.md +++ b/src/engage/journeys/event-triggered-journeys.md @@ -1,6 +1,7 @@ --- title: Event-Triggered Journeys plan: engage-foundations +hidden: true --- With Event-triggered Journeys, you can build real-time, event-based marketing workflows to automate and personalize customer journeys. From ca2467a06a7652fa9acaa67644faf6209709965f Mon Sep 17 00:00:00 2001 From: pwseg Date: Wed, 30 Oct 2024 17:56:09 -0500 Subject: [PATCH 10/20] private not public beta --- src/engage/journeys/event-triggered-journeys.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/engage/journeys/event-triggered-journeys.md b/src/engage/journeys/event-triggered-journeys.md index 0bfd38705a..4954c79e36 100644 --- a/src/engage/journeys/event-triggered-journeys.md +++ b/src/engage/journeys/event-triggered-journeys.md @@ -10,8 +10,8 @@ Unlike traditional audience-based journeys that rely on pre-defined user segment On this page, you'll learn how to create an Event-triggered Journey, configure entry conditions, and apply best practices. -> info "Event-Triggered Journeys is in 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. +> info "Event-Triggered Journeys is in Private Beta" +> Event-Triggered Journeys is in private beta, and Segment is actively working on this feature. Some functionality may change before it becomes generally available. ## Overview From 68b7c6ac8f09e4837528702c320c50f05645ef87 Mon Sep 17 00:00:00 2001 From: pwseg Date: Wed, 30 Oct 2024 17:59:07 -0500 Subject: [PATCH 11/20] add optional audience filter to setup instructions --- src/engage/journeys/event-triggered-journeys.md | 1 + 1 file changed, 1 insertion(+) diff --git a/src/engage/journeys/event-triggered-journeys.md b/src/engage/journeys/event-triggered-journeys.md index 4954c79e36..5d67bc3c3d 100644 --- a/src/engage/journeys/event-triggered-journeys.md +++ b/src/engage/journeys/event-triggered-journeys.md @@ -37,6 +37,7 @@ To set up an Event-triggered Journey: 3. Give your new journey a name and, optionally, a description. 4. Select entry event: - Choose the event that will trigger user entry into the journey. + - (Optional:) Use an audience filter to restrict entry to users who are already part of a specific audience. - (Optional:) Apply filters based on event property values to refine entry conditions. For example, enter only if `{property} = value A, value B, or value C`. 5. Configure entry rules: - **Re-enter every time event occurs** (default): Users enter the journey each time they trigger the specified event. From 321b9a6874a2bd4647974c848d58f733d9bad45b Mon Sep 17 00:00:00 2001 From: pwseg Date: Wed, 30 Oct 2024 18:02:40 -0500 Subject: [PATCH 12/20] clarify unique identifiers info --- src/engage/journeys/event-triggered-journeys.md | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/engage/journeys/event-triggered-journeys.md b/src/engage/journeys/event-triggered-journeys.md index 5d67bc3c3d..d7caa5dc41 100644 --- a/src/engage/journeys/event-triggered-journeys.md +++ b/src/engage/journeys/event-triggered-journeys.md @@ -55,9 +55,10 @@ Event-triggered Journeys includes advanced options to help you tailor journey be Unique identifiers in Event-triggered Journeys help you manage multiple journey instances when a user triggers the same event more than once. -You can configure unique identifiers if you select **Re-enter every time event occurs** when you create an event-triggered journey. Choose an event property as the unique identifier to ensure downstream events link back to the right journey instance. +When you select **Re-enter every time event occurs** when you create an event-triggered journey, you can choose an event property as a unique identifier. Selecting this option does two things: -By defining an identifier, you ensure that follow-up events within the journey get matched to the correct instance, preserving context for tracking and personalization. +- It creates a separate journey instance for each unique identifier value, allowing multiple instances to run in parallel for the same user. +- It ensures that any follow-up events link back to the right journey instance, preserving context for tracking and personalization. For example, in an abandonment journey, suppose a user starts two applications (like `application_started`), each with a different `application_id`. By setting `application_id` as the unique identifier, Segment can match follow-up events (like `application_completed`) to the correct application journey. This way, each journey instance only receives the completion event for its specific application. From 460fcac99c113be40e3a196187c8e3ea080fc09d Mon Sep 17 00:00:00 2001 From: pwseg Date: Wed, 30 Oct 2024 18:05:16 -0500 Subject: [PATCH 13/20] remove PII guidance --- src/engage/journeys/event-triggered-journeys.md | 1 - 1 file changed, 1 deletion(-) diff --git a/src/engage/journeys/event-triggered-journeys.md b/src/engage/journeys/event-triggered-journeys.md index d7caa5dc41..6249e41c25 100644 --- a/src/engage/journeys/event-triggered-journeys.md +++ b/src/engage/journeys/event-triggered-journeys.md @@ -76,7 +76,6 @@ Follow the best practices in this table to optimize your Event-triggered Journey | --------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | Use specific event filters | When you configure entry events, apply precise filters based on event property values to refine which users enter the journey. This helps target specific user actions and improves the journey's relevance. | | Use unique identifiers | If a journey allows users to enter multiple times, set a unique identifier to track each instance accurately. Using an identifier like `application_id` ensures that follow-up events stay associated with the right journey instance. | -| Limit personal identifiable information | Stay compliant and respect user privacy by not including any sensitive or personal identifiable information (PII) data in journey conditions and destinations. | | Preview payloads before publishing | Review the journey payload to verify that it includes all necessary context from the triggering event. This helps confirm that the data reaching destinations matches your campaign needs. | | Test journey after publishing | Consider setting up a live test right after publishing to confirm that the journey behaves as expected and that data flows correctly to destinations. | From 17e5cbb43dcb102280a008e17181181d3a60c91d Mon Sep 17 00:00:00 2001 From: pwseg Date: Wed, 30 Oct 2024 18:08:36 -0500 Subject: [PATCH 14/20] clarify real-time delivery bullet --- src/engage/journeys/event-triggered-journeys.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/engage/journeys/event-triggered-journeys.md b/src/engage/journeys/event-triggered-journeys.md index 6249e41c25..2494385fa1 100644 --- a/src/engage/journeys/event-triggered-journeys.md +++ b/src/engage/journeys/event-triggered-journeys.md @@ -88,9 +88,9 @@ Segment built Event-triggered Journeys to respond instantly to events, offering - **Event property filters**: You can filter event properties using the `equals` or `equals any of` operators. When you apply multiple conditions, filters operate with `AND` logic, meaning all conditions must be true for the event to trigger entry into the journey. - **Audience filtering**: You can only use active, pre-existing audience records as filters. For more complex filtering, like specific profile traits or multiple audiences, first [create the audience](/docs/engage/audiences/#building-an-audience) in **Engage > Audiences**, then apply it as a filter once it’s live. - **Destination options**: While Event-triggered Journeys support several actions-based destinations (like Braze, Customer.io, and Iterable) you can only add one destination for each journey instance. For other destinations, use a Destination Function to apply custom logic to the payload. -- **Event payload structure**: The event payload sent to destinations includes a unique computation key to track each journey instance. Segment automatically generates this key for each entry, ensuring data integrity for personalization +- **Event payload structure**: Each payload sent to a destination includes a unique key to identify the specific send step within the journey, rather than the journey instance itself. You can also set a custom event name to make it easier to identify the specific event instance you want to track in your destination. - **Editing and versioning**: After you publish an event-triggered journey, you won't be able to edit it. To modify a journey, create a new journey. -- **Real-time delivery**: Event-triggered Journeys aim for an expected delivery time of under 5 minutes from the moment an event occurs to when the payload reaches the destination. However, external factors outside of Segment's control may occasionally introduce latency. +- **Real-time delivery**: Event-triggered Journeys aim for an expected delivery time of under 5 minutes from the moment an event is performed to when the payload reaches the destination, assuming there is no delay step in the journey. However, external factors outside of Segment's control may occasionally introduce latency. ## Use Cases From 8869f4eef307f6ed51c037f4d81fccf5351e896e Mon Sep 17 00:00:00 2001 From: pwseg Date: Wed, 30 Oct 2024 18:10:41 -0500 Subject: [PATCH 15/20] update use case info --- src/engage/journeys/event-triggered-journeys.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/engage/journeys/event-triggered-journeys.md b/src/engage/journeys/event-triggered-journeys.md index 2494385fa1..cfdcc6d6a2 100644 --- a/src/engage/journeys/event-triggered-journeys.md +++ b/src/engage/journeys/event-triggered-journeys.md @@ -110,4 +110,4 @@ Start by setting the `checkout_started` event as the trigger and specify a uniqu Say you want to follow up with users after they engage with specific content, like downloading an e-book or watching a demo video. Event-triggered Journeys can help you send timely, personalized messages based on these interactions. -To do this, set the entry event to `content_downloaded` or `video_watched` and configure the journey to send a follow-up email. You could even personalize the email with details from the triggering event, like the content title or timestamp, by configuring your Destination Function to enrich the message with event-specific context. \ No newline at end of file +To do this, set the entry event to `content_downloaded` or `video_watched` and configure the journey to send a follow-up email. You could even personalize the email with details from the triggering event, like the content title or timestamp, by configuring your destination payload to enrich the message with event-specific context. \ No newline at end of file From 310782f1532691d640f7e61a0ff08125899403e7 Mon Sep 17 00:00:00 2001 From: pwseg Date: Wed, 30 Oct 2024 18:11:53 -0500 Subject: [PATCH 16/20] Add Actions link --- src/engage/journeys/event-triggered-journeys.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/engage/journeys/event-triggered-journeys.md b/src/engage/journeys/event-triggered-journeys.md index cfdcc6d6a2..b3b4d63732 100644 --- a/src/engage/journeys/event-triggered-journeys.md +++ b/src/engage/journeys/event-triggered-journeys.md @@ -87,8 +87,8 @@ Segment built Event-triggered Journeys to respond instantly to events, offering - **Entry event requirements**: The entry event you use must already exist in your Segment workspace for it to appear as a selection in journey setup. Make sure that you've already created the event before setting up your journey. - **Event property filters**: You can filter event properties using the `equals` or `equals any of` operators. When you apply multiple conditions, filters operate with `AND` logic, meaning all conditions must be true for the event to trigger entry into the journey. - **Audience filtering**: You can only use active, pre-existing audience records as filters. For more complex filtering, like specific profile traits or multiple audiences, first [create the audience](/docs/engage/audiences/#building-an-audience) in **Engage > Audiences**, then apply it as a filter once it’s live. -- **Destination options**: While Event-triggered Journeys support several actions-based destinations (like Braze, Customer.io, and Iterable) you can only add one destination for each journey instance. For other destinations, use a Destination Function to apply custom logic to the payload. -- **Event payload structure**: Each payload sent to a destination includes a unique key to identify the specific send step within the journey, rather than the journey instance itself. You can also set a custom event name to make it easier to identify the specific event instance you want to track in your destination. +- **Destination options**: While Event-triggered Journeys support several [actions-based destinations](/docs/connections/destinations/actions/) (like Braze, Customer.io, and Iterable) you can only add one destination for each journey instance. For other destinations, use a Destination Function to apply custom logic to the payload. +- **Event payload structure**: Each payloadd sent to a destination includes a unique key to identify the specific send step within the journey, rather than the journey instance itself. You can also set a custom event name to make it easier to identify the specific event instance you want to track in your destination. - **Editing and versioning**: After you publish an event-triggered journey, you won't be able to edit it. To modify a journey, create a new journey. - **Real-time delivery**: Event-triggered Journeys aim for an expected delivery time of under 5 minutes from the moment an event is performed to when the payload reaches the destination, assuming there is no delay step in the journey. However, external factors outside of Segment's control may occasionally introduce latency. From 775d467eb60ba77cb23b03a7abdc692d3f3516e4 Mon Sep 17 00:00:00 2001 From: pwseg Date: Wed, 30 Oct 2024 18:29:07 -0500 Subject: [PATCH 17/20] final cleanup [netlify-build] --- .../journeys/event-triggered-journeys.md | 48 +++++++++---------- 1 file changed, 24 insertions(+), 24 deletions(-) diff --git a/src/engage/journeys/event-triggered-journeys.md b/src/engage/journeys/event-triggered-journeys.md index b3b4d63732..4600a05551 100644 --- a/src/engage/journeys/event-triggered-journeys.md +++ b/src/engage/journeys/event-triggered-journeys.md @@ -4,20 +4,20 @@ plan: engage-foundations hidden: true --- -With Event-triggered Journeys, you can build real-time, event-based marketing workflows to automate and personalize customer journeys. +With Event-Triggered Journeys, you can build real-time, event-based marketing workflows to automate and personalize customer journeys. -Unlike traditional audience-based journeys that rely on pre-defined user segments, these journeys start automatically when users perform specific actions on your website or app. +Unlike traditional audience-based journeys that rely on pre-defined user segments, event-triggered journeys start automatically when users perform specific actions on your website or app. -On this page, you'll learn how to create an Event-triggered Journey, configure entry conditions, and apply best practices. +On this page, you'll learn how to create an event-triggered journey, configure entry conditions, and work with published event-triggered journeys. -> info "Event-Triggered Journeys is in Private Beta" +> info "Event-Triggered Journeys Private Beta" > Event-Triggered Journeys is in private beta, and Segment is actively working on this feature. Some functionality may change before it becomes generally available. ## Overview -Event-triggered Journeys help you create a responsive approach for time-sensitive use cases, like cart abandonment campaigns and transactional messages. +Event-triggered journeys help you create a responsive approach for time-sensitive use cases, like cart abandonment campaigns and transactional messages. -Where [audience-based journeys](/docs/engage/journeys/build-journey/) activate based on aggregated conditions, Event-triggered Journeys respond instantly to individual events, delivering personalized experiences based on the full context of each event. +Where [audience-based journeys](/docs/engage/journeys/build-journey/) activate based on aggregated conditions, event-triggered journeys respond instantly to individual events, delivering personalized experiences based on the full context of each event. Opt for an event-triggered journey in situations like these: @@ -25,12 +25,12 @@ Opt for an event-triggered journey in situations like these: - For transactional messages (like receipts and confirmations) that require specific event-based triggers. - In abandonment campaigns where a follow-up is needed if a corresponding completion event doesn’t occur. -## Build an Event-triggered Journey +## Build an event-triggered journey > info "Before you begin" -> Before you start building an event-triggered journey, make sure that you've enabled all [destinations](/docs/connections/destinations/) you plan to send data to, and that the events you want to use as triggers are already available in your Segment workspace. +> Before you start building an event-triggered journey, make sure that you've enabled all [destinations](/docs/connections/destinations/) you plan to send data to and that the events you want to use as triggers are already available in your Segment workspace. -To set up an Event-triggered Journey: +To set up an event-triggered journey: 1. In your Segment workspace, navigate to **Engage > Journeys**, then click **+ Create journey**. 2. On the **Create journey** page, select **User performs an event**, then click **Next**. @@ -49,28 +49,28 @@ To set up an Event-triggered Journey: ### Journey setup configuration options -Event-triggered Journeys includes advanced options to help you tailor journey behavior and customize data delivery to downstream destinations. +Event-Triggered Journeys includes advanced options to help you tailor journey behavior and customize data delivery to downstream destinations. #### Unique identifiers -Unique identifiers in Event-triggered Journeys help you manage multiple journey instances when a user triggers the same event more than once. +Unique identifiers in event-triggered journeys help you manage multiple journey instances when a user triggers the same event more than once. -When you select **Re-enter every time event occurs** when you create an event-triggered journey, you can choose an event property as a unique identifier. Selecting this option does two things: +When you select **Re-enter every time event occurs** when you create an event-triggered journeys, you can choose an event property as a unique identifier. Selecting this option does two things: - It creates a separate journey instance for each unique identifier value, allowing multiple instances to run in parallel for the same user. - It ensures that any follow-up events link back to the right journey instance, preserving context for tracking and personalization. -For example, in an abandonment journey, suppose a user starts two applications (like `application_started`), each with a different `application_id`. By setting `application_id` as the unique identifier, Segment can match follow-up events (like `application_completed`) to the correct application journey. This way, each journey instance only receives the completion event for its specific application. +For example, in an abandonment journey, suppose a user starts two applications (like `application_started`), each with a different `application_id`. By setting `application_id` as the unique identifier, Segment can match follow-up events (like `application_completed`) to the correct application journey. As a result, each journey instance only receives the completion event for its specific application. #### Send data to downstream destinations -Event-triggered Journeys lets you send journey data to supported destinations, facilitating real-time, personalized messaging. Event-triggered Journeys supports the [Braze Actions](/docs/connections/destinations/catalog/actions-braze-cloud/), [Customer.io Actions](/docs/connections/destinations/catalog/actions-customerio/), and [Iterable Actions](/docs/connections/destinations/catalog/actions-iterable/) destinations. +Event-Triggered Journeys lets you send journey data to supported destinations, facilitating real-time, personalized messaging. Event-Triggered Journeys supports the [Braze (Actions)](/docs/connections/destinations/catalog/actions-braze-cloud/), [Customer.io (Actions)](/docs/connections/destinations/catalog/actions-customerio/), and [Iterable (Actions)](/docs/connections/destinations/catalog/actions-iterable/) destinations. For other destinations, you can use [Destination Functions](/docs/connections/functions/destination-functions/) to run additional logic, like enriching with [Profile API traits](/docs/unify/profile-api/) or filtering the payload. ## Best practices -Follow the best practices in this table to optimize your Event-triggered Journeys: +Follow the best practices in this table to optimize your event-triggered journeys: | Recommendation | Details | | --------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | @@ -80,34 +80,34 @@ Follow the best practices in this table to optimize your Event-triggered Journey | Test journey after publishing | Consider setting up a live test right after publishing to confirm that the journey behaves as expected and that data flows correctly to destinations. | -## Working with Event-triggered Journeys +## Working with Event-Triggered Journeys -Segment built Event-triggered Journeys to respond instantly to events, offering real-time capabilities with a few considerations in mind. +Segment built Event-Triggered Journeys to respond instantly to events, offering real-time capabilities with a few considerations in mind. - **Entry event requirements**: The entry event you use must already exist in your Segment workspace for it to appear as a selection in journey setup. Make sure that you've already created the event before setting up your journey. - **Event property filters**: You can filter event properties using the `equals` or `equals any of` operators. When you apply multiple conditions, filters operate with `AND` logic, meaning all conditions must be true for the event to trigger entry into the journey. - **Audience filtering**: You can only use active, pre-existing audience records as filters. For more complex filtering, like specific profile traits or multiple audiences, first [create the audience](/docs/engage/audiences/#building-an-audience) in **Engage > Audiences**, then apply it as a filter once it’s live. -- **Destination options**: While Event-triggered Journeys support several [actions-based destinations](/docs/connections/destinations/actions/) (like Braze, Customer.io, and Iterable) you can only add one destination for each journey instance. For other destinations, use a Destination Function to apply custom logic to the payload. -- **Event payload structure**: Each payloadd sent to a destination includes a unique key to identify the specific send step within the journey, rather than the journey instance itself. You can also set a custom event name to make it easier to identify the specific event instance you want to track in your destination. +- **Destination options**: While Event-Triggered Journeys support several [actions-based destinations](/docs/connections/destinations/actions/) (like Braze, Customer.io, and Iterable) you can only add one destination for each journey instance. For other destinations, use a Destination Function to apply custom logic to the payload. +- **Event payload structure**: Each payload sent to a destination includes a unique key to identify the specific send step within the journey, rather than the journey instance itself. You can also set a custom event name to make it easier to identify the specific event instance you want to track in your destination. - **Editing and versioning**: After you publish an event-triggered journey, you won't be able to edit it. To modify a journey, create a new journey. -- **Real-time delivery**: Event-triggered Journeys aim for an expected delivery time of under 5 minutes from the moment an event is performed to when the payload reaches the destination, assuming there is no delay step in the journey. However, external factors outside of Segment's control may occasionally introduce latency. +- **Real-time delivery**: Event-Triggered Journeys aim for an expected delivery time of under 5 minutes from the moment an event is performed to when the payload reaches the destination, assuming there is no delay step in the journey. However, external factors outside of Segment's control may occasionally introduce latency. ## Use Cases -Event-triggered Journeys can power a variety of real-time, personalized experiences. This section details some common scenarios to help you see how they might work in practice. +Event-Triggered Journeys can power a variety of real-time, personalized experiences. This section details some common scenarios to help you see how they might work in practice. ### Real-time event forwarding -Suppose you want to instantly send a personalized message whenever a user completes a specific action on your site, like filling out a form or subscribing to a service. With Event-triggered Journeys, you can configure the journey to trigger each time this entry event occurs. Segment will forward the event data, including all relevant details, to your connected destination in real-time. +Suppose you want to instantly send a personalized message whenever a user completes a specific action on your site, like filling out a form or subscribing to a service. With Event-Triggered Journeys, you can configure the journey to trigger each time this entry event occurs. Segment will forward the event data, including all relevant details, to your connected destination in real-time. ### Real-time abandonment Campaigns -Imagine you’re running an e-commerce site and want to follow up with users who start the checkout process but don’t complete it within a certain timeframe. You can create an Event-triggered Journey to watch for abandonment cases like these. +Imagine you’re running an e-commerce site and want to follow up with users who start the checkout process but don’t complete it within a certain timeframe. You can create an event-triggered Journey to watch for abandonment cases like these. Start by setting the `checkout_started` event as the trigger and specify a unique identifier like `session_id` to track each user’s journey instance. Then, configure the journey to check for the `purchase_completed` event within a defined window (for example, 1 hour). If the user doesn’t complete the purchase, the journey can automatically send a nudge to encourage them to finish their order. ### Personalized follow-up Messages -Say you want to follow up with users after they engage with specific content, like downloading an e-book or watching a demo video. Event-triggered Journeys can help you send timely, personalized messages based on these interactions. +Say you want to follow up with users after they engage with specific content, like downloading an e-book or watching a demo video. Event-Triggered Journeys can help you send timely, personalized messages based on these interactions. To do this, set the entry event to `content_downloaded` or `video_watched` and configure the journey to send a follow-up email. You could even personalize the email with details from the triggering event, like the content title or timestamp, by configuring your destination payload to enrich the message with event-specific context. \ No newline at end of file From ee1a7668c742158320168695e64407d83d135121 Mon Sep 17 00:00:00 2001 From: pwseg <86626706+pwseg@users.noreply.github.com> Date: Thu, 31 Oct 2024 11:51:36 -0500 Subject: [PATCH 18/20] Update src/engage/journeys/event-triggered-journeys.md Co-authored-by: stayseesong <83784848+stayseesong@users.noreply.github.com> --- src/engage/journeys/event-triggered-journeys.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/engage/journeys/event-triggered-journeys.md b/src/engage/journeys/event-triggered-journeys.md index 4600a05551..efb05739e9 100644 --- a/src/engage/journeys/event-triggered-journeys.md +++ b/src/engage/journeys/event-triggered-journeys.md @@ -10,7 +10,7 @@ Unlike traditional audience-based journeys that rely on pre-defined user segment On this page, you'll learn how to create an event-triggered journey, configure entry conditions, and work with published event-triggered journeys. -> info "Event-Triggered Journeys Private Beta" +> info "Private Beta" > Event-Triggered Journeys is in private beta, and Segment is actively working on this feature. Some functionality may change before it becomes generally available. ## Overview From 36d7cd54cab0f42a572c091a1952919f49c720bf Mon Sep 17 00:00:00 2001 From: pwseg <86626706+pwseg@users.noreply.github.com> Date: Thu, 31 Oct 2024 11:52:28 -0500 Subject: [PATCH 19/20] typo fix --- src/engage/journeys/event-triggered-journeys.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/engage/journeys/event-triggered-journeys.md b/src/engage/journeys/event-triggered-journeys.md index efb05739e9..39ce8ee103 100644 --- a/src/engage/journeys/event-triggered-journeys.md +++ b/src/engage/journeys/event-triggered-journeys.md @@ -55,7 +55,7 @@ Event-Triggered Journeys includes advanced options to help you tailor journey be Unique identifiers in event-triggered journeys help you manage multiple journey instances when a user triggers the same event more than once. -When you select **Re-enter every time event occurs** when you create an event-triggered journeys, you can choose an event property as a unique identifier. Selecting this option does two things: +When you select **Re-enter every time event occurs** when you create an event-triggered journey, you can choose an event property as a unique identifier. Selecting this option does two things: - It creates a separate journey instance for each unique identifier value, allowing multiple instances to run in parallel for the same user. - It ensures that any follow-up events link back to the right journey instance, preserving context for tracking and personalization. @@ -110,4 +110,4 @@ Start by setting the `checkout_started` event as the trigger and specify a uniqu Say you want to follow up with users after they engage with specific content, like downloading an e-book or watching a demo video. Event-Triggered Journeys can help you send timely, personalized messages based on these interactions. -To do this, set the entry event to `content_downloaded` or `video_watched` and configure the journey to send a follow-up email. You could even personalize the email with details from the triggering event, like the content title or timestamp, by configuring your destination payload to enrich the message with event-specific context. \ No newline at end of file +To do this, set the entry event to `content_downloaded` or `video_watched` and configure the journey to send a follow-up email. You could even personalize the email with details from the triggering event, like the content title or timestamp, by configuring your destination payload to enrich the message with event-specific context. From 75acbe86b60126dbbf71d42fafe5afb55ed9ceb8 Mon Sep 17 00:00:00 2001 From: stayseesong <83784848+stayseesong@users.noreply.github.com> Date: Thu, 31 Oct 2024 09:56:45 -0700 Subject: [PATCH 20/20] Apply suggestions from code review --- src/engage/journeys/event-triggered-journeys.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/engage/journeys/event-triggered-journeys.md b/src/engage/journeys/event-triggered-journeys.md index 39ce8ee103..59716f8d2c 100644 --- a/src/engage/journeys/event-triggered-journeys.md +++ b/src/engage/journeys/event-triggered-journeys.md @@ -37,10 +37,10 @@ To set up an event-triggered journey: 3. Give your new journey a name and, optionally, a description. 4. Select entry event: - Choose the event that will trigger user entry into the journey. - - (Optional:) Use an audience filter to restrict entry to users who are already part of a specific audience. - - (Optional:) Apply filters based on event property values to refine entry conditions. For example, enter only if `{property} = value A, value B, or value C`. + - (*Optional*) Use an audience filter to restrict entry to users who are already part of a specific audience. + - (*Optional*) Apply filters based on event property values to refine entry conditions. For example, enter only if `{property} = value A, value B, or value C`. 5. Configure entry rules: - - **Re-enter every time event occurs** (default): Users enter the journey each time they trigger the specified event. + - **Re-enter every time event occurs** (*default*): Users enter the journey each time they trigger the specified event. - **Enter one time**: Users enter the journey once only, regardless of repeated event triggers. 6. **If you chose Re-enter every time event occurs in Step 5**, select a [unique identifier](#unique-identifiers). 7. Configure event delivery to destinations by selecting a destination or setting up a custom destination function.