Branching of Users in Flows

Overview

You would often want to split your users based on certain conditions within a flow to personalize the experience or split your users randomly to experiment. MoEngage offers the following ways to split your users:

Way to Split Description
Check User Attribute This stage allows you to split your users based on who meets the defined user properties check.
Has Done Event This stage allows you to split your users based on who meets the defined actions-based check.
Conditional Split This stage allows you to divide users based on a combination of their user properties and actions, resulting in a maximum of 25 different paths.
Campaign-Based Conditions These are custom stages that are displayed after you add Action stages in the flow. This allows you to split users based on conditions related to the previously-added campaigns.
A/B Split This stage allows you to split users randomly based on the defined allocation percentage and experiment on them.
Intelligent Path Optimizer This stage allows you to split users randomly using the Sherpa AI intelligence of MoEngage and help you experiment on them.

Use Cases

Split Users Based on Conditions

The following are the use cases for splitting users on conditions:

  • Want to split your users based on their preferred languages? Add a Conditional Split to help you achieve the same.
  • Want to exit users who have done a specific action? Add a Has Done Event stage to help you achieve the same.
  • Want to exit users whose user property meets a specific value? Add a Check User Attribute stage to help you achieve the same.
  • Want to split users based on whether the last email was sent to the users? Add an On Send Email Message stage to help you achieve the same.

Split Users Randomly

The following is the use case for splitting users randomly:

  • Want to split users randomly to find the channel type that works for my user base? Add an A/B split stage to help you achieve the same.
info

Information

When you want to divide your users based on the Entry Criteria, add a Conditional Split or a Has Done Event Stage and select the option under the Flow Entry Events Category. When this option is selected, MoEngage considers the event that allowed the user to enter the flow while deciding the path for the user.

Add Condition Stages

Perform the following steps to add condition stages:

  1. On the MoEngage Canvas, click +.
  2. In the Add stage dialog box, do one of the following:
    • In the search bar, search for the stage directly. From the search result, click the option you want to add. For example, if you search for "conditional", the Conditional Split option is displayed.
      Adding by Searching.gif
    • On the All stages tab:
      1. Under Conditions & controls, click the category to explore the condition stages you can add:
        Category Stages Available
        AI TOOLS Intelligent path optimizer
        USER CONDITIONS
        • Check User Attribute
        • Has done event
        SPLIT USER PATH
        • Conditional Split
        • A/B Split
        Action conditions
        • Has received push notifications
        • Has dismissed push notifications and other campaign-based conditions
      2. Click the stage you want to add.
        Adding via Category.gif
        info

        Information

        The five frequently used stages are displayed under the Frequently Used section on the All stages tab. The list of available stages changes dynamically based on your workspace. Click the required stage to add it to the flow.

        image.png

    • On the Conditions & controls tab, click the stage you want to add.
      Adding via Tab.gif
      The selected stage is added to the canvas.

Configure Condition Stages

Split Users on Conditions

Conditional Split Check user attribute Has done event

After adding a Conditional Split stage, perform the following steps to configure it:

    1. Click the pen icon to edit the condition.
    2. Do the following:
      Field Description
      Stage name

      Type to modify the condition's name to manage and identify the condition.

      Evaluate the following conditions

      In the list, click an option to choose the start of your evaluation window:

      • Since entering the flow
        This defines the start time to be from the time the user has entered the current flow.
      • Since exiting the last stage
        This defines the start time to be from the time the user has moved from the previous stage in the flow to the next stage.
      • In the past
        This defines the start time to be from the set timeframe in the past calculated from the entry to this stage or from the time the user has entered the current flow, whichever is lesser. Set the time in minutes, hours, or days.
      Condition is satisfied if the user
      1. In the Display name box, type or paste the name of the branch or path.
        info

        Information

        Ensure that the display name has a maximum of 20 characters only.

      2. Use one of the following:
        • User property
          1. In the list, select the user property.
          2. Provide the property details.
            The filter is the primary filter condition.
          3. Click + Filter to add additional filters to the primary filter condition.
        • User behavior
          1. In the list, select one of the following:
            • Has Executed
            • Has Not Executed
          2. In the list, select one of the events.
            Events include any of the flow entry conditions as well. 
            Screenshot 2024-12-19 at 5.19.29 PM.png
          3. Click + Attributes to add additional filters to the primary condition. The default Constant value helps you complete the filter with specific static values. The Event attribute (applicable for all types of flows), User attribute (applicable for all types of flows), and Business event attribute (applicable only for Business Event Triggered flows) option, as shown above, helps you link this primary condition with the event-trigger or business event trigger condition and define dynamic checks. To know more, refer to Linked Conditions
      + Filter
      1. Click to add another filter with the primary conditions.
      2. Click AND or OR.
      3. Similar to the step above, you can add additional conditional checks and link them to previous user actions with Linked Conditions.
      Keep evaluating for the next
      1. Turn it on to check if the condition is met for the set time duration from the start time defined in Evaluate the following conditions.
      2. Type or use the up and down arrow keys to set the time duration.
      3. In the list, select the minutes, hours, or days to set the evaluation duration.
    3. Use the + icon to add more branches as part of the conditional split stage. Branch 1 has the highest priority, and the priority reduces as you progress down. Default branch has the least priority. For example, when there is a conditional split where a user X matches both branch 1 and branch 2 conditions, the user moves down Branch 1 as that has the highest priority. So, for a conditional split, the order of branches plays an important role where the user moves provided they match more than one branch's criteria.
info

Information

  • The default branch does not have any conditions.

  • You can add personalized and dynamic conditional checks based on the previous user actions with Linked Conditions.
  • Users navigate to the default branch when they do not meet the conditions applied in the conditional split.

  • The order of branches will influence which branch path the user takes in a conditional split, because the priority of the branches decreases from the first branch to the last branch or the default branch.

  • Users meeting the primary branch will leave as soon as they meet the criteria. Meanwhile, in the other branches, they will leave only after the completion of the evaluation period.

  • Users navigate the branch and follow the branch after meeting the evaluation criteria.

When you edit a published flow having a conditional split, the following are applicable:

    • Change the display name. 
    • Change the branch evaluation conditions.
    • Cannot add a new branch.
    • Cannot delete a branch.

Campaign-Based Conditions

The following are the types of campaign-based conditions provided by MoEngage:

arrow_drop_down Email

Perform the following steps for an email campaign:

  1. Select one of the following conditions:
    Field Description

    On send email message

    Checks whether the email is sent to the user.

    Has opened email message

    Checks whether the user has opened the received email message.

    Has clicked email message

    Checks whether the user has clicked any link in the received email message.

    Has unsubscribe email

    Checks whether the targeted user has unsubscribed from receiving the email campaigns.

    On email drop

    Checks whether the targeted email for the user was not sent because of previous hard bounces, marked spam, or complaints.

    On email spam

    Checks whether the email sent to the targeted user was marked as spam mail.

    On email bounce

    Checks whether the email sent to the targeted user was bounced.

    On hard bounce

    Checks whether the email sent to the targeted user was hard-bounced.

  2. Check for event occurrence.

    1. Type or use the up and down buttons to set the time.
    2. In the list, select minutes, hours, or days.
  3. Click Done to add the action or Cancel to cancel the action.
info

Information

The evaluation will be done for the mentioned timeframe since the user has entered the stage.

arrow_drop_down Connector

Perform the following for the Connector campaign:

  1. Select Connector sent successfully to check whether the connector is sent to the user. 
  2. Check for event occurrence.

    1. Type or use the up and down buttons to set the time.
    2. In the list, select minutes, hours, or days
  3. Click Done to add the action or click Cancel to cancel the action.
info

Information

The evaluation will be done for the mentioned timeframe since the user has entered the stage.

arrow_drop_down Push

Perform the following for the push campaign:

  1. Select one of the following conditions:
    Field Description

    Has received push notification

    Checks whether the user has received the push notification. 

    Has dismissed push notification

    Checks whether the user has dismissed the received push notification.

    Has clicked push notification

    Checks whether the user has clicked the received push notification.

  2. Check for event occurrence

    1. Type or use the up and down buttons to set the time.
    2. In the list, select minutes, hours, or days
  3. Click Done to add the action or Cancel to cancel the action.
info

Information

The evaluation will be done for the mentioned timeframe since the user has entered the stage.

arrow_drop_down SMS

Perform the following for the SMS campaign:

  1. Select SMS sent successfully to check whether the SMS is sent to the user. 
  2. Check for event occurrence

    1. Type or use the up and down buttons to set the time.
    2. In the list, select minutes, hours, or days.
  3. Click Done to add the action or Cancel to cancel the action.
info

Information

The evaluation will be done for the mentioned timeframe since the user has entered the stage.

arrow_drop_down On-Site Messaging

Perform the following for the On-site Messaging campaign:

  1. Select one of the following conditions:
    Field Description

    Has seen the on-site message

    Checks whether the user has seen the on-site message. 

    Has clicked on-site message

    Checks whether the user has clicked the on-site message.

    Has closed on-site message

    Checks whether the user has closed the on-site message.

  2. Check for event occurrence.

    1. Type or use the up and down buttons to set the time.
    2. In the list, select minutes, hours, or days.
  3. Click Done to add the action or Cancel to cancel the action.
info

Information

The evaluation will be done for the mentioned timeframe since the user has entered the stage.

arrow_drop_down In-App Messaging

Perform the following for the In-app Messaging campaign:

  1. Select one of the following conditions:
    Field Description

    Has seen mobile in-app message

    Checks whether the user has seen the mobile in-app message. 

    Has clicked mobile in-app message

    Checks whether the user has clicked the mobile in-app message.

    Has closed mobile in-app message

    Checks whether the user has closed the mobile in-app message.

  2. Check for event occurrence.

    1. Type or use the up and down buttons to set the time.
    2. In the list, select minutes, hours, or days.
  3. Click Done to add the action or Cancel to cancel the action.
info

Information

The evaluation will be done for the mentioned timeframe since the user has entered the stage.

arrow_drop_down Cards

Perform the following for the Card campaign:

  1. Select one of the following conditions:
    Field Description

    On send card

    Checks whether the card was sent successfully.

    Has received card

    Checks whether the card was received by the user successfully.

    Has seen card

    Checks whether the card was seen by the user successfully. 

    Has clicked on card

    Checks whether the card was clicked by the user successfully.
  2. Check for event occurrence.

    1. Type or use the up and down buttons to set the time.
    2. In the list, select minutes, hours, or days.
  3. Click Done to add the action or Cancel to cancel the action.
info

Information

The evaluation will be done for the mentioned timeframe since the user has entered the stage.

arrow_drop_down WhatsApp

Do the following for the WhatsApp campaign:

  1. Select one of the following conditions:
    Field Description

    Message Delivered Successfully

    Checks whether the message was delivered successfully. 

    Message Delivery Failed

    Checks whether the message delivery failed.

    Message Sent Successfully

    Checks whether the message was sent successfully. 

    Message Read

    Checks whether the message was read successfully. 

  2. Check for event occurrence

    1. Type or use the up and down buttons to set the time.
    2. In the list, select minutes, hours, or days.
  3. Click Done to add the action or Cancel to cancel the action.
info

Information

The evaluation will be done for the mentioned timeframe since the user has entered the stage.

arrow_drop_down Facebook

Do the following for the Facebook campaign:

  1. Select Facebook audience synced successfully to check whether the users of Facebook campaigns are synced with MoEngage. 
  2. Check for event occurrence

    1. Type or use the up and down buttons to set the time.
    2. In the list, select minutes, hours, or days.
  3. Click Done to add the action or Cancel to cancel the action.
info

Information

The evaluation will be done for the mentioned timeframe since the user has entered the stage.

arrow_drop_down Google Ads Audience

Do the following for the Google Ads Audience campaign:

  1. Select Google Ads audience synced successfully to check whether the users of Google Ads campaigns are synced with MoEngage. 
  2. Check for event occurrence

    1. Type or use the up and down buttons to set the time.
    2. In the list, select minutes, hours, or days.
  3. Click Done to add the action or Cancel to cancel the action.
info

Information

The evaluation will be done for the mentioned timeframe since the user has entered the stage.

Split Users Randomly

A/B Split Intelligent path optimizer

A/B Split allows you to test up to five flow paths variations to determine which is the best-performing option. You can experiment with different channels, different messages on the same channel, and different message frequencies across these flow paths. 

You can configure the experiment and, after analyzing the performance of each branch on publishing the flow, change the user distribution in favour of the winning branch. This enables most users entering the flow to go forward with the best-performing branch.

info

Opt for intelligence

You can configure MoEngage Flows to automatically adjust the user attribution in favor of the best-performing branch as more and more users enter the flow.

For more information, refer to Intelligent Flow Path optimizer

Test Setup

Add A/B Split at any part of your flow from the control category of flow stages. 

A.png

  • Add the number of branches you want to experiment with. You can add up to five branches in one A/B split stage. 
  • Configure the user distribution split for each branch. The variation percentage can be between 0-100 for each branch. 
  • Make sure that the sum of all the branch variation percentages is 100.  
check_circle

Test Everything

You can use the A/B split at any stage in a flow and add up to five A/B splits in one flow.

Make sure to add different display names for each branch to distinguish between the branches on  the canvas. 

Understand the Performance

As users enter the flow, each branch's performance keeps updating on the canvas. 

Screenshot_2021-01-11_at_11.34.07_PM.png

  • Email (50%) denotes the display name of the branch and the configured user distribution for the branch, which is 50 in this example. 
  • 4 Done is the number of flow trips that have gone through this branch. 
  • Converted trips are the number of branch trips that resulted in at least one conversion. 75% is the conversion rate for the branch in the example above.
  • The Engagement Score is a derived metric reflecting the engagement of the branch. The higher the number, the better the engagement. For more information on how the engagement score is calculated, refer here.
info

What is a branch?

  • All the action stages from an A/B split node to the flow exit stage are included in tracking the branch's performance. 
  • If the branch splits into multiple branches, the resulting branches are considered part of the parent branch. 
  • If a branch merges into another branch at some point, the common flow path is considered a part of both the merging branches.

Find a Winner

You can analyze and compare the branches' performances in the report for your split node. You can click the report option hovering over the stage on canvas or go to the split node stats section in the flow's detailed stats page and filter on a particular split node from the list. 

Screenshot_2021-01-12_at_10.20.29_AM.png

After analyzing the branch performance, you can choose to edit the configured user distribution so that most of the users entering the flow next will go forward through the best-performing branch.

 

Was this article helpful?
6 out of 10 found this helpful

How can we improve this article?