Campaign Journey

A campaign journey refers to the way triggers are organized in the campaign. It determines the sequence of messages a user will receive as they progress through the campaign. 

Terminology

To understand how users move through a campaign, there is some terminology that needs to be established.

Siblings

Triggers that appear on the same row are called siblings. In the example below, triggers A and B are siblings. Triggers C, D, and E are also siblings.

siblings.png

Children

These are the set of triggers that appear in the row below another trigger that are also connected to that trigger. A trigger can have none, one, or many children. In the example, triggers C and D are the children of trigger A. Trigger E is the child of trigger B.

children.png

Parent

The parent is the trigger in the row above that the children belong to. In the example, the parent of trigger C is A and the parent of trigger D is also A. The parent of trigger E is B. Every trigger has at most one parent. The exceptions are the triggers in the first row - these triggers have no parent and are called root triggers.

parent.png

Delay

Delay is the amount of time that must pass before a user can get messaged by a trigger. It can be a fixed value or it can be a dynamic value calculated from an event attribute. In addition, advanced features like engage time optimization and dayparting can introduce their own delays.

Priority

Priority is the ordering of sibling or child triggers and represents the order in which the triggers get evaluated for the user. Trigger generally get evaluated from left (higher priority) to right (lower priority).

How Users Move Through the Campaign

The user journey is composed of steps, with each step corresponding to a row of triggers. Each step consists of the following actions:

Untitled_drawing.png

In the very first step, the user is entering the campaign and the eligible triggers are the root triggers. If the user is successfully messaged, the eligible triggers in the next step are the children of the trigger the user was messaged by. If all eligible triggers have been evaluated and the user has not been messaged, the user falls out of the campaign and the journey is complete. The campaign stops evaluating triggers for the user, but the user may be eligible to re-enter the campaign depending on how it is configured.

Let's use the following campaign as an example for some possible journeys.

base.png

Scenario 1 - User does not get messaged

Step 1: The user enters the campaign. The eligible triggers are A and B. The campaign determines neither trigger matches for the user. Since no message was sent, the user falls out of the campaign.

Scenario 2 - User gets one message

Step 1: The user enters the campaign. The eligible triggers are A and B. The campaign determines trigger A matches for the user and the message is successful. The user moves onto step 2.

Step 2: The user moves onto the second row of triggers. Since the user was last messaged by trigger A, the eligible triggers in this step are its children triggers C and D. Trigger C does not match but trigger D does. However, the recommendation algorithm for trigger D does not return enough products so the user does not end up getting messaged. Since the user was not messaged in this step, they fall out of the campaign.

Scenario 3 - User gets two messages

Step 1: The user enters the campaign. The eligible triggers are A and B. The campaign determines trigger A matches for the user and the message is successful. The user moves onto step 2.

Step 2: The user moves onto the second row of triggers. Since the user was last messaged by trigger A, the eligible triggers in this step are its children triggers C and D. Trigger C does not match but trigger D does and the message is successful. Since trigger D has no children, there are no eligible triggers for the next step. The user's journey concludes here.

Eligible Trigger Ordering

In a simple setup where eligible triggers have no delay, dayparting or other advanced features, the triggers get evaluated for a user left to right (higher priority to lower priority). Things are more complicated when those triggers have delays because lower priority trigger can have a calculated send time that comes before a higher priority one. As a result, the ordering is not always left to right. When there are delays involved, the following happens at each step:

  1. The campaign calculates the send time for the eligible triggers. It groups the triggers into those that can be sent now and those that can be sent later.
  2. For the triggers that can be sent now, it evaluates those left to right for the user.
  3. If none of triggers eligible for messaging now match, the campaign calculates the minimum amount of time before the next set of eligible triggers can be sent. It waits this amount of time and starts this process again. It also remembers which triggers it has already evaluated and does not evaluate them again.

Let's use the following campaign with 4 triggers as an example. Triggers A and D have a calculated send time of 1 hour from now. Trigger B can be sent now and trigger C has a calculated send time of 2 hours from now.

Screen_Shot_2018-08-30_at_2.35.11_PM.png

The triggers get evaluated in the following way (assuming none of the triggers match):

  1. The campaign evaluates trigger B since it can be sent now.
  2. Trigger B does not match. The campaign sees the the next set of triggers are eligible 1 hour from now so it waits for 1 hour.
  3. 1 hour later, the campaign calculates the send times again. Trigger B is skipped because it was already evaluated. The campaign determines that triggers A and D can be sent now and trigger C can be sent in 1 hour. The campaign evaluates the user for trigger A followed by trigger D.
  4. Neither A or D match for the user. The campaign sees that the next trigger, C, can be evaluated in 1 hour so it waits for 1 hour.
  5. 1 hour later, the campaign calculates the send times again. It already evaluated triggers A, B, and D so it skips those. The calculated send time of C is now so it evaluates the user for trigger C.

As you can see, the order that triggers get evaluated in this campaign is B -> A -> D -> C.

Was this article helpful?
0 out of 0 found this helpful