{"_id":"561c774b92a66f0d00987915","parentDoc":null,"category":{"_id":"561c7260cd5e7b0d00eb48c6","pages":["561c774b92a66f0d00987915","561c7c46be5c860d007bc1cd","561c7c6e2764990d00f546c4","561c7cc72764990d00f546c6","561dc41143c36d0d00da7798","563a920c0ed6332300378872"],"__v":6,"project":"561c70aabe5fb20d00077758","version":"561c70aabe5fb20d0007775b","sync":{"url":"","isSync":false},"reference":false,"createdAt":"2015-10-13T02:54:24.912Z","from_sync":false,"order":1,"slug":"messaging","title":"Messaging"},"user":"55d29988486de50d00327118","__v":7,"version":{"_id":"561c70aabe5fb20d0007775b","__v":6,"project":"561c70aabe5fb20d00077758","createdAt":"2015-10-13T02:47:06.824Z","releaseDate":"2015-10-13T02:47:06.824Z","categories":["561c70abbe5fb20d0007775c","561c725c4b0a9b0d00c0f515","561c7260cd5e7b0d00eb48c6","561c726bf0e0580d00ddd9a4","561c7271d2fb350d004bf89a","564de219b5bea52b00c3457a"],"is_deprecated":false,"is_hidden":false,"is_beta":false,"is_stable":true,"codename":"","version_clean":"1.0.0","version":"1.0"},"project":"561c70aabe5fb20d00077758","updates":[],"next":{"pages":[],"description":""},"createdAt":"2015-10-13T03:15:23.060Z","link_external":false,"link_url":"","githubsync":"","sync_unique":"","hidden":false,"api":{"results":{"codes":[]},"settings":"","auth":"required","params":[],"url":""},"isReference":false,"order":0,"body":"Carnival helps you engage your mobile app users with rich and creative messages.\n\nCreate push notifications or in-app messages, and allow users to browse past messages in your in-app message stream.\n[block:parameters]\n{\n  \"data\": {\n    \"h-0\": \"Push Notifications\",\n    \"h-1\": \"In-App Messages\",\n    \"h-2\": \"In-App Message Stream\",\n    \"0-0\": \"<img align=\\\"center\\\"  src=\\\"https://lh6.googleusercontent.com/QpW8zJwXFC-VnpxwHIv7DmG7cHTLcHNmUyUW04kJfxpiM7I3TKC9M8SvwS9lDhE_alPM2cc1rakUHfZB-uRN9oVb06_EE3LSazR245TV6HXMSETlly55pMezx7zA_VqKnYifl3tr\\\"><br>\\n<p>Sent to users’ mobile devices, even if your app isn’t open.</p>\\n<p>A push notification can be a simple message directing users to your app, or can drive to an in-app message when the push is tapped.</p>\",\n    \"0-1\": \"<img align=\\\"center\\\" src=\\\"https://lh4.googleusercontent.com/NZ4tZytWhOZOFDqQW7IwYsRA924wkkAw6Cn1uYKTMwefr9JDn5gp74L6Pk-avUjKMB18mvLZDq_RkNQRljj53aVamVSfNL2PjONa6VMJS8gOEwxKdT43tg9gv3Z_yMDs_MPIn7eO\\\"><br>\\n<p>The most impactful way to engage your users while they are using your app.</p>\\n<p>In-App Messages are commonly displayed as a \\\"roll-down\\\" interface, and can be triggered at key moments, such as the user opening the app.</p>\",\n    \"0-2\": \"<img align=\\\"center\\\" src=\\\"https://lh4.googleusercontent.com/j509K8hRRtP-AcwECRHowpJcG1b9qm77ouo6QSPU9V8ndbcBPLbvyypNkWsJhums9rwKBkegox_oHzHAvFSP3LKSywfn1dw0t6ffGA7GKKtTR0oNflmL-anD3Vsu0JUt821ytfwj\\\"><br>\\n<p>A list of historical cards, integrated directly in the app. This is a great way for users to look back over the messages that you have sent to them in the past.</p>\\n<p>Users can access the stream via the “Messages” icon which is integrated into the app, or tapping ‘View all Messages’ on an In-App Message</p>\"\n  },\n  \"cols\": 3,\n  \"rows\": 1\n}\n[/block]\n### Creating and Publishing Messages\n\nWhether you want to publish just an In-App Message, just a Push Notification, or both in conjunction, start by clicking **Messages** in the Carnival navigation menu.\n\nClick **Create New** at the top of the page. You will have the option to create either a **Regular Message** or an **Automated Message**.\n[block:image]\n{\n  \"images\": [\n    {\n      \"image\": [\n        \"https://files.readme.io/57ad666-image_0.png\",\n        \"image_0.png\",\n        968,\n        684,\n        \"#c2c4c4\"\n      ],\n      \"sizing\": \"80\"\n    }\n  ]\n}\n[/block]\n* **Regular Messages\n**Publish messages to all users who are currently in an audience. Regular messages can be sent immediately or scheduled for a future date. Some common uses are to send announcements, breaking news, or deals.\n\n* **Automated Messages\n**Targeted and personalized messages that are triggered as a result of a user entering or exiting an audience. Automated messages allow you to trigger messages dynamically as user behaviours change. Examples include:\n\n    * Automatically triggering a notification to incentivize a user who hasn't used the app for a period of time.\n\n    * Sending a notification with contextual information as a user enters or exits a geographical region.\n\n    * A welcome notification for a user a few days after installing.\n\n#### Message Compose Screen\n\nAfter you have selected a message type—Regular or Automated—the message compose screen opens.\n[block:image]\n{\n  \"images\": [\n    {\n      \"image\": [\n        \"https://files.readme.io/b33e0c4-image_1.png\",\n        \"image_1.png\",\n        2500,\n        1518,\n        \"#e6edf4\"\n      ]\n    }\n  ]\n}\n[/block]\n**Key Elements**\n\n1. Audience targeting options\n\n2. Push Notification content\n\n3. In-App Message content\n\n4. Scheduling options\n\n5. Message Preview button\n\n**Audience Targeting Options**\n\nWhen creating a message, you will choose users to target based on audience segments that you have previously defined. Audiences can be created in the [Audiences](https://marketing.carnival.io/v1.0/docs/introduction-to-audiences) section.\n\nThe first thing to do is select your target audience from the drop-down menu. \n\nFor Automated Messages, you also need to select a trigger type from the adjacent menu. You can choose from either **Send On Audience Entry** or **Send on Audience Exit**. Sending ‘on entry’ is the most common choice. \n\n**Push Limits**\n\nWith Automated Messages, you also have frequency capping options under the **Push Limits** drop-down to limit the amount of push notifications that are sent to any single user. This ensures that users are not spammed.\n[block:image]\n{\n  \"images\": [\n    {\n      \"image\": [\n        \"https://files.readme.io/d6f8a85-image_2.png\",\n        \"image_2.png\",\n        582,\n        362,\n        \"#476773\"\n      ]\n    }\n  ]\n}\n[/block]\n*You can choose to:*\n\n* Delay the push notification up to 24 hours after the device enters an audience.\n\n* Specify a stand-down period of up to 24 hours after the initial push has been sent. This will allow you to wait the specified amount of time before the device can receive this message again.\n\n* Limit the maximum amount of push notifications that a device may receive with this message.\n\nNote: If a stand-down delay has been set for a message and a user enters, qualifies for the message, but then exits the audience before the delay passes, they will still be sent the message. For this reason, we recommend keeping stand-downs short so that the push notifications will always be timely and relevant.\n\n**Creating Content**\n\nThe most common messaging use case in the Carnival platform is sending a Push Notification which links to an In-App Message. This drives users to open your app, and when tapped, links to a message with more content. \n\nFor this reason, the default layout of the composer opens with a Push Notification linked to an In-App Message.\n[block:image]\n{\n  \"images\": [\n    {\n      \"image\": [\n        \"https://files.readme.io/c60794b-image_3.png\",\n        \"image_3.png\",\n        1998,\n        1006,\n        \"#e8f0f5\"\n      ]\n    }\n  ]\n}\n[/block]\nThere are however, some times where marketers may want to send only a Push Notification, or only an In-App Message. If this is the case, you can hover over the unneeded Push Notification or In-App Message and press \"x\" in the top right corner to remove it. \n[block:image]\n{\n  \"images\": [\n    {\n      \"image\": [\n        \"https://files.readme.io/4d3d75a-image_4.png\",\n        \"image_4.png\",\n        862,\n        174,\n        \"#e7eff5\"\n      ],\n      \"sizing\": \"80\"\n    }\n  ]\n}\n[/block]\n**Push Notification Content**\n\nPush Notifications contain text-only information which will show on screen even if the user does not have the app open. You can also add extra fields such as a badge, sound, category or Custom/Key Value by clicking **Add fields**.\n\n* A **Badge** will show a small number on the app icon on iOS, which is usually used to indicate to the user that there is new items to view. For example, you would enter 1 in this field to indicate ‘one new message’.\n\n* If you app contains custom notification sounds, you can enter a **Sound** file name to determine which sound should accompany this message.\n\n* A **Category** can be used to associate custom actions with an iOS notification. Category names are defined when your app is programmed. For more information refer to the [Apple Documentation](https://developer.apple.com/library/content/documentation/NetworkingInternet/Conceptual/RemoteNotificationsPG/SupportingNotificationsinYourApp.html#//apple_ref/doc/uid/TP40008194-CH4-SW26). \n\n* To enter custom data that your app has been programmed to use or display, select **Custom Key/Val**.\n[block:image]\n{\n  \"images\": [\n    {\n      \"image\": [\n        \"https://files.readme.io/12a8796-image_5.png\",\n        \"image_5.png\",\n        1140,\n        744,\n        \"#e4ecf3\"\n      ]\n    }\n  ]\n}\n[/block]\n**In-App Message Content**\n\nCarnival’s In-App Messages allow you to send a wide range of content to your users. You can send videos, images, and links, and add [Message Attribute](https://getstarted.sailthru.com/carnival/messages/attributes/) fields that have been custom-configured for your app’s interface.\n\n* To add a **video or image**, drag the file into the gray box or click the camera icon to locate a file on your computer.\n\n* To add a **link**, click **Add fields**, select **Link**, and then enter the URL.\n\nSee our [message and file size/type](https://marketing.carnival.io/docs/message-sizes) specifications, for more information.\n\n**Scheduling Options**\n\nIf you want your messages to begin sending immediately on publish, skip this step. Otherwise, to schedule your messages, click the **Publish** field at the bottom of the interface.\n[block:image]\n{\n  \"images\": [\n    {\n      \"image\": [\n        \"https://files.readme.io/47217a8-image_6.png\",\n        \"image_6.png\",\n        786,\n        102,\n        \"#dbe4ec\"\n      ],\n      \"sizing\": \"80\"\n    }\n  ]\n}\n[/block]\nThen, select a date and time. You can select a specific time zone, or, if you want your message to send at the specified time when in occurs in each user’s time zone, select **Send at local time**.\n\n**Message Preview Screen**\n\nWhen you’re ready to preview your message, click the **Preview** button at the bottom right.\n\nThe preview screen will give you an overview of your notifications and In-App Message content, as-well as any extra fields you have added such as alert, sound, or custom key/values.\n\nAs you hover over the publish menu you can see more details about the audience and timing of your message before you publish.\n[block:image]\n{\n  \"images\": [\n    {\n      \"image\": [\n        \"https://files.readme.io/03d0f77-image_7.gif\",\n        \"image_7.gif\",\n        1400,\n        850,\n        \"#252d34\"\n      ]\n    }\n  ]\n}\n[/block]\n### Measuring Your Message Success\n[block:image]\n{\n  \"images\": [\n    {\n      \"image\": [\n        \"https://files.readme.io/fb58f80-image_8.png\",\n        \"image_8.png\",\n        2500,\n        1310,\n        \"#e0e3e6\"\n      ]\n    }\n  ]\n}\n[/block]\nMeasuring the performance of your messaging campaign is critical for understanding and comparing the effectiveness of your campaign. On this screen you are easily able to access:\n\n* Message Impressions – How many opportunities users have had to view your content.\n\n* Message Tap-Throughs – How many times the content has been viewed by your users.\n\n* Size of Audience – An estimate into how many users could see this message.\n\n* Push Notification Count – How many users the push notification went out to.\n\n#### A/B Testing\n\nTo maximize the response to your content, you can use [A/B Test Groups](https://marketing.carnival.io/v1.0/docs/test-groups) to test against a section of your audience prior to publishing your finalized campaign across all of your users. In order to do this, you will need to set up an audience and make use of the group attribute. All users in your app are split into one of ten random groups, which you can use for testing message effectiveness. Once a user is assigned to a group, the user will stay in that group.","excerpt":"","slug":"introduction-to-messaging","type":"basic","title":"Introduction to Messaging"}

Introduction to Messaging


Carnival helps you engage your mobile app users with rich and creative messages. Create push notifications or in-app messages, and allow users to browse past messages in your in-app message stream. [block:parameters] { "data": { "h-0": "Push Notifications", "h-1": "In-App Messages", "h-2": "In-App Message Stream", "0-0": "<img align=\"center\" src=\"https://lh6.googleusercontent.com/QpW8zJwXFC-VnpxwHIv7DmG7cHTLcHNmUyUW04kJfxpiM7I3TKC9M8SvwS9lDhE_alPM2cc1rakUHfZB-uRN9oVb06_EE3LSazR245TV6HXMSETlly55pMezx7zA_VqKnYifl3tr\"><br>\n<p>Sent to users’ mobile devices, even if your app isn’t open.</p>\n<p>A push notification can be a simple message directing users to your app, or can drive to an in-app message when the push is tapped.</p>", "0-1": "<img align=\"center\" src=\"https://lh4.googleusercontent.com/NZ4tZytWhOZOFDqQW7IwYsRA924wkkAw6Cn1uYKTMwefr9JDn5gp74L6Pk-avUjKMB18mvLZDq_RkNQRljj53aVamVSfNL2PjONa6VMJS8gOEwxKdT43tg9gv3Z_yMDs_MPIn7eO\"><br>\n<p>The most impactful way to engage your users while they are using your app.</p>\n<p>In-App Messages are commonly displayed as a \"roll-down\" interface, and can be triggered at key moments, such as the user opening the app.</p>", "0-2": "<img align=\"center\" src=\"https://lh4.googleusercontent.com/j509K8hRRtP-AcwECRHowpJcG1b9qm77ouo6QSPU9V8ndbcBPLbvyypNkWsJhums9rwKBkegox_oHzHAvFSP3LKSywfn1dw0t6ffGA7GKKtTR0oNflmL-anD3Vsu0JUt821ytfwj\"><br>\n<p>A list of historical cards, integrated directly in the app. This is a great way for users to look back over the messages that you have sent to them in the past.</p>\n<p>Users can access the stream via the “Messages” icon which is integrated into the app, or tapping ‘View all Messages’ on an In-App Message</p>" }, "cols": 3, "rows": 1 } [/block] ### Creating and Publishing Messages Whether you want to publish just an In-App Message, just a Push Notification, or both in conjunction, start by clicking **Messages** in the Carnival navigation menu. Click **Create New** at the top of the page. You will have the option to create either a **Regular Message** or an **Automated Message**. [block:image] { "images": [ { "image": [ "https://files.readme.io/57ad666-image_0.png", "image_0.png", 968, 684, "#c2c4c4" ], "sizing": "80" } ] } [/block] * **Regular Messages **Publish messages to all users who are currently in an audience. Regular messages can be sent immediately or scheduled for a future date. Some common uses are to send announcements, breaking news, or deals. * **Automated Messages **Targeted and personalized messages that are triggered as a result of a user entering or exiting an audience. Automated messages allow you to trigger messages dynamically as user behaviours change. Examples include: * Automatically triggering a notification to incentivize a user who hasn't used the app for a period of time. * Sending a notification with contextual information as a user enters or exits a geographical region. * A welcome notification for a user a few days after installing. #### Message Compose Screen After you have selected a message type—Regular or Automated—the message compose screen opens. [block:image] { "images": [ { "image": [ "https://files.readme.io/b33e0c4-image_1.png", "image_1.png", 2500, 1518, "#e6edf4" ] } ] } [/block] **Key Elements** 1. Audience targeting options 2. Push Notification content 3. In-App Message content 4. Scheduling options 5. Message Preview button **Audience Targeting Options** When creating a message, you will choose users to target based on audience segments that you have previously defined. Audiences can be created in the [Audiences](https://marketing.carnival.io/v1.0/docs/introduction-to-audiences) section. The first thing to do is select your target audience from the drop-down menu. For Automated Messages, you also need to select a trigger type from the adjacent menu. You can choose from either **Send On Audience Entry** or **Send on Audience Exit**. Sending ‘on entry’ is the most common choice. **Push Limits** With Automated Messages, you also have frequency capping options under the **Push Limits** drop-down to limit the amount of push notifications that are sent to any single user. This ensures that users are not spammed. [block:image] { "images": [ { "image": [ "https://files.readme.io/d6f8a85-image_2.png", "image_2.png", 582, 362, "#476773" ] } ] } [/block] *You can choose to:* * Delay the push notification up to 24 hours after the device enters an audience. * Specify a stand-down period of up to 24 hours after the initial push has been sent. This will allow you to wait the specified amount of time before the device can receive this message again. * Limit the maximum amount of push notifications that a device may receive with this message. Note: If a stand-down delay has been set for a message and a user enters, qualifies for the message, but then exits the audience before the delay passes, they will still be sent the message. For this reason, we recommend keeping stand-downs short so that the push notifications will always be timely and relevant. **Creating Content** The most common messaging use case in the Carnival platform is sending a Push Notification which links to an In-App Message. This drives users to open your app, and when tapped, links to a message with more content. For this reason, the default layout of the composer opens with a Push Notification linked to an In-App Message. [block:image] { "images": [ { "image": [ "https://files.readme.io/c60794b-image_3.png", "image_3.png", 1998, 1006, "#e8f0f5" ] } ] } [/block] There are however, some times where marketers may want to send only a Push Notification, or only an In-App Message. If this is the case, you can hover over the unneeded Push Notification or In-App Message and press "x" in the top right corner to remove it. [block:image] { "images": [ { "image": [ "https://files.readme.io/4d3d75a-image_4.png", "image_4.png", 862, 174, "#e7eff5" ], "sizing": "80" } ] } [/block] **Push Notification Content** Push Notifications contain text-only information which will show on screen even if the user does not have the app open. You can also add extra fields such as a badge, sound, category or Custom/Key Value by clicking **Add fields**. * A **Badge** will show a small number on the app icon on iOS, which is usually used to indicate to the user that there is new items to view. For example, you would enter 1 in this field to indicate ‘one new message’. * If you app contains custom notification sounds, you can enter a **Sound** file name to determine which sound should accompany this message. * A **Category** can be used to associate custom actions with an iOS notification. Category names are defined when your app is programmed. For more information refer to the [Apple Documentation](https://developer.apple.com/library/content/documentation/NetworkingInternet/Conceptual/RemoteNotificationsPG/SupportingNotificationsinYourApp.html#//apple_ref/doc/uid/TP40008194-CH4-SW26). * To enter custom data that your app has been programmed to use or display, select **Custom Key/Val**. [block:image] { "images": [ { "image": [ "https://files.readme.io/12a8796-image_5.png", "image_5.png", 1140, 744, "#e4ecf3" ] } ] } [/block] **In-App Message Content** Carnival’s In-App Messages allow you to send a wide range of content to your users. You can send videos, images, and links, and add [Message Attribute](https://getstarted.sailthru.com/carnival/messages/attributes/) fields that have been custom-configured for your app’s interface. * To add a **video or image**, drag the file into the gray box or click the camera icon to locate a file on your computer. * To add a **link**, click **Add fields**, select **Link**, and then enter the URL. See our [message and file size/type](https://marketing.carnival.io/docs/message-sizes) specifications, for more information. **Scheduling Options** If you want your messages to begin sending immediately on publish, skip this step. Otherwise, to schedule your messages, click the **Publish** field at the bottom of the interface. [block:image] { "images": [ { "image": [ "https://files.readme.io/47217a8-image_6.png", "image_6.png", 786, 102, "#dbe4ec" ], "sizing": "80" } ] } [/block] Then, select a date and time. You can select a specific time zone, or, if you want your message to send at the specified time when in occurs in each user’s time zone, select **Send at local time**. **Message Preview Screen** When you’re ready to preview your message, click the **Preview** button at the bottom right. The preview screen will give you an overview of your notifications and In-App Message content, as-well as any extra fields you have added such as alert, sound, or custom key/values. As you hover over the publish menu you can see more details about the audience and timing of your message before you publish. [block:image] { "images": [ { "image": [ "https://files.readme.io/03d0f77-image_7.gif", "image_7.gif", 1400, 850, "#252d34" ] } ] } [/block] ### Measuring Your Message Success [block:image] { "images": [ { "image": [ "https://files.readme.io/fb58f80-image_8.png", "image_8.png", 2500, 1310, "#e0e3e6" ] } ] } [/block] Measuring the performance of your messaging campaign is critical for understanding and comparing the effectiveness of your campaign. On this screen you are easily able to access: * Message Impressions – How many opportunities users have had to view your content. * Message Tap-Throughs – How many times the content has been viewed by your users. * Size of Audience – An estimate into how many users could see this message. * Push Notification Count – How many users the push notification went out to. #### A/B Testing To maximize the response to your content, you can use [A/B Test Groups](https://marketing.carnival.io/v1.0/docs/test-groups) to test against a section of your audience prior to publishing your finalized campaign across all of your users. In order to do this, you will need to set up an audience and make use of the group attribute. All users in your app are split into one of ten random groups, which you can use for testing message effectiveness. Once a user is assigned to a group, the user will stay in that group.