Authors: @Mike-Broom @Andrew-Ryoo @Danny-Miller
A customer's journey is fluid and sometimes unpredictable. For the marketer, the ideal scenario might be to look for a customer that views a product, adds it to cart, and purchases it in a single session. The reality, however, is that a customer's journey is almost always more complex than anticipated. Carts are added to and then abandoned. Purchase funnels are initiated, abandoned, then revisited. Given this reality, how does the modern marketer today ensure that these scenarios and behaviors are fully captured in a segment?
RTCDP Sequential Segments leverage timestamps within your Experience Events to compute segments of customers that performed certain actions in a certain order within a specific amount of time.
What Are Experience Events?
XDM ExperienceEvent is a standard Experience Data Model (XDM) class which allows you to create a timestamped record of the system when a specific event occurs. Experience Events are immutable, factual records of what occurred at that point in time, representing what happened without aggregation or interpretation. Two critical fields are required in the schema for Experience Events: _id and timestamp; which can be seen in this example Event:
Note: while not required, Event Type is highly recommended and very valuable to help filtering, provide context and a visual representation of the Event in Segment Builder.
This Event, with _id: c18ac679-47f2-51ab-a8c6-e55f21e79bdc, would then qualify for a segment that includes Event Type = Email Delivered AND occurred in the last 30 days.
Events in Profiles
Have you ever wanted to look through a user’s journey across your brand? Behind the scenes, AEP Profile Services stitches together Experience Events from various data sources, building a chronological event ledger for every known Profile. This ledger is available to view within the Profile view in Experience Platform and used by Segmentation.
Getting Started with Sequential Segmentation
Add Event Tiles to the Canvas
Now that you have a better understanding of Experience Events, let us dive into Sequential Segmentation. As mentioned, this is the concept of adding more than one Event in the order they will occur to your segment. The idea behind this really comes down to incorporating THEN statements where you would typically apply AND/OR logic. Let’s expand on the example we used above:
First, navigate to the Events tab found on the column to the left. This column is where all the ‘building blocks’ of data that will power your segments live: Attributes, Events, and Audiences. Click on the Events tab:
Next, you can begin dragging and dropping the events into the segment builder canvas. When doing so, you’ll notice the ability to stack events or add them horizontally.
Within the builder canvas, events are represented as tiles that you can link by either stacking them on top of one another, or by linking them side-by-side. When you stack two or more events on the canvas, profiles that include any or all (OR/AND) events that occurred any time within the time range set in the segment. In the example above, a profile must include any of the two email events to be considered for the segment, then a Product List Adds event that occurs after the email events. If we replace the OR logic tying our email events into an AND statement, the definition of this step becomes, “these two events have to happen, and we don’t care what order they happen in.” When the AND statement is changed to THEN, the events will go from being stacked, to being sequenced horizontally, illustrating how events MUST happen in the order defined.
After all the events have been added, the description of this segment is (Include audience who have at least 1 Email Clicked event OR have at least 1 Email Opened event THEN have at least 1 Product List Adds event THEN have at least 1 Checkouts event) and occurs in last 30 day(s). This segment description is available in the segmentation builder UI as well:
Note: The Segmentation Engine uses only the Timestamp to interpret the order of Events. Thus, if you have multiple datetime fields on the Event, keep in mind the Timestamp field is the one used.
Keep in mind, other events can occur in between these events, and this is not to say these events must occur one after the other. I.e., all event sequences below would qualify:
- Email clicked, viewed landing page, product list adds and checkout
- Email clicked, viewed product page, in store purchase, product list adds and checkout
- Email clicked, viewed blog post, product list adds, product list adds and checkout
Time Conditions Between Events
Let’s say your use case also wants to define a specific time between each of the events as well.
We recently had a request to create a Segment that would keep the overall time condition to ‘in the last 30 days’ but add in ‘within 3 days’ between the Email events and Product List Adds. If you click on the little clock in between your Events, you have the option to adjust the time conditions to ‘after’ or ‘within’ a certain time. In this example, we will use ‘within’:
Once you make this change, your description then changes to: (Include audience who have at least 1 Email Clicked event OR have at least 1 Email Opened event then within 3 days have at least 1 Product List Adds event THEN have at least 1 Checkouts event) and occurs in last 30 day(s). As your understanding of customer journeys deepens, time conditions can help translate your insights into very selective, high-value segments.
If you’re looking to drill down even further with events in your sequence, you can add more event conditions to each tile. Let’s say the customer wants us to include a specific SKU to the Product List Adds event. Simply find the SKU event under the Events tab in your building blocks, and drag and drop either directly into the Event Tile or in the conditions section if the Event Tile is clicked on (as pictured here):
Now our description has changed to (Include audience who have at least 1 Email Clicked event OR have at least 1 Email Opened event THEN have at least 1 Product List Adds event where ((SKU equals 01234)) THEN have at least 1 Checkouts event) and occurs in last 30 day(s); which ensures we’re now requiring profiles to have this specific SKU added to the Product List as part of the journey. You can add multiple event conditions to each event tile, but it’s always important to remember how experience events work and how each condition will operate with the other events included.
As with any segmentation build, it’s important to understand how segment evaluation works and what you are looking to achieve with your use cases. As we discussed in a previous blog, there are three main segment evaluation types: Batch, Streaming, and Edge. Many times, with sequential segmentation, customers are looking for Streaming evaluation to ensure profiles are continuously evaluated as data comes in. If you have a shopping cart abandonment use case, for example, you want to make sure profiles are going to be excluded from your downstream marketing activities when they purchase the product.
To better understand which evaluation method your segment qualifies for, you can click on the magnifying glass icon in the bottom right-hand corner of the segment builder, next to Evaluation Method. This will show you, in real-time, what your segment currently qualifies for, and allows you to pick which qualified evaluation method you wish to use. Our segment only qualifies for Batch evaluation, most likely because of the complexity and time conditions. To learn more about the guardrails for each evaluation method, please visit the Experience League.
In order to still allow this to be Streaming or Edge, we might want to simplify the segment down to just Purchased sku=01234 since the sequence they purchased isn’t as important for this use case.
How to Plan Your Sequential Journeys
Before you dive into Sequential Segmentation, it’s important to ask yourself some key questions:
- What is your business objective? How will Sequential Segmentation help achieve this?
- Do you have a firm understanding of your Event data? Where is it coming from and how is it arranged? (e.g. Event Types)
- How do customers engage with your brand today? What is their journey, and are there trends?
- Have you built segments that could be enriched by sequential logic? (ex: Cart Abandoners, Form Abandoners, Email Click Purchasers)