Create event triggered push

Smart Triggers are a way to engage the user at the right moment by triggering push or in-app messages based on a set of event(s) executed by a user with particular user attributes. In our analysis we found, Smart Triggers drive up-to 4X higher conversions than the general push campaigns.

For ex. For an e-commerce app, if a user from the age-group of 18-25 years (user attribute) viewed a particular product category (user activity trigger), this user can be targeted with relevant promotional push/in-app content about that product category, triggered within a few minutes of activity.

The common use cases being:
- User On-boarding
- Driving first purchase
- Re-engaging Funnel drop offs ( Cart Drop-Offs, Subscription drop-offs, Payment Drop Offs etc.)


Smart Trigger Push Campaign

  1. Navigate to MoEngage Dashboard-> Engage->Campaigns.
  2. Click Create Campaign->Push Campaign
  3. Click Create button under Smart Trigger Campaign


Example: You want to set a Smart Trigger to target users, who have not Purchased in past 30 days, as soon as they abandon their cart and do not complete purchase with-in next 45 mins i.e. IF user have executed event Added to Cart AND has not executed event Purchase. 

Trigger for the campaign can be set in the following steps:

Step 1:

Select Platform on which you want to send the communication. You can also control that you target only the platform from where Trigger event is sent.

Screen_Shot_2018-07-16_at_1.12.36_PM.png Step1: Segment the audience that you want to target

Hitherto, Smart Trigger campaigns allow segmentation based on user attributes/device filters only. User events or custom segments based filters were not allowed for segmentation. 

But that is changing. We have recently introduced (currently in closed beta) complete segmentation capabilities in Smart Triggers. 


Note: Segments are refreshed at regular intervals. Hence a user may take up-to 45 to 60 mins to be correctly evaluated under segment condition.

Set Trigger condition basis which communication should be sent

Select user/derived event in the "if" condition and enter the event attributes. You can enter additional event attributes as well.

Campaign with Only IF Condition can be sent immediately 

We have enhanced the Smart Trigger push sending to allow marketers to execute time sensitive messages. Marketers can send the message based on single trigger event with-in 60s now.


  1. Send out the Welcome Message to users as soon as they Install or sign-up on the App
  2. Appreciate/Congratulate them on activation (first conversion)
  3. Send them a message as soon as cart is abandoned
  4. Target them with Cross Sell opportunities as soon as purchase is done



This "Immediate sending" feature is currently in closed beta.
Reach out to to get your hands on this.


Campaign with IF Condition combined with secondary AND condition

e.g. Send out a message if the cart is abandoned and purchase has not happened with-in a specific period of time

IF user does Added to Cart

AND has not executed Purchase with-in 45 minutes from Added to Cart

 THEN Trigger the message:


Send triggers on basis of Trigger Event property

With smart triggers, you can also trigger the message with respect to event attribute values of your IF event. Say you want to remind your users who have booked a flight, 2 hours before the flight time. You will then create your trigger on Flight Booked event using the event property Flight Time.


And set the message to be sent 2 hours before the flight time.


 And the way you can use this feature is only limited by imagination:

- Send discounts/reminders to your subscribers before subscription expiry

- Send communication minutes before the flash sale to customers who have registered for it

- Send reminder before customer's travel date/time, Cross Sell Hotels/Experiences/Local Transport/Restaurant Bookings

- Remind customers to refill consumables before it ends


Step 2: Configure your Messaging

The messaging component can be create in a similar manner to that of general push campaign. Read more about general push campaign in this article.

The only exception is the ability to add Personalization to Smart Trigger Push Campaign based on user attributes. Read more about Personalization in this article.

Step 3: Scheduling & Goals

You can choose the specific date & time when your Smart Trigger Push Campaigns should start and until when the campaign should run. By default the start time will be current time + 1 hour.

Additionally, the frequency of sending can be limited by setting maximum no. of times to show the message and the minimum delay between two messages.


You can set conversion Goal event and its attribute similar to general push campaigns.

Smart Trigger Push Campaign is ready to be created now. Click on "Create" Button and confirm on the dialog box to create the campaign.


Note: Campaign will be sent only when

- the event property/attribute which is being used to create these type of triggers (like flight_time in above example), is in a valid date-time format. If it is not in date time format, the string should have data in one of the supported formats. If the selected attributes do not contain data in any of these formats, the campaign won't be sent to your users. 

- the date/time value from attribute is greater than the time at which trigger condition is fulfilled

- the date/time value from attribute is less than 30 Days + the time at which trigger condition is fulfilled e.g. If your trigger condition is fulfilled at date D, your notification will be sent only when the attribute value is less than D+30

- Also note that Intelligent Delay Optimization does not work for campaigns sent on relative timing 

Supported formats for Date/Time Attributes are:

- Date/Time Format sent via MoEngage SDK

- Date/Time values sent in String formats as under:

“EEE MMM dd HH:mm:ss Z yyyy”,
“EEE MMM dd HH:mm:ss yyyy zzz”,
“EEE, MMM dd HH:mm:ss yyyy zzz”,
“EEE, dd MMM yyyy HH:mm:ss zzz”,
“EEE,dd MMM yyyy HH:mm:ss zzz”,
“EEE, dd MMM yyyy HH:mm:sszzz”,
“EEE, dd MMM yyyy HH:mm:ss”,
“EEE, dd-MMM-yy HH:mm:ss zzz”,
“yyyy/MM/dd HH:mm:ss.SSS zzz”,
“yyyy/MM/dd HH:mm:ss.SSS”,
“yyyy/MM/dd HH:mm:ss zzz”,
“yyyy.MM.dd HH:mm:ss”,
“yyyy-MM-dd HH:mm”,
“MMM dd yyyy HH:mm:ss. zzz”,
“MMM dd yyyy HH:mm:ss zzz”,
“dd.MM.yyyy HH:mm:ss zzz”,
“dd MM yyyy HH:mm:ss zzz”,
“dd.MM.yyyy; HH:mm:ss”,
“dd.MM.yyyy HH:mm:ss”,
“dd.MM.yyyy zzz”

ZZZ - Represents the reported timezone
EEE - Represents Day of the Week e.g. Tue
MMM - Represents Month of the Year e.g. Jun
HH:MM:SS - Time that represents the hour of the day, minutes of the hours and seconds of the minute
DD:MM:yyyy and DD:MM:YY are the date formats as most commonly used

Note: We do not support MM/DD/YYYY formats. In case if time-zone is not mentioned in your event property, it will be considered as UTC and notification will be sent accordingly.

To sum up, Smart Trigger is a great way to engage the right users (through segmentation) at the right time (through smart triggering).

Pausing a Smart trigger campaign 

An active smart trigger campaign can be paused by clicking the "Pause" button present at the top right corner on the campaign details page. 


When paused, the users who qualify to receive the campaign by performing the trigger event(s) will not be sent any message from the campaign. The users who had already qualified before the campaign was paused, will be sent the campaign.

Pausing the campaign with queuing the triggers 

In addition to pausing the campaign, you can choose to queue the triggers that qualify to receive the campaign during the period campaign is paused. You can choose to process those triggers in the queue at the time of resuming the flow or you can choose to purge the queue and resume the campaign for new triggers. 

Beta Alert

This "Pause and Queue" feature is currently in closed beta.
Reach out to to get your hands on this.

How does this work?

Once the feature is enabled, at the time of pausing a campaign you will see the option to queue the triggers while the campaign is in the paused state. You should explicitly enable this option for queuing to start.


Any trigger when queued will stay in the queue for a maximum of "Queuing period", which is a configurable period for each client that applies to all type of Start trigger queuing. The queuing period can be a maximum of 24 hours. 

While resuming a paused campaign that was paused with queuing you will now have 2 options


  1. Process the queued triggers and send them the campaign 
      • When selected the queued triggers will be sent the latest message(if edited) in the FIFO order.
      • The campaign when resumed will adhere to the configured DND settings and the campaign will be sent out at the next available non-DND hour for the queued triggers. 
      • To identify the delay in sending the campaign from the expected time as per the campaign schedule, we have added "was queued" attribute to the campaign sent event to reflect that the delay in sending was due to the trigger being queued as the campaign was paused.

  2. Discard the queue and purge the triggers that are currently in the queue as per the queuing period 
    • When selected, the queued triggers not be processed and the queued triggers will be purged. The campaign will start processing the new triggers that qualify after resuming the campaign. 
    • To identify these purged triggers that will not be receiving the campaign, the "Trigger Purged" event will be added to the user profile of all such users whose triggers are purged.  

The Trigger purged event is also raised when the queuing period ends for queued triggers and it is removed from the queue. Such triggers will not be sent a campaign upon resuming the campaign. 


Trigger Purged event is generated when the notification is finally not sent to the user. It can happen in 2 cases:
(a)  after the paused campaign is resumed with the option to purge the queued triggers 
(b) the trigger has been in the queued state for more than the queuing period (max 24 hours) and the campaign has not been resumed yet.



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