As customers engage with your product or service, you’ll likely need to send them the same messages more than once, usually after a specific event occurs, or they take a certain action. For example, sending them an order confirmation after they make a purchase, or alerting them that a process has completed.
Event based messaging lets you do exactly that. Create a Chat, Post, Mobile Carousel, Push, SMS, Workflows, Surveys, Product Tour or Banner message that is triggered each time an event is tracked, with built in protection against over-messaging. Event based messages can also contain information from the event, so even your notifications are personalized.
Important: To send transactional messages like this, you must be tracking events in Intercom.
You can track events with the JavaScript API, Google Tag manager, the REST API, or apps and integrations. If you’re unsure how to track events in Intercom, you may need assistance from a developer or engineer. We recommend checking with whoever installed Intercom for your company.
Create an event based message
Start by creating (or editing) a Chat, Post, Mobile Carousel, Push, Workflow, Survey, Product Tour or Banner message (in this example we’ll use a Banner).
To configure how this message is triggered by an event, click “+ Add event or date rule” under “When to send” in the rules tab:
Note: This must be a dynamic message, not a fixed (one-off) message to use an event trigger.
Then, select the event that should trigger the message. In this example we want the message to trigger whenever an upload is completed, so we can encourage the user to share it:
Note: Events that have already occurred will not trigger the message, only those that are tracked after the message is set live.
After you add your event you can use the frequency and scheduling tab to choose how often you want the message to send.
We always want to alert customers that their uploads are complete, but it's important to modify these settings to ensure we don't over message them. For this example, we'll change the limit from once per minute, to once per hour.
Why is the limit one message per hour? If there was a shorter limit, customers could easily become overwhelmed by the number of alerts they receive.
You can see in the example above, that only the first and fourth events trigger the message as they are an hour apart - this helps prevent your customers from being over messaged. It's important to take this into account when sending event based messages. |
Once you're happy with the limit, you can define the maximum number of times customers can receive the message. Maybe it’s a reminder that you want to send two or three times, or maybe it’s a notification that should always send unless you stop the message:
We want to ensure customers always receive alerts when their uploads are complete, not just for the first three uploads, so we'll change this to keep sending until the message is stopped.
Here are some other uses for event-based messages:
Send a mobile push to your customers when a task is assigned to them.
Send a mobile carousel when they unlock a new area of your app.
Send an SMS message when they have an upcoming appointment.
Send them a banner notification if their trial is about to expire, or their payment failed.
Note:
Messages will not trigger on past events.
While you can define an event's created_at when triggering an event using our API, event-based messages will send when the API request is made, regardless of what created_at value is sent.
While events can be created via REST API, it has a limitation that a Product Tour can't be triggered by a REST API call. Instead, we recommend creating the event via the Javascript API.
Events sent via the JavaScript API will trigger for all available message types.
Messages with an event trigger are not eligible for re-notification (the "Show Bot until" feature) . When an event trigger is added to the rules, the “Show Bot until” option is hidden.
Filtering your message audience based on event metadata
If you track metadata with your events you can also add rules so the message will only be sent when certain criteria are met.
For our example we’re notifying customers about a finished upload, so we can ensure it only sends on uploads that took longer than 2 minutes, where they’ve left the page:
Pro tip: We highly recommend tracking event metadata for more than just filters. You can also include metadata in event based messages for a more relevant, personal experience. Learn how to track event metadata in this article, or read on to learn about including it in messages.
You can even use When rules with Where rules like “Time on page” or “Current URL”:
With the event trigger configured, you’re ready to compose your message. 👇
Composing an event based message with metadata
Composing a message that sends when events occur, is very similar to composing any message in Intercom, with two additional considerations ✌️
The first is you can include event metadata in the message body (or subject for a mobile push). Just click the {...} menu:
Then select the appropriate metadata. In this example (which sends when a file is uploaded) you could include the file name, or a direct link to it.
Important: Metadata may take 24 hours after it is first tracked to appear as an option in the message composer.
We recommend including event data wherever relevant for more tailored and useful messages. You can use metadata to include other important information, like:
Purchase details.
Shipping information.
Password reset links.
Product images. — Just send the URL as a metadata value, and insert it in an HTML block.
And more...
Note:
Metadata isn’t formatted in your messages, so ensure it is tracked in the way you’d like it to appear. E.g.: “$9.99” for price, instead of “999”.
You can only include metadata in the message after selecting an event as your “When” filter.
Metadata from newly added events currently take one day to appear in the message composer.
Only 1 event-based rule can be used per message.
Only the first 20 metadata keys associated with the event are available for use. Any additional keys will not be rendered.
The first 20 metadata keys are determined by the order in which they are sent in with the event.
Nested metadata values aren’t supported, read this article to learn more.
The second thing to keep in mind, is that your customers may see this message multiple times. So while it can (and should) be personal, they’ll be aware that it is automated and transactional. We recommend using a much simpler, more direct tone of voice. 👌
Finally, add any other audience filters as you normally would, set a goal if you'd like, and schedule your message:
Pro tip: You can use other events as audience filters too, read this article to learn more about the difference between using events as triggers, and using them as filters.
Event based messages in Series
Events can also trigger content from a rule block in Series:
Notes: Event metadata cannot be included in messages in a series. As a workaround, you can create a standalone message with your event trigger and metadata, then copy the message into your Series, so that it carries over the metadata.
What’s next?
Need more help? Get support from our Community Forum
Find answers and get help from Intercom Support and Community Experts