Overview
Do you want to send a reminder to users about their booked flight 2 hours before the flight time? What about reminding them of an item they added to a cart but have not purchased in the last hour? Or sending a notification to recharge their mobile data pack 2 days before it expires?
You can create these types of scenarios using event-triggered campaigns. These campaigns send personalized messages and notifications when users perform specific actions tracked on your app or server. Event-triggered campaigns allow you to target users at the right moment and in the right context to increase engagement.
library_add_check |
Prerequisites Accurate and consistent event tracking (via SDKs) is important for effective event-triggered campaigns. Ensure that your platform/app is integrated correctly with the MoEngage SDKs. |
Use Cases
You can achieve the following scenarios with event-triggered campaigns:
- Send an order confirmation message after a user completes a purchase.
- Re-engage users who abandon a funnel (for example, cart, subscription, or payment drop-offs).
- Send reminders with discounts to subscribers before their subscription expires.
- Send a message (SMS or RCS) when a user opens the app but does not make a purchase within two hours.
- Remind users about the expiry of a subscription purchased last month, 1 day before the expiry date.
- Send a message minutes before a flash sale to shoppers who registered for it.
- Cross-sell hotels, experiences, local transport, or restaurant bookings to users who booked a flight ticket to a particular city.
- Remind users who buy medicines to reorder before they run out.
info |
Note This article focuses on setting up trigger conditions for event-triggered campaigns. For complete information on creating campaigns, see the following articles: |
Set Up Trigger Conditions
This section explains how to define the event criteria that trigger a campaign notification. To define the trigger condition, perform the following steps:
- On the left navigation menu in the MoEngage dashboard, click Engage, and then click Campaigns.
- On the All Campaigns page, in the upper-right corner, click + Create Campaign.
- Select one of the following channels, and then click Event Triggered:
- Push
- SMS & RCS
- Facebook (in the User Qualification Criteria section, select Based on Trigger Event)
- Google Ads (in the User Qualification Criteria section, select Based on Trigger Event)
- Connector
- Connected Apps
- In the If User section:
- In the Has Executed list, select a user action event or derived event that starts the campaign. This is the primary filter.
- Click + Attributes to add attributes to the filter. (Optional)
- Click + Filter to add another filter to the primary filter. (Optional)
- In the Then Trigger the Message section:
- Select Immediately to send the campaign within 30 to 60 seconds.
- Select With Delay, and then define the timeframe and event criteria for sending the campaign:
- Enter the number, and then select minutes, hours, or days.
- Select Before or After the time.
- Select the user action to perform in the list for the If condition. After the first action, the user must perform this additional action within the specified delay time.
info Note
Select the Use Intelligent Delay Optimization checkbox to optimize campaign delivery in real-time after the user event conditions are met. This option is available only for Push campaigns. For more information, see Trigger Delay Optimization.
For example, instead of sending a fixed 2-hour cart abandonment reminder, intelligent delay optimization sends it at the user's predicted most engaged time within that window, potentially increasing conversions.
Campaign with Only the Primary Condition
You can send time-sensitive messages. You can immediately send campaigns with only "if" conditions. These campaigns can send the message based on a single trigger event within a few minutes of the defined trigger action.
For example, send a confirmation email immediately after a purchase.
Campaign with Multiple Primary Conditions
You can set up event-triggered campaigns with multiple primary conditions. Users receive the campaign after completing any one of the trigger events. In the Primary trigger event(s) section, you can add multiple events using the "OR" operator by clicking + Add alternate trigger event. For example, to send a message if a user has performed the Added to Cart event or the Added to Wishlist event, you can configure the conditions as shown below:
info |
Note Configuring event-triggered campaigns based on multiple primary conditions is available for Push, Email, WhatsApp, and Connectors. |
Campaigns with Primary and Secondary Conditions
You can set up event-triggered campaigns with multiple conditions. You can define a primary "If" condition and a secondary "AND" condition. For example, you can send a message if a user adds a product to the cart but does not purchase it within a specific period of time. An example condition to trigger the event looks as follows:
If the user has performed the Added to Cart event AND has not performed the Product Purchased event in the past 30 days from the Added to Cart event, then trigger the message.
Configure Triggers Using an Event Property
Event triggers let you send messages based on specific values of an event attribute in your If event. For example, to remind users about a booked flight 2 hours before the flight time, create a trigger on the Flight Booked event using the flight_time event property. Then, set the notification to send 2 hours before the flight time.
To set up a trigger:
In the If User section, in the Has Executed list, select the Flight Booked event as shown below:
In the Then Trigger the Message section, set the message to send 2 hours before the flight time as shown below:
info |
Note Event-triggered campaigns send only when:
|
Define Your Target Audience
Define your target audience by selecting User Property, User Behavior, or other options as shown below.
When you create campaigns, if the attributes in the target audience contain multiple data types, pin the data type on the Data management page. Otherwise, the number of users who receive the communication may be inconsistent.
info |
Note Mark the allowed data types for your event and user attributes. This ensures that the appropriate operators are available for segmentation and analytics. After you define the allowed data type for your attributes, MoEngage attempts to typecast incoming data to the set data type. You can define the data type in the Data management page. |
Supported Formats for Date/Time Attributes
The following date and time formats are supported:
- Date/Time format sent through the MoEngage SDK
- Date/Time values sent in string formats, such as:
“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: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”
Where:
- ZZZ: Represents the reported timezone
- EEE: Represents the day of the week (for example, Tue)
- MMM: Represents the month of the year (for example, Jun)
- HH:MM:SS: Represents the hour of the day, minutes of the hour, and seconds of the minute
- DD:MM:yyyy and DD:MM:YY: Common date formats
warning Warning
We do not support MM/DD/YYYY formats. If the time zone is not mentioned in your event property, the UTC is considered, and a notification is sent accordingly.
Linked Conditions
You can also add dynamic, linked checks based on a user's properties or past actions. For example, with linked triggers, you can check if a user added a product to the cart but did not purchase it, or if they purchased a product from a previously browsed brand without manually entering specifics. For more information, see Linked Conditions.