How to Cross-Sell Bill Payments


Cross-selling is one of the effective ways for a marketer to increase stickiness and customer lifetime value (CLV) of users. FinTech applications process several types of Bill Payments (Gas, Electricity, Mobile, Broadband, and so on). Bill payments tend to be sticky as most of them have one time effort in set up and subsequent payments can be automated with autopay options.

In this article, we will create a Flow campaign to nudge users who made their first bill payment in any category, to also use it for other bills. We will use the Conditional Split feature in Flows to achieve this use case.

Expected Result

Users receive a Push Notification on their phone to pay bills:




  • Events to track the action of a bill payment for a user and related information such as the category, bill amount, paid date, next due date. In this example, we will name the event as "Bill Payment Completed". To understand how to track events, refer to the Developer Guide.
  • Settings for one or more channels such as Push, Email, SMS, or WhatsApp.

Create a Flow

In this section, let us create a Flow to nudge your customers to pay other bills when they pay for a bill for the first time in the app.

Add Flow Details

  1. Navigate to Engage > Flows and click + Create Flow or navigate to the sidebar, click + Create new, and then click Flow.
  2. Click + Start with a blank canvas to start building your flow for the use caseYou are taken to the first step “Details and goals”. 
  3. Enter the following details:
    • Flow Name: Enter a flow name. For example, "Cross Sell Bill payments".
    • Flow tags: Select the required flow tags.
  4. Under the Conversion goal section, turn the Exit on conversion toggle on to exit users who convert by doing the event “Bill Payment Completed”. This is your primary conversion goal, which triggers when a user completes the payment successfully to a bill.
  5. Click Next to move the second step “When will users enter the flow”. This step helps you define when to allow the user by mentioning the trigger conditions. For our example, the event can be “Bill Payment Completed".
  6. In the IF user section, select the event "Bill Payment Completed" that gets triggered when a user pays a bill successfully.
  7. In the THEN enter the user section, select the Immediately option.
  8. In the Flow Schedule section, define a start time and an end time to the flow if required. By default, the flow will start “As soon as possible” and will never end.
  9. Turn the Limit user entry into this flow toggle on to define the maximum time a user can enter the flow. Defining such limits helps you control users from re-entering the flow repeatedly and thus avoid spamming them too much, which in turn provides a better user experience.
  10. Click Next to move to the third step “Who will enter the flow”. This is where you select the target audience and control groups for your Flow.
  11. In our use case, you are cross-selling to users who paid a bill for the first time so the audience is essentially users who have never paid. You will allow the user to this flow just after their purchase. On the User behavior tab, select "Has Not Executed" in the first drop-down list, and then select the "Bill Payment Completed" event in the second drop-down list. The target audience definition is shown below:
  12. Click Next to move to the canvas section where you can define the Flow structure that you want the user to move through.

Define Flow Structure

  1. Click the + icon. A drawer is displayed.
  2. Under Conditions, add the entry condition as “Conditional Split” to split users based on the category for which they have paid and entered the flow.
  3. To do the same, click the edit icon of the added Conditional Split stage.
  4. Select "Trigger condition: Bill Payment Completed" under the Flow entry events section. Selecting this option helps to split the users among branches based on the event that allows them to enter and not to expect a new event after they enter the flow. For more information, refer to Branching of Users via Condition Stages.
  5. Click + Attribute and select the "Category" attribute, the one which will have the type of bill that the user has paid.
    When a conditional split shown in the image above is defined, users who enter this flow by paying a mobile bill will go through Branch 1, which is named as Mobile Bill. Other users will go through the Default Branch.
  6. Add additional categories using the conditional split based on your requirements.
  7. Add an Action stage from which you would like to message your users for cross-selling. Splitting users like this helps the message to be specific enough to nudge a user to try out Electricity Payment, House Rent, and others when they enter the Mobile Bill branch and vice versa in other branches.
  8. To make this process simple, you can define your action stage in Branch 1, copy it to other branches, and do minor edits instead of starting from scratch.
    1. Hover the mouse on the defined stage and click the copy icon.
    2. Click the + icon where you want to add the stage and click the top section of the drawer.
      12.pngThe same Push stage with exactly same configurations as in the Electricity Bill branch is added.
    3. Do the required modifications so that here the nudge is to try Mobile Bills, House Rent, and so on.
  9. Use additional information about the user such as the user's name, gender, or any other information to personalize the message while editing your action campaign. Also include details about their last payment’s time taken or other related information. Personalized messages can perform better than generic messages because the users feel valued and connected to the brand. For more information, refer to Personalization in Flows.
  10. After defining an Action campaign in each of your branches, add a Has done event stage to check if the user has converted, by choosing the “Bill Payment Completed” event from the drop-down list or any other goal of yours.
  11. Turn the Keep evaluating for the next toggle on to define the maximum time to wait for the user to execute the event. For our use case, enter 2 days.
  12. Like you did for actions stages, you can copy this condition stage also across all branches. For more information, refer to Add Actions to Flows.
  13. Add as many action campaigns you want to nudge the user in the No path. Make sure to have some gap between any two communications to avoid spamming the user by using a Wait stage, especially in the Yes path of your “Has done events”. For more information, refer to Add Controls to Flow.
  14. Click Publish.


In this use case, we created a Flow campaign to nudge users who made their first bill payment in any category, to also use it for other bills.

  • Now that we have published the Flow, we can analyze how well our Flow is performing.
  • We can understand how many users entered the flow because of our campaign. Create a segmentation on the “User Entered Flow” event by mentioning the “Flow ID”. For more information, refer to Users who have entered/exited the Flow.
  • We can also understand how users actually paid other bills because of our campaign. Create a segmentation on the “Flow Trip Conversion” event by mentioning the “Flow ID”. For more information, refer to Conversion Tracking and Attribution in Flows.



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

How can we improve this article?