Export your message data

Easily export message and campaign data as a CSV file.

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

Export your message data as a CSV file to 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 All reports > Customer engagement overview.

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.

  • The link that is sent out to download the CSV is only valid for 2 days, and will then expire.

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'll 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.

Files are exported separately because for a single delivery of a piece of content, a user may have many different occurrences of the same stat.

For example, if you receive an email and click multiple links, or receive a tour and view multiple steps – we'd record a new "click" or "viewed step" stat every time.

With that in mind, it's not possible for us to fit everything into a single row.

Detailed Stats report

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, SMS

Email

SMS

Post, Push, Chat, Email,

Mobile Carousel

Post, Banner

ALL

Post, Chat, Email, Custom Bot

Mobile Carousel

Series

Series

Series

SMS

Email

Email

Product Tour

Product Tour

Email, SMS


Each stat is exported in its own file. Below is a full list of the different stats, the attributes provided in the export and their descriptions.

Tip: Use the 'receipt' CSV file for basic analysis, such as aggregating and calculating click rates for messages between specific dates without having to manually aggregate multiple files together. Use the other detailed event files such as 'click_TIMESTAMP.csv' when you need greater granularity, e.g. how many times a customer clicked a specific message or which links they clicked most often.

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

  • 0 - Active

  • 1 - Completed (and progressed down primary edges*)

  • 2 - Expired

  • 3 - Invalid

  • 4 - Exited

  • 5 - Completed (and progressed down alternate edges*)

  • 6 - Completed (and ejected)

  • 7 - Completed (and finished)

  • 8 - Completed (and progressed down a split edge*)

  • 9 - Rejected (due to company prioritization)

status_name

Description for the status_code. Possible values:

  • active

  • took_primary_edges*

  • expired

  • invalid

  • exited

  • took_alt_edges*

  • ejected

  • finished

  • took_split_edges*

  • company_prioritization_rejection

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.

email

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.

Keyword reply

Attribute

Description

receipt_id

ID of the receipt linked to this stat.

replied_at

Timestamp for when the reply was sent.

reply

Post, Chat, Email, Custom Bot

keyword_type

DEFAULT (e.g. unrecognized reply)
STOP (e.g. unsubscribe, quit, cancel, etc)
START (e.g. start, subscribe, resubscribe)
INFO (e.g. help)
CUSTOM
CARRIER_STOP

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:

  • location_permission

  • push_notifications_permission

  • camera_permission

  • microphone_permission

  • photos_permission

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

The company ID that the user belongs to

email

The users email address

name

The users full name

ruleset_id

The ID of the message that was delivered to the user

content_id

The ID of the message variant that was delivered to the user (A/B tests will have the same ruleset_id but different content_id’s).

content_type

The type of message that was delivered e.g. ‘email’, ‘tour’

content_title

The title of the message

created_via

Why the message was delivered

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.

first_people_reached_receipt

The timestamp of the attribute name.

first_checklist_step_receipt

The timestamp of the attribute name.

first_checklist_step_open

The timestamp of the attribute name.

first_checklist_step_click

The timestamp of the attribute name.

first_checklist_step_completion

The timestamp of the attribute name.

first_reply

The timestamp of the first time the user replies to the receipt of this message.

(Will only show a value for content types that support replies, will be blank if the user has not replied to the receipt)

first_completion

The timestamp of the first time the user completes this receipt (e.g. for tours messages, when the user first completes that product tour).

(Will only show a value for content types that support completions, will be blank if the user has not completed the message).

first_series_completion

The timestamp of the first time the user completes this series.

(Will only show a value for receipt content types that support series completions, will be blank if the user has not completed the series).

first_series_disengagement

first_series_exit

first_goal_success

first_tour_step_failure

first_tour_step_view

first_reaction

first_open

first_click

first_dismissal

first_collected_email

first_unsubscribe

first_hard_bounce

first_soft_bounce

first_spam_complaint

first_permission_grant

first_button_tap

first_screen_view

first_webhook_failure

first_sms_failure

first_push_failure

first_answer

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.

SMS Failure

Attribute

Description

receipt_ID

ID of the receipt linked to this stat.

failed_at

Timestamp for when the tour step failed.

message_status

Failed or Undelivered

error_code

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.


Overview Stats report

Overview stats is a CSV report that gives detailed stats for a workspace’s messages aggregated at a message level rather than at the user receipt level.

Note: The date filter functionality works differently to the Detailed Stats report. For the Overview Stats report, all messages that were live at any point during the filtered date range will be exported.

When you export this data, it will email you a single CSV file containing the overview of your messages.

Alongside the message details and auditing related columns such as ‘last edited by’, there are columns for each stat in the message stats system. Each of these stats will only show values for message/content types that support those stats.

Each stat is broken into 3 values:

  • The Total count of that stat - e.g. ‘open_total’ - will show the total number of times the message was opened regardless of users.

  • The Unique count of that stat - e.g. ‘click_unique’ - will show the count of unique users that clicked at least once in that message

  • The Rate of that stat based on total receipts - e.g. ‘reply_rate’ - will show the percentage of total sends that replied to that message.

All columns explained

Column Name

Description

ruleset_id

The ID of the message

created_at

When the message was created

content_title

The title of the content you see in your Intercom workspace.

content_id

The ID of the specific message content/variant - In an A/B test each version has its own Content ID.

content_type

The type of the message e.g. Email, Chat, Post

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.

state

The current state of the message e.g. Live, Paused, Draft

last_state_change_by

The email address of the teammate to update the messages state.

last_state_change_at

The timestamp of when the last state change took place.

last_edited_by

The email address of the last teammate to edit the message.

last_edited_at

The timestamp of when the last message edit took place

url

The URL to view/edit the message inside of Intercom

receipt_total

Explained above

receipt_unique

Explained above

reply_total

Explained above

reply_unique

Explained above

reply_rate

Explained above

completion_total

Explained above

completion_unique

Explained above

completion_rate

Explained above

goal_success_total

Explained above

goal_success_unique

Explained above

goal_success_rate

Explained above

tour_step_failure_total

Explained above

tour_step_failure_unique

Explained above

tour_step_failure_rate

Explained above

tour_step_view_total

Explained above

tour_step_view_unique

Explained above

reaction_total

Explained above

reaction_unique

Explained above

reaction_rate

Explained above

open_total

Explained above

open_unique

Explained above

open_rate

Explained above

click_total

Explained above

click_unique

Explained above

click_rate

Explained above

dismissal_total

Explained above

dismissal_unique

Explained above

dismissal_rate

Explained above

collected_email_total

Explained above

collected_email_unique

Explained above

collected_email_rate

Explained above

unsubscribe_total

Explained above

unsubscribe_unique

Explained above

unsubscribe_rate

Explained above

hard_bounce_total

Explained above

hard_bounce_unique

Explained above

hard_bounce_rate

Explained above

soft_bounce_total

Explained above

soft_bounce_unique

Explained above

soft_bounce_rate

Explained above

spam_complaint_total

Explained above

spam_complaint_unique

Explained above

spam_complaint_rate

Explained above

permission_grant_total

Explained above

permission_grant_unique

Explained above

permission_grant_rate

Explained above

button_tap_total

Explained above

button_tap_unique

Explained above

button_tap_rate

Explained above

screen_view_total

Explained above

screen_view_unique

Explained above

screen_view_rate

Explained above

webhook_failure_total

Explained above

webhook_failure_unique

Explained above

webhook_failure_rate

Explained above

sms_failure_total

Explained above

sms_failure_unique

Explained above

sms_failure_rate

Explained above

push_failure_total

Explained above

push_failure_unique

Explained above

push_failure_rate

Explained above

answer_total

Explained above

answer_unique

Explained above

email_failure_total

Explained above

email_failure_unique

Explained above

email_failure_rate

Explained above


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

Note: 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)".


💡Tip

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?