Customer Communication with Intercom.io

Intercom is a great tool that we have been using at Tanda to communicate with and learn from customers.

Intercom has three distinct features, we try to use all of them to keep in touch with our userbase.

  • Observing users - https://www.intercom.io/customer-intelligence
  • Messaging users - https://www.intercom.io/customer-feedback & https://www.intercom.io/customer-engagement
  • In-app support - https://www.intercom.io/customer-support

Observing users

This relates to the data that you can send to Intercom about users. You can enter user data, company data, and event data. First you include the Intercom JS snippet they provide you:

<script>(function(){var w=window;var ic=w.Intercom;if(typeof ic==="function"){ic('reattach_activator');ic('update',intercomSettings);}else{var d=document;var i=function(){i.c(arguments)};i.q=[];i.c=function(args){i.q.push(args)};w.Intercom=i;function l(){var s=d.createElement('script');s.type='text/javascript';s.async=true;s.src='https://static.intercomcdn.com/intercom.v1.js';var x=d.getElementsByTagName('script')[0];x.parentNode.insertBefore(s,x);}if(w.attachEvent){w.attachEvent('onload',l);}else{w.addEventListener('load',l,false);}}})()</script>

Then you create an intercomSettings object which has data about the current user, and their company.

<script>
window.intercomSettings = {"name":"CM Burns","email":"burns@Compu-Global-Hyper-Mega-Net.org",
                         "phone":"0400000000","created_at":1366691661,
                         "app_id":"(your app ID)","user_hash":"(user hash to ensure secure transit)",
                         "company": {
                            "name":"Burns' Burgers","created_at":1365816852,"plan":39,"lifetime_revenue":195,
                        },
                        "is_billing_contact":false,"admin":false,"manager":true}
</script>

If you have multiple users from the same company, Intercom will group them together. So you can store aggregate data about the company as well as individual data about the user. This is useful for us since we bill the company, where a company will have multiple users with different roles.

You can also store event data for once off events that take place the system, which can also be queried against. For example, when someone views a specific page (eg. a new report) we trigger an event so that we can track how many times people are viewing it.

In addition to the data you provide, Intercom will capture the user’s IP and use this to guess their location.

You can then use this data to make queries about users in Intercom. For example, I wanted to find a list of power users in Brisbane using a specific feature of ours, so that my marketing guys could go out and make a video about it. I used a filter in Intercom to get a list:

You can save these queries into “segments” for future reference. Segments update as user data does so you always have an accurate idea of who is in one. For example, we have a segment of “People To Be Charged For The First Time This Week” which account managers use as a dashboard. We also have a segment of Paying Customers which is sorted by monthly revenue, and we can use this to get a quick grasp of MRR and break it down by different groups of users (eg. large customers, customers in Queensland, hospitality customers, whatever). This makes it easier to know which industries to target next.

Messaging users

In Intercom you can send two kinds of messages, automatic and manual ones. Automatic messages go to a prebuilt segment - whenever someone joins the segment they are automatically messaged. For example, we have an email that gets sent to people 90 days after they last logged in (if they never proceeded in getting started) to ask if they are interested in chatting again.

When we launched our new reports feature recently, we had an in-app message that popped up for people who had been using Tanda for a while and were most likely to be interested in it. This message only showed up when they were vieiwng their dashboard, so it wouldn’t get in the way if they were in the middle of something. We were then able to send a followup message when someone had viewed the reports page a few times - while they were on the reports page - to ask for feedback.

In-app support

When you send someone an in-app message, they get a dialog that looks like this:

And when a user replies, we see a conversation in our Intercom backend:

If I reply, Tom will see another in-app popup like the first one. It makes it really easy to keep in touch with users, because you don’t need to worry about them checking their email - you just talk to them directly in the app.

My favourite Intercom feature

This one time they sent us all t-shirts and stickers.