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 Merlin 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.
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:- On the MoEngage Canvas, click +.
- 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.

- On the All stages tab:
- 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
- Click the stage you want to add.
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.
- Under Conditions & controls, click the category to explore the condition stages you can add:
- On the Conditions & controls tab, click the stage you want to add.
The selected stage is added to the canvas.
- 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.
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:
New Navigation
New Navigation
Old Navigation
Old Navigation
Campaign-Based Conditions
The following are the types of campaign-based conditions provided by MoEngage:Email
Perform the following steps for an email campaign:
- 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. - Check for event occurrence.
- Type or use the up and down buttons to set the time.
- In the list, select minutes, hours, or days.
- Click Done to add the action or Cancel to cancel the action.
The evaluation will be done for the mentioned timeframe since the user has entered the stage.
Connector
Connector
Perform the following for the Connector campaign:
- Select Connector sent successfully to check whether the connector is sent to the user.
- Check for event occurrence.
- Type or use the up and down buttons to set the time.
- In the list, select minutes, hours, or days
- Click Done to add the action or click Cancel to cancel the action.
The evaluation will be done for the mentioned timeframe since the user has entered the stage.
Push
Push
Perform the following for the push campaign:
- 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. - Check for event occurrence
- Type or use the up and down buttons to set the time.
- In the list, select minutes, hours, or days
- Click Done to add the action or Cancel to cancel the action.
The evaluation will be done for the mentioned timeframe since the user has entered the stage.
SMS
SMS
Perform the following for the SMS campaign:
- Select SMS sent successfully to check whether the SMS is sent to the user.
- Check for event occurrence
- Type or use the up and down buttons to set the time.
- In the list, select minutes, hours, or days.
- Click Done to add the action or Cancel to cancel the action.
The evaluation will be done for the mentioned timeframe since the user has entered the stage.
On-Site Messaging
On-Site Messaging
Perform the following for the On-site Messaging campaign:
- 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. - Check for event occurrence.
- Type or use the up and down buttons to set the time.
- In the list, select minutes, hours, or days.
- Click Done to add the action or Cancel to cancel the action.
The evaluation will be done for the mentioned timeframe since the user has entered the stage.
In-App Messaging
In-App Messaging
Perform the following for the In-app Messaging campaign:
- 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. - Check for event occurrence.
- Type or use the up and down buttons to set the time.
- In the list, select minutes, hours, or days.
- Click Done to add the action or Cancel to cancel the action.
The evaluation will be done for the mentioned timeframe since the user has entered the stage.
Cards
Cards
Perform the following for the Card campaign:
- 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. - Check for event occurrence.
- Type or use the up and down buttons to set the time.
- In the list, select minutes, hours, or days.
- Click Done to add the action or Cancel to cancel the action.
The evaluation will be done for the mentioned timeframe since the user has entered the stage.
WhatsApp
Do the following for the WhatsApp campaign:
- 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. - Check for event occurrence
- Type or use the up and down buttons to set the time.
- In the list, select minutes, hours, or days.
- Click Done to add the action or Cancel to cancel the action.
The evaluation will be done for the mentioned timeframe since the user has entered the stage.
Facebook
Do the following for the Facebook campaign:
- Select Facebook audience synced successfully to check whether the users of Facebook campaigns are synced with MoEngage.
- Check for event occurrence
- Type or use the up and down buttons to set the time.
- In the list, select minutes, hours, or days.
- Click Done to add the action or Cancel to cancel the action.
The evaluation will be done for the mentioned timeframe since the user has entered the stage.
Google Ads Audience
Google Ads Audience
Do the following for the Google Ads Audience campaign:
- Select Google Ads audience synced successfully to check whether the users of Google Ads campaigns are synced with MoEngage.
- Check for event occurrence
- Type or use the up and down buttons to set the time.
- In the list, select minutes, hours, or days.
- Click Done to add the action or Cancel to cancel the action.
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.


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.
Opt for intelligenceYou 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.
- 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.
Understand the Performance
As users enter the flow, each branch’s performance keeps updating on the canvas.
- 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.
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.















