Streams consist generally of three elements: trigger, behavioral modifiers, and actions. These elements are connected via a simply flowchart-like tree that always begins with a single trigger. Once triggered, the stream's logic is evaluated against the current user and session. A stream must include a trigger and an action. Additionally, every branch created by an element that modifies behavior - like a A/B splitter - must end with an action.
Streams can be triggered by one of the following events:
- Session expiry
- An order is received
- An email address is collected
- A form is submitted
- A user subscribes to Web Push Notifications (if account supports notifications)
Any of these events can be used as a stream trigger. The stream's logic will be evaluated immediately upon the trigger occurring. Only one trigger can be used with a single stream, but multiple streams can be active at once with different triggers.
Streams can optionally include behavioral modifiers to alter the runtime behavior of the stream. These nodes typically sit between the trigger and any of the stream's actions
This element branches the stream flow according to defined percentages.
Figure 1: A/B Splitter
By default, creating an A/B Splitter will split the stream flow into two branches, each evaluated 50% of the time. Once a splitter is created on the stream, you can click the "A/B Splitter" node to add another A/B Element to add branches. Of course, the sum of the defined percentages must add to 100%.
When this stream is triggered at runtime, the system will select a branch to follow based on the percentages set.
Figure 2: Conditions
A condition group can be added to the stream to ensure that a specific condition is met prior to continuing down the branch. Multiple conditions can be added to one condition group to split the flow into multiple branches. Also, multiple filters can be added to a single condition (Figure 2) that all have to be met before the entire condition is considered fulfilled.
If the condition or group of conditions are not met, the branch is completely abandoned. If all branches are abandoned because of this, the stream is ignored until the next trigger occurs. No action takes place in this case.
Figure 3: Timer
A timer node will force the stream process to halt for a certain amount of time prior to continuing. There are two types of timers:
- Relative to previous action: This means that the timer will start when the previous action node ends. This previous action node could be a trigger or an actual action.
- Relative to custom data property: This means that the timer will operate off of a defined custom data property. This property must be a valid date, and the system will use the most recently captured value on the session. If this type is selected, the editor will allow you to choose the custom data property, time zone, and whether to calculate the timer so that it occurs prior to the custom data value or after.
No matter the type, the editor will allow you to edit the following:
- Duration: This is the timer value. If "relative to previous action" is selected, this is the amount of time to wait after the prior action to continue the stream. If "relative to custom data property" is selected, this is the offset from the defined custom data value to continue the stream. It will be blocked and no actions executed until this date and time.
- Continue flow on new session or order: If enabled, the timer will continue operating when the user creates a new session or order. By default, streams that use order or session triggers are stopped when the user starts a new session/order.
When a stream is triggered and any conditions or other behavioral modifiers are met, any valid actions will run if valid. The following actions are currently supported:
- Send to Product Recommendations Service
- Send a Web Push Notification
- Send an SMS Message
- Update User Data
Each action type supports the ability to add "Action data" that will be made available to the destination service of each action.
Figure 4: Send To Endpoint Action
The "Send to Endpoint" action only requires a valid ESP / FTP / HTTP endpoint that can be setup in Endpoints. As the help text mentions, ESP endpoint actions will only run for users who have a known email address.
Optionally, you can choose to include product recommendations information (if enabled) inside the data sent to the endpoint.
The "Send to Product Recommendations" action will send the data in "Action data" to the recommendations service.
This action is only available if product recommendations is enabled on your account.
The "Send Notification" action will send the user the specified template web push notification. To learn more about template notifications, view the notifications documentation. Only an active and valid notification will be sent when an action of this type is triggered.
The "Send SMS Message" action will send the user the specified template SMS message. To learn more about template SMS messages, view the SMS documentation. Only an active and valid SMS message will be sent this an action of this type is triggered.
There are additional limitations on whether SMS messages are sent to a user including their current subscription status, time of day, and country of origin. So just because this action is triggered, the SMS message may not be sent for a variety of reasons. Please take a look at the documentation for more.
Figure 5: Update User Data Action
The "Update User Data" gives you the ability to update Fanplayr's user data inside the stream. The "Action data" section of this action type is a little different because it allows you to customize the behavior of the user property saved. The "Update behavior" value can either be "Overwrite previous value" or "Set only if there is no value", and you can specify the number of days to retain the property and value.
Figure 6: Complex Stream Example
- Each node in the flow has a name automatically generated. This name can be edited to help uniquely identify similar nodes, but it is common to leave the name as default.
- Actions can be chained to trigger multiple actions in the same branch. Still, the end node of a branch must be an action.
- The flow UI can be rotated 90 degrees to a left-right orientation by clicking "Rotate layout" at the top of the screen.
Figure 7: Streams List
Streams can be in one of four states:
- Published: The stream is live on your site.
- Disabled: The stream was previously published but is now deactivated. It can be reactivated in this state.
- Draft: The stream is still being created and is not live.
- Archived: The stream is considered deleted.
Only "Draft" streams can be edited, as editing a stream while published could cause issues. If you would like to make changes to a published stream, please duplicate the stream, edit, and publish. Then you can disable the old stream.
Only "Disabled" and "Draft" streams can be archived. If you want to completely remove a published stream, disable it first and then archive.
Your account can have as many streams as you want currently active, and multiple streams can be triggered by the same trigger type.
- Page url
- Viewed category ID
- Viewed category name contains
- Viewed product ID contains
- Viewed product name contains
- Cart category ID contains
- Cart category name contains
- Cart product ID contains
- Cart product name contains
- Browser language
- Source type
- Operating System
- Presented Offers
- Trigger Source Widget
- Page Views
- Category Page Views
- Product Page Views
- Cart Page Views
- Seconds on Site
- Abandoned Cart Value
- Visits Since Last Conversion
- Order Value
- Has notification subscription
- Has SMS subscription
- Has email subscription
- User Data Property
- Visited since previous step
- Visited since process start
- Order placed since previous step
- Order placed since process start
- Order placed in session