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, Outbound Custom Bot 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, Outbound Custom Bot 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 them a banner notification if their trial is about to expire, or their payment failed.

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.

  • An event can be tracked with up to 10 pieces of metadata.

  • 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:

  • No message in a series can be sent to a user more than once.

  • Event based rule blocks will not cause people to re-enter a series.

  • Event metadata cannot be included in messages in a series.

What’s next?

Did this answer your question?