Expand my Community achievements bar.

Sequential Segmentation: Creating Your Own Journey of Events in Segmentation

Avatar

Employee Advisor

8/30/22

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. 

DannyMiller_0-1661879478232.png

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:  

      "_id": "c18ac679-47f2-51ab-a8c6-e55f21e79bdc", 
      "eventType": "directMarketing.emailDelivered", 
      "timestamp": "2022-07-25T21:37:00Z" 

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 

DannyMiller_1-1661879478233.png

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.  

DannyMiller_2-1661879478235.png

 

 

 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:  

DannyMiller_3-1661879478237.png

 

 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.  

DannyMiller_4-1661879478238.png

 

DannyMiller_5-1661879478239.png

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. 

DannyMiller_6-1661879478240.png

 

 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:   

DannyMiller_7-1661879478241.png

 

 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: 

  1. Email clicked, viewed landing page, product list adds and checkout 
  2. Email clicked, viewed product page, in store purchase, product list adds and checkout 
  3. 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’:  

DannyMiller_8-1661879478242.png

 

 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. 

Event conditions 

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):  

DannyMiller_9-1661879478245.png

 

 

DannyMiller_10-1661879478248.png

 

 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.  

Segment Evaluation 

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 

DannyMiller_11-1661879478251.png

 

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:  

  1. What is your business objective? How will Sequential Segmentation help achieve this? 
  2. Do you have a firm understanding of your Event data? Where is it coming from and how is it arranged? (e.g. Event Types) 
  3. How do customers engage with your brand today? What is their journey, and are there trends? 
  4. Have you built segments that could be enriched by sequential logic? (ex: Cart Abandoners, Form Abandoners, Email Click Purchasers) 

Related Links: 

 

6 Comments

Avatar

Level 1

9/4/22

Very well explained Danny. Loved the simplicity of your blog. One question if I may, When you place the cards sequentially (add the "THEN" clause), Are the previous set of events already filtered before applying the filter for "THEN" ?

 

Also, what is the field it uses to link the event back to the previous event. Eg, if I want to create a segment to capture people who "Added a product to the cart" and then "Abandoned the cart". ECID ? or something else ?

Avatar

Employee Advisor

9/12/22

@ManikJasrotia 

  1. Are the previous set of events already filtered before applying the filter for "THEN" ?
    1. I wouldn't think of it that way.
    2. All events are available to be filtered on at each "step/card".  Otherwise your "click" event would exclude a subsequent "purchase" event.
  2. what is the field it uses to link the event back to the previous event?
    1. The identity graph links all the events and timestamp orders them.

Avatar

Level 7

3/22/23

Well said @Danny-Miller. In your example for cart abandonment (which I have a similar use case), 

 

This is the events rule I have so far:

(Include audience who have at least 1 Any event where (pageName equals commerce>cart) THEN do not have any Any event where (pageName equals commerce>thank-you)

 

I would like to use this segment for onsite retargeting so the segment will be shared to Adobe Target. The streaming evaluation method seems to best fit my use case, however, given it's a multi-event segment, streaming only allows a 24 hours lookback period (I am assuming that means customers who abandoned cart >24 hours will exit the segment?)

 

How do you suggest I approach this?

Avatar

Employee Advisor

4/10/23

@akwankl You would build it out as described above and add a 23 hour window to stay within the Streaming Segment guardrails as described here.  Adding Page Name = "commerce>cart" to the first card and exclude Page Name = "commerce>thank-you" to the second card.

 

Your end result is:

(Include audience who have at least 1 Page Views event where (Name equals commerce>cart) THEN do not have any Page Views event where (Name equals commerce>thank-you) ) and occurs in last 23 hour(s).

DannyMiller_0-1681147799024.png

 

Avatar

Level 2

11/20/23

Hi @Danny-Miller ,

 

Thanks a lot for your great explanation. 

I have a question, my customer is creating an sequential streaming evaluated segment saying something like this: 

           In last 24 hrs

People showing interest in one product on the website (AA event)

AND 

then after 15 mins they have not requested the product by callcenter (HTTP-API event)

 

After that, in Evaluation, customers are being qualified just accomplishing the first step of the sequence, because if they are showing interest right now, the second condition is TRUE, due this second evaluated action will happen in the future, and right now they haven't applied yet.

Then, if after 15 mins, if the customer make the request, it's being being unqualified.

 

Do we have any way do make it work?,

it's weird, they are looking for future actions right now, in AJO I make it work by using "Wait" Actions, not sure if on RTCDP it's feasible.

 

Thank you!

Carlos.

 

 

 

Avatar

Level 3

2/21/24

@Danny-Miller - Is it possible to create an audience something like below

 

Segment Type:Edge audience

if user eligible for profile attribute data 

  AND

exclude the user if event viewed 3 times(anytime) or clicked