Journey Data vs Contact Data in Journey Builder

Journey Data vs Contact Data in Journey Builder

Data is crucial for a successful Journey in Salesforce Marketing Cloud. It powers much more than just the entry into the journey: it serves as a source for your dynamic email content and for decision splits within the journey.

But in Journey Builder, data comes in two flavours: Journey Data and Contact Data. Understanding the difference between the two is critical for getting the most out of your journey.

In this post, we will explore these two types of data, how to setup Contact data and the main differences between them. For additional context, we will use the sample Abandon Cart Journey below, where an email is sent and if a purchase has not been made two days later, a follow up email is sent.

abandon-cart-journey.png

Understanding Journey Data

Once a contact enters the Journey, the data associated with that record in the entry data extension goes with it. That data is Journey Data. Let's take a look at what the data for the journey above looks like:

Entry Data Extension:

Contact KeyEmailFist NameEntry DateCart Data
1email1@example.comAnna2024-08-01{orderNumber: 1, products: [prod1: 2, prod2: 1...]}
2email2@example.comMark2024-08-01{orderNumber: 1, products: [prod1: 2, prod2: 1...]}
3email3@example.comLucas2024-08-01{orderNumber: 1, products: [prod1: 2, prod2: 1...]}

When subscriber 2 enters the Journey, Mark is sent through the Journey as the attribute First Name. That attribute is part of Mark's Journey Data.

⚠️

Journey Data is static and will always reflect the values that were present in the Data Extension at the time of entry. This means that even if you change the First Name in the data extension after the record has entered the Journey, the initial First Name will persist when you access Journey Data on the email or decision splits.

So how can we configure the decision split in the Journey to see if the contact has made a purchase 2 days after the entry? That's where Contact Data comes in.

Understanding Contact Data

In order to know if a subscriber has made a purchase on that decision split, we need to make a real time decision on the data. Essentially, we need to check if there have been any orders for that subscriber in the past two days.

Let's assume we have a data extension named LatestOrders where we record our customer's latest orders date. For simplicity, it will contain just two fields:

LatestOrders Data Extension:

Contact KeyLatest Order Date
12024-05-01
2null
32024-08-01

So how do we access that data in Journey Builder?

Mapping Data to Contact Builder

We need to map the LatestOrders table to Contact Builder to make it accessible to Journey Builder decision splits.

1. Create a new attribute Group

In Audience Builder > Contact Builder > Data Designer, create or select an existing attribute group:

attribute-group.png

Click data Extensions > Link and select the LatestOrders data extension. From there, we map the Contact Key from Customer Data to Subscriber Key in our LatestOrders data extension.

link-orders.png

💡

Make sure to select the correct cardinality for your data. In our case, since each subscriber only has one entry in the LatestOrders table (the entry gets updated with the most recent order date), we need to choose "One" for the cardinality. If each subscriber had multiple entries, we would select "Many" instead.

Using Contact Data in Journey Builder

Now that the data is mapped to Contact Builder, we can finally use it inside of our decision split in the Journey. Contact Data decision splits will always look for the latest values in the data, so if a new order has been made and recorded in the LatestOrders data extension, Journey builder will be aware of it and can now make a decision based on the latest value.

Key Differences Summary

AspectJourney DataContact Data
NatureStatic snapshot at entryDynamic, real-time lookup
SetupAutomatic with entry DERequires Contact Builder mapping
PerformanceFast (cached)Slower (real-time queries)
Use CasesEntry context, static personalizationDynamic decisions, behavior tracking
UpdatesNever changes during journeyAlways reflects current data

Conclusion

Understanding the difference between Journey Data and Contact Data is key to getting the most out of Journey Builder. Journey Data is static and stays the same as when the contact enters the journey, while Contact Data allows you to make real-time decisions based on the most recent data available.

By mapping your data in Contact Builder, you can leverage the full power of both data types to create smarter, more dynamic journeys. Whether it's tracking abandoned carts or updating journey paths based on the latest orders, using these two data types together helps you build more personalized and responsive experiences for your customers.

Enjoyed this post?

Subscribe to get insights on marketing engineering, data-driven growth, and building better systems.

No spam. Unsubscribe anytime.

Comments (0)

You must be logged in to comment.

No comments yet. Be the first to comment!