Skip to content

Commit

Permalink
Merge pull request #7293 from segmentio/maxmilhan-event-triggered-jou…
Browse files Browse the repository at this point in the history
…rney-activations-update

Clarify Event-Triggered Journeys Destination Activation steps
  • Loading branch information
pwseg authored Dec 19, 2024
2 parents b910765 + 6cb7250 commit c648130
Showing 1 changed file with 42 additions and 10 deletions.
52 changes: 42 additions & 10 deletions src/engage/journeys/event-triggered-journeys.md
Original file line number Diff line number Diff line change
Expand Up @@ -36,15 +36,48 @@ 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*) Use an audience filter to restrict entry to users who are already part of a specific audience when they perform the triggering event.
- (*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](#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.
6. **If you chose Re-enter every time event occurs in Step 5**, select a [unique identifier](#unique-identifiers).
7. Build your journey using logical operators.
8. Configure event delivery to destinations by selecting a destination or setting up a custom destination function.
9. Preview the contextual payload that Segment will send to your destination(s).
10. After you've finished setting up your journey, click **Publish**, then click **Publish** again in the popup.

### Send data to downstream destinations

When a journey instance reaches a **Send to Destination** step, you can configure how data is sent to your desired destination. This step allows you to define where the data goes, what actions are performed, and how information is mapped, giving you control over the integration. Event-Triggered Journeys currently supports all [Actions Destinations](docs/connections/destinations/actions/).

For other destinations or more complex logic, you can use [Destination Functions](/docs/connections/functions/destination-functions/).

#### Configure the Destination Send Step

1. **Select a Destination**
Choose the destination where you want to send data. Currently, only [Actions Destinations](docs/connections/destinations/actions/) and [Destination Functions](/docs/connections/functions/destination-functions/) are supported.

2. **Choose an Action**
Specify the action to take within the selected destination. For example, you might update a user profile, trigger an email, or log an event.

3. **Define the Event Name**
Add a descriptive event name to send to your destination.

4. **Define the Payload Attributes**
- The **journey context** provides a set of attributes from the entry event or events used in the Hold Until operator that can be included in the payload.
- You may also add a user's profile traits to the destination payload.
- Review the available attributes and decide which ones to include in your data send.

5. **Map Attributes to Destination Keys**
- Use the mapping interface to link payload attributes to the appropriate keys required by the destination.
- For example, map `user_email` from the journey context to the `email` field expected by the destination.

6. **Test the Integration**
- Send a **test event** to validate the configuration.
- Ensure that the data is received correctly by the destination and mapped as expected.

When a journey reaches this step, the Segment prepares and sends the payload based on your configuration. The integration ensures compatibility with the selected destination’s API, allowing seamless data transfer and execution of the specified action.

### Journey setup configuration options

Expand All @@ -61,11 +94,10 @@ When you select **Re-enter every time event occurs** when you create an event-tr

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.
### Notes and limitations

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.
- **Supported destinations:** Only Actions Destinations in the Segment catalog are supported.
- **Data mapping:** Ensure all required keys for the destination are properly mapped to avoid errors.

## Best practices

Expand All @@ -86,7 +118,7 @@ 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](/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.
- **Destination options**: While Event-Triggered Journeys support all [actions-based destinations](/docs/connections/destinations/actions/) and Destination Functions, you can only add one destination per Send to Destination step. If you need to send to multiple destinations, you can use multiple Send to Destination steps.
- **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.
Expand Down

0 comments on commit c648130

Please sign in to comment.