Beta Feature
Journey Live Data is currently available in beta for select Iterable customers. If you're interested in using the feature during beta, reach out to your customer success manager to request access.
To learn more about participation in beta testing, see Iterable Beta Terms.
Journey Live Data pulls temporary, real-time data from external services into a journey at the exact step where you need to make a decision, so you can personalize messages and route users based on what is true right now—not what was true at the last batch sync. This data stays in-memory for the duration of the user’s journey path (and is only written to their user profile when you explicitly choose to do so), so you can move faster, make more accurate decisions, and deliver more relevant customer experiences without bloating your user profile schema or relying on complex middleware.
# How it works
Journey Live Data works by calling an external API via a journey webhook
and capturing selected fields and data types into a liveData object that you
can reference downstream throughout a journey.
If the request succeeds, the user goes down the Success path to the next tile, and the data persists with them through the journey. If the request fails, the user goes down the Failure path, where you can route them to an appropriate next step.
# Configuring Journey Live Data
To use Journey Live Data:
Define live data fields in a journey webhook: First, create or edit a journey webhook in your project, enable data retrieval for the webhook, and identify specific data fields to be captured as live data from the endpoint.
Add a Live Data tile to a journey: To bring your desired live data into a journey, add a Live Data tile at the appropriate stage of the journey and configure it to call your desired webhook.
# Define Live Data fields in a journey webhook
Journey webhooks can sync data to and from external services. To use the returned payload as live data in a journey, enable the Data Retrieval option in the webhook's configuration and define up to 10 fields from the payload to make available as live data in journeys. To learn how to configure a journey webhook for use with Journey Live Data, see Creating Journey Webhooks.
# Add a Live Data tile to a journey
To fetch data from an external source at a given point in a journey, use a Live Data tile.
# Referencing live data fields
Once you've set up at least one Live Data tile in a journey to capture a liveData
object, you can reference values from that object in later steps in the journey.
These values can be referenced in Filter tiles
and Message tiles.
Live data references use standard dot-notation and follow this naming convention:
{{liveData.objectName.fieldName}}
# Filter tiles
You can use Journey Live Data fields in Yes/No Split tiles and Attribute Split tiles to make real-time decisions and route users to appropriate next steps in the journey.
# Configuring Yes/No Split tiles with live data
Add a Yes/No Split tile after a Live Data tile in a journey, then double-click the Yes/No Split tile to configure its details.
Under Filter By, select the Live Data Tiles option. Then, under Split Criteria, click Live Data Fields, and configure your desired conditions for splitting users. When the journey is live, users who match the query conditions are sent down the "Yes" path, and users who don't are sent down the "No" path.
# Configuring Attribute Split tiles with live data
Add an Attribute Split tile after a Live Data tile in a journey, then double-click the Attribute Split tile to configure its details.
Under Split Based On..., select Live Data Field. Under Attribute,
select one of the live data fields fetched in the preceding Live Data tile,
then define the attributes by which you want to split users. For example, if you
select the products.sku live data object, you could select the various product
SKUs users have added to their cart and route users to different messaging
accordingly.
# Message tiles
You can reference live data fields in journey campaign templates using Handlebars to render real-time values in your journey message sends. You can find a list of available fields and copy the Handlebars code to reference them in the configured Live Data tile.
# Saving live data to user profiles
By default, live data only persists for the duration of a user's path through a journey—from the Live Data tile in which it's captured to the point at which the user exits.
However, you can write live data fields to permanent user profile fields when the data is worth saving (for example, if a user's verified loyalty tier or product preference has changed). To do this, add a User Profile tile and configure it to save your desired data.
# Recommendations and best practices
The following limits are in effect to ensure performance at scale:
- Journey webhooks can be configured to include up to 10 live data fields.
- Journey webhooks can return up to 25 KB data per request.
- Journeys can contain up to 10 Live Data tiles.
To maintain fast, reliable performance in your journeys, select only the specific data fields from a journey webhook payload that you need to orchestrate your Live Data use cases—and leave off any data fields that aren't needed. Fetching unnecessary data slows down processing.
To manage traffic to your endpoints, set a rate limit in Live Data tiles to limit how fast Iterable calls the associated journey webhook. This ensures that external services can handle the high volume associated with journeys.
# Want to learn more?
For more information about some of the topics in this article, check out these resources:
Support docs