How do filters work?

You can filter your leads and users in many ways, to create a segment, or target them with a message.

Beth-Ann Sher avatar
Written by Beth-Ann Sher
Updated over a week ago

You can filter your customers in Intercom based on: the tags they have, the segments they are in, events they have completed, their standard attributes and their custom attributes. This article covers how to use filters with your standard and custom attributes.

There are four types of attribute. Each has different filters:

  • Text: ‘Starts with’, ‘Ends with’, ‘Contains’, 'Contains exact word', ‘Is’, ‘Is not’, ‘Is unknown’, ‘Has any value’.

  • Number/Decimal Number: ‘Greater than’, ‘Less than’, ‘Is’, ‘Is not’, ‘Is unknown’, ‘Has any value’.

  • True or False (Boolean): ‘True’, ‘False’, ‘Is Unknown’, ‘Has any value’.

  • Date: ‘More than’, ‘Less than’, ‘Exactly’, ‘After’, ‘On’, ‘Before’, ‘Is unknown’, ‘Has any value’.


  • 'Is' and 'Is not' filters are case sensitive. A filter like 'Name is "john doe"' will not match a user with the name 'John Doe'. 'Name contains "john doe"' will match.

  • "Contains" can match the keyword if it's part of a larger word (i.e. "Contains post" will match for the words posted and poster and posting), whereas "Contains exact word" would require that the word post is standalone.

  • For numbers, we don't have a greater than or equal to number so instead you will need to use the greater than filter. For example if you need to filter "greater than or equal to 3" then you would use the filter, "greater than 2".

Standard attribute filters

You can filter your customers based on their activity with these standard attributes: 

  • Last contacted at - The time they were last contacted by you, with an auto/manual message, or with a reply in a conversation.

  • Last heard from at - The time they last contacted you, either directly or in reply to a message.

  • Last seen - The time they were last tracked by Intercom in your app or on your site.

You can also filter for those customers who can receive email messages:

  • Unsubscribed from emails - If this is “True” these people will not receive any auto-message emails or manual message emails sent to a large audience.

  • Has hard bounced - This will be “True” for any person that you’ve tried to email where that email bounced back to Intercom. We’ll no longer attempt to send any emails to this address.

  • Marked email as spam - “True” for anyone who marks one of your emails as spam. We’ll no longer attempt to send any emails to this address.

Intercom applies these filters to your message audiences automatically, which can lead to lower numbers than expected.

Looking to send a campaign to all brand new users? Just add a filter in the entry criteria for “Signed up after [Today’s date]”. This will exclude all your existing users, and start sending to your new ones from tomorrow.

To filter your customers by country, use the full name of the country like this:

Click here for the full list of the ISO 3166 country names available.

Date filters

Each “day” in Intercom’s filters represents a 24 hour period, beginning at the current moment. This means that a filter for “signed up exactly 0 days ago” would match any user who signed up less than 24 hours ago. If they signed up between 24 and 48 hours ago, that’s “1 day ago”.

If you want to create filters for dates in the future, you need to use negative numbers. For example, if you want to send an auto message to customers 3 days before their subscription ends, first create a "subscription_ends_at" custom attribute and filter for "more than -3 days ago":

Then, to ensure it doesn’t send to anyone whose subscription has already ended, add a filter for "less than 0 days ago." 

Important: Filters for “less than X days ago” will also apply to  dates in the future. If you’re filtering on an attribute that can be a past or future date, add a filter for “More than 0 days ago” to only target those in the past. 

Company filters

If a person is a member of multiple companies in your workspace, only one of their companies needs to match a filter for them to be returned. For example, if you create a filter for “company plan is Premium” this will match any customer where at least one of their companies is on your premium plan, even if their other companies are not.

To filter for users that aren't in a company, create a segment with a filter for “company name has any value”, then filter for all customers who aren’t in that segment.

Mobile filters

To identify users of your mobile app/s, you can filter for those with iOS or Android sessions

You can then filter further with more specific filters for each platform like “Last seen on iOS” and whether or not they’re identified users. 

To filter for customers who can receive push messages, use the standard attribute “Enabled Push Messaging”. 

To identify people using a certain mobile operating system, you can filter for: 

  • OS contains Android

  • OS contains iOS

  • OS contains Windows

OS filters will include people who have visited your website or web app from their mobile browser. iOS/Android session filters will only include sessions from your mobile app, where you have Intercom installed with one of our SDKs.

This may not include users on every mobile device, but will cover the majority.

Combining 'And' filters with 'Or' filters

To target a more nuanced set of users or leads, you can combine 'and' with 'or' to create more flexible rules. For example, you could target users on one of two plans, who signed up less than 60 days ago.

Just add the first filter, then click '+ Add filter':

After you add your second 'And' filter, click the '+' to create a filter group, and add your second OS filter:

Finally, set the filter group to use 'Or' logic:

Now, your filters match all users who are either on iOS or Android.



Need more help? Get support from our Community Forum
Find answers and get help from Intercom Support and Community Experts

Did this answer your question?