It’s easy to export your message data as a CSV file, so you can analyze your message performance. With this data, you can:
Combine Intercom message data with your user data to better understand the impact of your messages.
Understand how your messages and series perform over time.
There are three ways you can export message data in Intercom. Here's how:
Export data for a specific date range
To export all of your message data for a specific date range, go to Reports > Customer engagement:

Then, click ‘Export CSV':

You can choose from two reports and define a date range:
Detailed Stats report - Take a deep dive into how individual users are responding to your messages with this CSV report, which provides a detailed breakdown of all the users that received your messages.
Overview Stats report - See an overview of how all messages are performing with this CSV report, which provides an overall aggregate stats view of your outbound messages along with auditing data.

Important:
You can only export data for messages your team have sent. If you'd like export conversations initiated by customers, read this article on exporting conversation data.
The date range selected here will filter the report to show messages which have sent in that period, but individual stats for those messages (like click rate etc) will show the results for all time.
Note: If you choose a date range that might contain a high volume of data, it’s best to open the CSV file using a text editor.
Lastly, click ‘Export’. You’ll now receive the CSV file to your email address:

Note: Exporting your message data can take up to a few hours.
You will receive a ZIP file containing a number of CSV’s for different interactions such as ‘receipt’ of a message, ‘completion’ of a Series, ‘screen views’ of a mobile carousel etc.
Export data from a message or tour
If you’d like to look at a message or tour’s performance in more detail, go to the message you’d like to export, click on ‘More’ and select ‘Export CSV’:
Important: Data exported from Mobile push messages and Product tours will be in multiple files, based on separate message events like "Receipt", "Open" or "Completion (for tours only)".
Get further insights with exported data
Analyzing your data can help you better understand the performance of your messages. For example, you can:
Join your message data with other data sources, such as your Intercom user data, to see how your messaging impacts behaviour or outcomes.
Analyze the performance of your messages to see which ones are your best performers.
Understand how a campaign has performed, and conduct an in-depth comparison with other campaigns.
Use third party business intelligence tools to analyze your message performance over time.
Exported files, in detail
Here is a list of exportable statistics and the different content types that they relate to. Each event is exported in its own file, where you can see the details of when it occurred. Click on an event to learn more about it.
Event | Content type/s |
Series | |
Mobile Carousel | |
Post, Banner, Chat, Email | |
Chat | |
Custom Bot, Product Tour, Mobile Carousel | |
Mobile Carousel | |
Post, Banner, Product Tour, Push, Control Group, Mobile Carousel, Chat, Email, Series, Custom Bot, Series Edge Split | |
Post, Push, Chat, Email, | |
Mobile Carousel | |
Post, Banner | |
ALL | |
Post, Chat, Email, Custom Bot | |
Mobile Carousel | |
Series | |
Series | |
Series | |
Product Tour | |
Product Tour | |
Each stat is exported in its own file. This is a full list of the different stats, the attributes provided in the export and their descriptions:
Checkpoint
A Checkpoint is created for each block in a Series when visited by a user-company grouping. They tell us what should be processed and when/where that processing should happen.
Attribute | Description |
user_id | Intercom ID for the user, lead or visitor. |
company_id | Intercom ID for the company. |
ruleset_id | The ID of the message within the Intercom system. This is the same ID as seen in the URL for the content, e.g. |
status_code |
|
status_name | Description for the status_code. Possible values:
|
created_at | Timestamp of when the checkpoint was created. |
last_processed_at | The time we last checked if the user matched the rules of the node, or if they should receive the content of the node. |
expires_at | The time at which we will send the user down any "did not match" paths from the node, or remove them from the path entirely if there are no alternative paths. |
times_processed | The number of times we have checked if the user matches the node |
*What are Primary, Alternate and Split edges?
Primary edge — The customer matched the rules, received the message (or tag), or passed a wait block.
Alternate edge — The customer did not match the rules, or did not come online to receive a message.
Split edge — The customer took one path from a split test.
Button tap
A button tap is recorded when a user taps a button in a Mobile Carousel.
Attribute | Description |
receipt_id | ID of the receipt linked to this stat. |
button_action_tapped_at | Timestamp for when the button was tapped. |
Click
A click is recorded whenever a user, lead or visitor clicks a link in a piece of content. Here a link could be a regular text link, a button or an image that links somewhere.
Attribute | Description |
receipt_id | ID of the receipt linked to this stat. |
clicked_at | Timestamp for when the link, image or button was clicked. |
Collected email
A collected email stat is recorded whenever a visitor receives a Chat asking for their email address and they submit it.
Attribute | Description |
receipt_id | ID of the receipt linked to this stat. |
email_collected_at | Timestamp for when the email was collected. |
The email address that was collected. |
Completion
A completion is recorded whenever a user, lead or visitor completes a Mobile Carousel or Product Tour. There is a separate "Series Completion" stat for Series.
Attribute | Description |
receipt_id | ID of the receipt linked to this stat. |
completed_at | Timestamp for when the carousel or tour was completed. |
Dismissal
A dismissal is recorded whenever a user dismisses a Mobile Carousel.
Attribute | Description |
receipt_id | ID of the receipt linked to this stat. |
dismissed_at | Timestamp for when the Mobile Carousel was dismissed. |
Goal success
A goal success is recorded whenever a user, lead or visitor hits the goal for a message.
Attribute | Description |
receipt_id | ID of the receipt linked to this stat. |
goal_hit_at | Timestamp for when the goal was hit. |
Hard bounce
A hard bounce is recorded whenever an email is permanently rejected by a recipient’s email client. For example, when:
The email address does not exist on a server.
The domain name doesn’t exist.
Or the recipient has blocked delivery.
Attribute | Description |
receipt_id | ID of the receipt linked to this stat. |
hard_bounced_at | Timestamp for when the message hard bounced. |
Open
An open is recorded the first time someone opens a Push, Post, Chat or Email message.
Attribute | Description |
receipt_id | ID of the receipt linked to this stat. |
opened_at | Timestamp for when the message was opened. |
Permission grant
A permission grant is recorded whenever you request a permission with a Mobile Carousel, and the user grants it at the time. It is not recorded if the permission has already been granted, or is granted from the settings at a later time.
Attribute | Description |
receipt_id | ID of the receipt linked to this stat. |
granted_at | Timestamp for when the permission was granted. |
permission_type | The permission type that the user granted. For example:
|
Reaction
A reaction is recorded whenever a user, lead, or visitor reacts with an emoji to a Post or Banner message.
Attribute | Description |
receipt_id | ID of the receipt linked to this stat. |
reacted_at | Timestamp for when the reaction happened. |
reaction | The reaction that the user, lead or visitor chose. |
Receipt
A receipt is recorded whenever a user, lead or visitor is sent one of your messages. It is recorded even if the message cannot be successfully received, like with a bounce. The receipt_id can be used to link other events related to this message.
Attribute | Description |
user_id | Intercom ID for the user, lead or visitor. |
user_external_id | Your ID for the user, lead or visitor. |
company_id | Intercom ID for the company. |
The user, lead or visitor’s email address. | |
name | The user, lead or visitor's name. |
ruleset_id | The ID of the message within the Intercom system. This is the same ID as seen in the URL for the content. |
content_id | The specific content that was received. In an A/B test each version has its own Content ID. |
content_type | Email, Chat, Post etc. |
content_title | The title of the content you see in your Intercom workspace. |
ruleset_version_id | As you edit content we record new versions. This ID can help you determine which version of a piece of content that was received. |
receipt_id | ID for this receipt. Will be included with any related stats. |
received_at | Timestamp for when the receipt was recorded. |
series_id | The id of the series that this content is part of. |
series_title | The title of the series that this content is part of. |
node_id | The id of the series node that this ruleset is associated with. Each block in a series has a corresponding node_id. |
last_state_changed_by | The teammate who updated the state from 'paused' to 'live', or vice versa. |
Reply
A reply is recorded whenever a person replies to a Post, Chat, Custom Bot or Email.
Attribute | Description |
receipt_id | ID of the receipt linked to this stat. |
replied_at | Timestamp for when the reply was sent. |
Screen view
A screen view is recorded for each screen in a Mobile Carousel that a user views.
Attribute | Description |
receipt_id | ID of the receipt linked to this stat. |
viewed_at | Timestamp for when the screen was viewed. |
Series completion
A series completion is recorded when a user or lead finishes a series.
Attribute | Description |
receipt_id | ID of the receipt linked to this stat. |
completed_at | Timestamp for when the series was completed. |
completion_node_ruleset_id | The ID of the Ruleset where the user or lead completed the Series. |
Series disengagement
A series disengagement is recorded when a user or lead disengages with a series. This occurs when they reach the end of the specified waiting period on a message or rule block. If they haven’t received the message or matched the rules, they’ll be marked as disengaged.
Attribute | Description |
receipt_id | ID of the receipt linked to this stat. |
disengaged_at | Timestamp for when the user or lead disengaged from the series. |
disengaged_node_ruleset_id | The ID of the Ruleset where the user or lead disengaged from the series. |
Series exit
A series exit is recorded whenever a user or lead matches the exit rules for a series.
Attribute | Description |
receipt_id | ID of the receipt linked to this stat. |
exited_at | Timestamp for when the user or lead exited the series. |
Soft bounce
A soft bounce is recorded when an email cannot be delivered to a user or lead for a temporary reason, like a full mailbox.
Attribute | Description |
receipt_id | ID of the receipt linked to this stat. |
soft_bounced_at | Timestamp for when the message soft bounced. |
Spam complaint
A spam complaint is recorded if a user or lead marks one of your messages as spam in their email client.
Attribute | Description |
receipt_id | ID of the receipt linked to this stat. |
complained_at | Timestamp for when the spam complaint happened. |
Tour step failure
A tour step failure is recorded whenever a Product tour step fails to display for a user, lead or visitor.
Attribute | Description |
receipt_id | ID of the receipt linked to this stat. |
step_id | ID of the tour step that failed. |
failed_selector | The CSS selector that failed. |
failure_url | The URL the user, lead or visitor was on when the failure occurred. |
failed_at | Timestamp for when the tour step failed. |
Tour step view
A tour step view is recorded whenever a Product tour step is presented to a user, lead or visitor.
Attribute | Description |
receipt_id | ID of the receipt linked to this stat. |
step_id | ID of the tour step that was viewed. |
viewed_at | Timestamp for when the tour step was viewed. |
Unsubscribe
An unsubscribe is recorded if someone unsubscribes from one of your email messages.
Attribute | Description |
receipt_id | ID of the receipt linked to this stat. |
unsubscribed_at | Timestamp for when the user or lead unsubscribed. |
What’s next?
Here’s how to gain further insight from your message data.