Message Opened

The Message Opened event is triggered when a message is opened by a user either by tapping/swiping a notification or from the inbox.


Table Schema

Message Opened events are stored in BigQuery in the message_open table. The following is a detailed description of each column in the table grouped by data model.

Event

Properties of the Message Opened event.

Column Description
event.timestamp A UNIX timestamp (seconds since January 1st, 1970 at UTC) indicating the time the event occurred.
event.source Deprecated Use event.attributes.source instead.
event.attributes.source Indicates whether the message was opened from the inbox or from a notification. Possible values are “notification” or “inbox”.
event.attributes.message_id The ID of the message that was opened.

Message

The individual message belonging to the user that was opened.

Column Description
message.id The messages’s ID.
message.message_template_id The ID of the message template the message was generated from.
message.notification_text The copy used for the body of the push notification. See the Apple documentation and Android documentation for more detail on how push notifications are constructed.
message.ios_title The copy used for the title of the push notification on iOS devices. See the Apple documentation for more detail on how push notifications are constructed.
message.android_title The copy used for the title of the push notification on Android devices. See the Android documentation for more detail on how push notifications are constructed.
message.read A boolean value indicating whether the user has read the message.
message.viewed Deprecated Use message.read instead.
message.saved_to_inbox A boolean indicating whether the message is saved to the user’s inbox.
message.content_type The type of content this message drive’s the user to when the notification is swiped/tapped or the message is launched from the user’s inbox. There are five possible values: landing-page, experience, deep-link, website or custom
message.deeplink_url If the content type a deep-link, the value of this column will be the deep-link URL that is opened when the message’s notification is swiped/tapped or the message is launched from the inbox.
message.website_url If the content type is website, the value of this column will be the website URL that is opened when the message’s notification is swiped/tapped or the message is launched from the inbox.

Message Template

The message “template” is the message that was authored in the Messages app to which the individual message was generated from.

Column Description
message_template.id The message template’s ID.
message_tempalte.type Indicates whether the message is a Proximity message or a Scheduled message. The possible values are ProximityMessageTemplate or ScheduledMessageTemplate.
message_template.title The message template’s title.
message_template.save_to_inbox A boolean indicating whether the “Save to Inbox” option is enabled.
message_template.notification_text The copy used for the body of the push notification. See the Apple documentation and Android documentation for more detail on how push notifications are constructed.
message_template.schedule_monday For proximity messages only – a boolean value indicating whether this message can be triggered on Mondays.
message_template.schedule_tuesday For proximity messages only – a boolean value indicating whether this message can be triggered on Tuesdays.
message_template.schedule_wednesday For proximity messages only – a boolean value indicating whether this message can be triggered on Wednesdays.
message_template.schedule_thursday For proximity messages only – a boolean value indicating whether this message can be triggered on Thursdays.
message_template.schedule_friday For proximity messages only – a boolean value indicating whether this message can be triggered on Fridays.
message_template.schedule_saturday For proximity messages only – a boolean value indicating whether this message can be triggered on Saturdays.
message_template.schedule_sunday For proximity messages only – a boolean value indicating whether this message can be triggered on Sundays.
message_template.content_type The type of content this message drive’s the user to when the notification is swiped/tapped or the message is launched from the user’s inbox. There are five possible values: landing-page, experience, deep-link, website or custom
message_template.scheduled_at For scheduled messages only – a timestamp indicating the date and time the message should be delivered. The timestamp is in UTC although the timezone information is ignored. The timezone in which the message is sent is determined from the message_template.scheduled_local_time and message_template.scheduled_time_zone columns.
message_template.scheduled_local_time For scheduled messages only – a boolean indicating whether the message should be sent to users in their own time zone. E.g. if the message is scheduled to be delivered at 3:00 PM on Jan 1. and message_template. scheduled_local_time is true, then the message will be sent to each user when it is 3:00 PM in their timezone.
message_template.scheduled_time_zone For scheduled messages only – the time zone in which the message should be sent. E.g. if this column has a value of America/Toronto (which is EST) – and the message_template.scheduled_at column has a value of Jan 1. at 3:00 PM UTC – the message will be delivered on Jan 1. at 3:00 PM EST.
message_template.time_schedule.start For proximity messages only – the time in minutes since 12:00 AM at which point the message is eligible to be delivered. I.e. if a user trigger’s a valid proximity event before this time, the message will not be delivered. A value of 0 means there is no minimum start time before the message becomes eligible to be sent. A value of 480, for example, means the message is not eligible to be sent before 8:00 AM (8 hours * 60 minutes = 480).
message_template.time_schedule.end For proximity messages only – the time in minutes since 12:00 AM at which point the message is no longer eligible to be delivered. I.e. if a user trigger’s a valid proximity event after this time, the message will not be delivered. A value of 1,440 is equivalent to the end of day and means there is no time limit on when a message is eligible to be sent. A value of 1,020, for example, means that after 5:00 PM the message is no longer eligible to be sent (17 hours * 60 minutes = 1,020).

Device

The device that triggered the event.

Column Description
device.id A unique device identifier. On iOS this is the value returned from UIDevice.identifierForVendor. On Android this is a UUID generated by the Rover SDK.
device.token The token used by APNS or FCM/GCM to sent notifications to the device.
device.locale_lang The language portion of device’s current locale as set in the device’s system settings. E.g. “en”.
device.locale_region The region dialect portion of device’s current locale as set in the device’s system settings. E.g. “US”.
device.time_zone The device’s current time zone. E.g. “America/Toronto”
device.sdk_version The version of the Rover SDK the device has installed. E.g. 1.6.2
device.platform A value of “iOS” or “Android” indicates this event was created by a device through the Rover SDK in a native app. A value of “Web” means the event was triggered by a device through a web browser. Currently the only events that can be triggered through a web browser are experience events when viewing a mobile-web version of an experience.
device.os_name The name of the operating system the device is running. E.g. “iOS”
device.os_version The version of the operating system the device is running. E.g. 11.1.2
device.model The name of the device model. E.g. “iPhone 6 Plus”
device.manufacturer The manufacturer of the device. E.g. “Samsung”
device.carrier The mobile carrier the device is currently connected to. E.g. “T-Mobile”
device.app_identifier The unique identifier of the app the device is running. E.g. “com.example.MyApp”
device.background_enabled Deprecated No longer in use.
device.notifications_enabled Deprecated Use device.notification_authorization instead.
device.bluetooth_enabled Indicates whether the device currently has Bluetooth enabled.
device.location_monitoring_enabled Indicates whether location monitoring is enabled. This could be turned off permanently in the system settings or by switching on airplane mode.
device.aid The advertising identifier associated with the device. On iOS this is the value returned from advertisingIdentifier.
device.location.latitude The latitude of the device’s last known location obtained from a location update.
device.location.longitude The longitude of the device’s last known location obtained from a location update.
device.location.accuracy The accuracy of the device’s last known location obtained from a location update, measured in metres.
device.ip The last known IP address of the device.
device.notification_authorization Indicates whether the device has authorized the app to display notifications.

Customer

Deprecated The customer model and all of its columns are deprecated and no longer in use.