# Track Messages Sent and Messages Opened

Mixpanel enables email, push, in-app, and SMS messages to automatically send "Message Sent" and "Message Opened" events and their associated properties.

This feature helps you analyze the effectiveness of your communication in your Engagement reports.

To analyze these events, select Message Sent or Message Opened from the dropdown in the Insights report. See the image below. You can also analyze these events from the Analytics button in your "Messages" tab.

Let's examine each message type to see how it automatically sends events.

Note: Legacy customers had the option to send mobile surveys to customers through messaging. However, Mixpanel Mobile Surveys were deprecated in March 2017 and are no longer supported.

## Types of Messages that Automatically Send Events

### Email

Email sends these events: "Message Sent", "Message Opened", "Message Bounced", "Message Unsubscribed" and "Message Suppressed".

• Message Sent ($campaign_delivery): Mixpanel logs this event when it sends the email from the Mixpanel mailing server. • Message Opened ($campaign_open): Mixpanel logs this event when a customer opens the message from the mail client. 'Message Opened' can be sent more than once, for each time the customer opens the message. Messages are sent multiple times for profiles with multiple tokens.
• Message Unsubscribed ($unsubscribe)Triggered when a user chooses to unsubscribe from Mixpanel emails using the built-in unsubscribe link. Includes a Message property naming the Message from which the user clicked to unsubscribe. • Message Bounced ($campaign_bounced): Triggered when attempts to send an email to a user fail. This can happen for a variety of reasons (invalid email address, email too large, server down, etc). Use the Bounce reason property to identify the reason.
• Message Marked Spam ($campaign_marked_spam): Triggered when a user marks an email as spam. • Campaign Entered ($journey_entered): This event means someone was sent their first message in your Campaign; it is triggered the first time a user is eligible to receive a message in your Campaign. This event is sent even if the user is part of the Campaign control group.
• Message Suppressed ($message_suppressed): Mixpanel sends this event when a Mixpanel email, push notification, or SMS fails to reach an eligible profile. The likely culprit for suppression messages is duplicate profiles, which occur when your users receive your message more than once. To find these duplicate profiles, search for all profiles with the "Sent To" address recorded on this event in the appropriate address property (e.g. "Email" or "Android Devices"). • Message Name (message_name):The message_name property is the name of the message at the time of sending. The message property is an ID that is typecast to the current name. Since you can change the names of messages, there may be differences in the message_name and the message properties. ### Push Push sends these events: "Message Sent", "Message Received", "App Open", and "Message Suppressed". • Message Sent ($campaign_delivery): Mixpanel logs this event when it hands off the push notification to APNs/GCM.
• Message Received ($campaign_received): Mixpanel logs this event when a push notification is received by a user who already has the application opened. On iOS, the push notification displays as a banner. • App Open ($app_open): Mixpanel logs this event when a user opens the application from the corresponding push notification.  This feature allows Mixpanel to track the open rate of push notifications. By default, the $app_open event does not automatically trigger on every app open. But you can add custom code to ensure this behavior. Read more about tracking app open events. • Message Suppressed ($message_suppressed): Mixpanel sends this event when a user profile qualifies for a message, but detects the message was already sent to the address in the qualifying window. Instead of sending the targeted address user another message, Mixpanel suppresses the message and sends a Message Suppressed event.
• Message Name (message_name):The message_name property is the name of the message at the time of sending. The message property is an ID that is typecast to the current name. Since you can change the names of messages, there may be differences in the message_name and the message properties.

### In-App

In-app sends these events: "Message Sent" and "Message Opened".

• Message Sent ($campaign_delivery): Mixpanel logs this event when an in-app message displays to the user. • Message Opened ($campaign_open): Mixpanel logs this event when the user clicks on the message.
• Message Name (message_name):The message_name property is the name of the message at the time of sending. The message property is an ID that is typecast to the current name. Since you can change the names of messages, there may be differences in the message_name and the message properties.

### SMS

SMS sends these events: "Message Sent" and "Message Suppressed".

• Message Sent ($campaign_delivery)logs this event when Mixpanel sends the SMS message from the Mixpanel text server. • Message Suppressed ($message_suppressed)Mixpanel sends this event when a user profile qualifies for a message, but detects the message was already sent to the address in the qualifying window. Instead of sending the targeted address user another message, Mixpanel suppresses the message and sends a Message Suppressed event.
• Message Name (message_name):The message_name property is the name of the message at the time of sending. The message property is an ID that is typecast to the current name. Since you can change the names of messages, there may be differences in the message_name and the message properties.

## Message Sent and $campaign_delivery Event Properties This section lists the properties for the "Message Sent" event as they appear in the UI, and the$campaign_delivery event as it appears in raw data.

### Message Sent UI Properties

• distinct_id
• time
• delivery_id (i.e. the batch of sent messages)
• sent_to (i.e. the email address, push token, or phone number the message was sent to)
• Message (i.e. message name)
• Variant (i.e. the variant information including message control group) and/or
• is_journey_control (Campaign control group)
• message_type (e.g. 'email' or 'in app')
• campaign_id
• journey_id
• message_id
• email
• mp_processing_time_ms

This section lists properties for the "Message Opened" event as they appear in the UI, and the $campaign_open event as it appears in raw data. ### Message Opened UI Properties • distinct_id • time • Message (i.e. message name) • type (Message type e.g. 'email' or 'in app') • button • url ###$campaign_delivery Raw Data Properties

• distinct_id
• time
• campaign_id (i.e. message name)
• type (e.g. 'email' or 'in-app')

Related Topic: A/B Testing: View Message Sent By Variant

## Message Suppressed and $campaign_open Event Properties This section lists the properties for the "Message Suppressed" event as they appear in the UI, and the$message_suppressed event as it appears in raw data.

### Message Suppressed UI Properties

• distinct_id
• time
• delivery_id (i.e. the batch of sent messages)
• Message (i.e. message name)
• Variant (i.e. the variant information)
• message_type (e.g. 'email' or 'in app')
• Sent To

### \$message_suppressed Raw Data Properties

• distinct_id
• time
• delivery_id (i.e. the batch of sent messages)
• campaign_id (i.e. message name)
• message_id (i.e. the variant information)
• message_type (e.g. 'email' or 'in app')
• sent_to (This event is only included on "Message Sent" events fired after October 17, 2017.)