You can track actions your customers take as events, both while logged into your product and while visiting your website. 

Events record the first, last and total number of times a customer takes an action. Once you start tracking events in Intercom, you can filter your customers and send them auto messages based on their actions, including: 

  • When they’ve taken an action a certain number of times.
  • The first time they take an action.
  • When it has been “X days” since the last time they took an action.

You can track actions that your logged-in users, and logged-out visitors are taking. For example, you could track:

  • The most recent time a user performed an action. For example, the last time they exported a PDF, or visited your help center.
  • The first time a user opted for a paid plan, or used a discount code.
  • When a user invites someone else to your service.
  • When (and what) someone ordered on your site.

Important: The events described here are just examples, and may require assistance from an engineer or developer to implement. 👌 It's simple with the Intercom JavaScript API, the REST API, or one of our mobile SDKs.

These are just some of the ways you can use events to better segment your customers based on their actions and send both visitors and users behavior-driven messages.

Note: It's only possible to view events less than 90 days old in the activity timeline, both in user profiles and via the API. However, you can still filter and message users based on events older than 90 days. This will not affect the first/last occurred dates if they are over 90 days ago.

Events vs custom attributes

A custom attribute is data you track about your customers, e.g., how many projects they’ve created in your product. It's a single value about a single piece of information.

An event is information on what your customers do, and when they do it, e.g. when was the first time they created a project, and when did they most recently create a project.

Check out this article for more details on when to use custom attributes vs events.

Filtering and Messaging based on Events

By filtering your customers based on events, you can see:

  • Users who have created more than two reports.
  • Users that created their first report more than 5 days ago.
  • All pages a lead visited before signing up.
  • The heaviest users of specific features in your app.

Or, with event filters on your auto messages, you could target:

  • Visitors who have added a product to their cart, but not checked out.
  • Visitors who have downloaded your white paper.
  • Visitors who run into an error submitting a form on your website.
  • Users who have never used a feature, encouraging them to try it out.

You can combine these rules with some of Intercom's standard filters like the "Last Seen' filter, if you want to send the message to a more specific group of active customers. 

Please note:

It's currently not possible to filter your customers based on event metadata, or include it in messages. 

More ways to use events

You can capture many kinds of activity in Intercom using events.

Upgrade subscription

In this example, a user has changed their subscription from the Starter plan to the Dynamite Pro plan. You can view that as a plain event, like this:

You can also add context to the event by tracking some metadata with it, such as:

  • New plan name
  • New plan price
  • Previous plan name
  • Previous plan price
  • Date of change

You could use this event to send an auto message to thank a user for upgrading.

Product feature usage

In this example, a user has used a new mail feature. By tracking this kind of event you can conduct product research on the new mail feature and contact your users to find out things like "what worked well?" and "what could be improved?".


In this example you’ve recorded that a customer has purchased a video-game. This will allow you to send a cross-sell, or thank-you message to the customer. As well as noting that the purchase happened, you'll send along some extra metadata:

  • The name of the item ordered.
  • An order number that links back to the retail site. We can use a rich link here as that allows us to present the order number as the link title.
  • The order time. You can send this as a timestamp and show a nice readable date for the event.
  • The order amount. You can send the amount in dollars.
  • The Stripe invoice, which we'll create a link to.

Viewed page

You might want to know which visitors viewed a particular page, and how many times they viewed it. If visitors visit your pricing page multiple times, for example, maybe they’re interested in purchasing a subscription. Or, when users reach your confirmation page after a purchase flow, you might want to trigger a thank-you message.

If you want to filter the audience for a message to every visitor who viewed your pricing page more than twice, you can, if you track your pricing page views as an event.

What's next?

Did this answer your question?