Realtime event triggered campaigns allow the marketer to reach customers immediately in response to their actions. This execution paradigm contrasts the batch oriented nature of scheduled campaigns where, at a point in a time, a segment is reached.

A realtime event triggered campaign consists of a filter (formerly expression), content, and constraints. When a customer's event matches the campaign filter, that user will immediately receive the content associated with the campaign, subject to meeting the constraints defined below. Both email and push notifications are supported for realtime event triggered campaigns.

There are three constraint types for realtime event triggered campaigns:

  1. Specify an optional maximum total number of messages to send for this campaign in a given hour. Message counts are reset back to zero on the hour.
  2. Specify a required maximum number of messages to send to any particular user for this campaign in a given hour. Message counts are reset back to zero on the hour.
  3. Specify a required maximum event age (now minus the ts of the event) below which an event can match the triggered campaign filter and trigger a content send. Older events are ignored. E.g., if you specify a max age of 30 minutes and send in historical events that are from the previous month, none of those events will be considered for triggering a send.

Related Dimensional Data

All events are associated with a customer, and some events are associated with a product (e.g., a product add to cart event). Realtime event triggered campaign filters can include clauses that reference fields in the associated customer or product even though a given event only contains a product_id (in the product case) or some subset of identifiers in the customer case (e.g., customer_id, or just email). As an example, you can define a filter "Added Expensive Item To Cart" as follows:

If product with product_id 123 costs more than $100, then the following event would match the filter:

zaius.event("product", 
            {action: "add_to_cart",
             product_id: "123"});

In addition to being able to use associated dimensional data in the realtime event triggered campaign filter you can also reference it the campaign content template. E.g., campaign content for the aforementioned example can reference product fields:

Example Use Case: Welcome Email

Suppose you have a signup form on your site or in your app where customers can sign up to receive newsletters and discounts. They submit their email and you would like to immediately email the person a welcome email. In this case we would suggest that you associate a unique event type and action combination with this signup event so that you can trigger a welcome email on such an event (e.g., event type "account" and action "signup").

zaius.event("account", 
            {action: "signup",
             email: ""});

In order to set up the campaign, first define a filter to match strictly these events:

Reference this filter in the Audience section of campaign creation:

Create your welcome email content, set your constraints, and activate the campaign. The campaign is immediately live!

Did this answer your question?