Live Rules in powers you to act on a user’s “current” behaviour in real-time instead of pre-segmenting a set of users or acting on every user. Upshot Live Rules a set of conditions/activities that a user might have performed right now OR performed a set of activities earlier and following up with another activity in your application right now.

You can define the set of conditions in the Live Rules. then monitors the user behaviour during their visit in the application and the moment their behaviour matches with your criteria, they are immediately presented an Upshot Activity that matches the Live Rule campaign..

You can create Live Rule based on custom events such as user who just performed purchase event or based on locations such as user who entered in to a particular location.

  1. You can access Live Rule module in the Target Audience section of dashboard.

  2. To create a new Live Rule click on “Create Live Rules” button.

  3. Add event or location based filter to the Live Rule.

  4. Let us create a Live rule for the customer who just made a payment for an electronic item.


    Note: You can add as many as 8 filters in two groups combined with a maximum of 4 filters a group to the Live Rule with Boolean expression (And, OR), comparison operators (greater than, less than, equals, etc) platform based (Android, iOS, Desktop Web, Mobile Web)

  5. Give a name and save the Live Rule.


    Once created the Live Rule will be in draft status. Click on “Draft”to make the Live Rule active. Note that only active Live rules will be available for use. Create a clone of the Live Rule by clicking on the plus sign. Edit and delete options are available only during draft status.

Server Rules

Server rules are similar to live rules except that they are executed in the back end. These are mainly used when data is sent to through any medium other than the standard SDKs. For example, Amazon SQS. The main purpose of server rules is to execute live rules in the back end when there is no scope of doing the same on the front end.

Server rules support the exact same functionality as Live rules except for the condition “On occurrence”. While creating a server rule, you must check the checkbox which says “Server rule” and follows the same directions given for Live


When a Server rule is triggered, the rule information is passed back to the integrator in the form of a message to the output queue. In order to use a server rule, one must configure their own output queue in the Upshot dashboard. The output queue should have write permissions enabled for Upshot in order to consume the messages from Upshot.


Live Rules vs Server Rules vs Segments

Live Rules rules enable you to engage the user instantaneously on mobile and web applications. The most popular usage example of this would be to reward milestone badges to the users when they complete a certain goal. Server rules are used when there is no way to perform the execution on the client side. It can be used to promotional emails, push notifications to users instantly when a certain goal is achieved. The limitation here is that we can’t display something on the UI. Segments are used when you need to categorise a group of users based on certain constraints or conditions. Segments are used when instantaneous execution is not necessary and when you want to engage all the users in a practical segment at once. The refresh rate of segment is 4 hours which means users will be added or removed from the segments based on their status in every 4 hours.

When a live rule based activity can’t be displayed because other Upshot action is already being displayed then one of two things can happen.

  1. Badges: Badges will be automatically displayed after the currently displaying action is dismissed.
  2. Other actions: Other actions will be marked as taken but will not be shown again.

All actions will be marked as taken as soon as the Live rule is triggered regardless of the fact that they are seen by the user or not.

Activities are not supported for server rules. They are presently exclusively used for sending messages to an external output. When a server rule is triggered, the rule and the corresponding user identity will be push as a message into the configured external output queue.