{"__v":7,"_id":"561c774b92a66f0d00987915","category":{"__v":6,"_id":"561c7260cd5e7b0d00eb48c6","pages":["561c774b92a66f0d00987915","561c7c46be5c860d007bc1cd","561c7c6e2764990d00f546c4","561c7cc72764990d00f546c6","561dc41143c36d0d00da7798","563a920c0ed6332300378872"],"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"},"parentDoc":null,"project":"561c70aabe5fb20d00077758","user":"55d29988486de50d00327118","version":{"__v":6,"_id":"561c70aabe5fb20d0007775b","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"},"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":"[block:html]\n{\n  \"html\": \"<style>.embed-container { position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden; max-width: 100%; } .embed-container iframe, .embed-container object, .embed-container embed { position: absolute; top: 0; left: 0; width: 100%; height: 100%; }</style><div class='embed-container'><iframe src='https://player.vimeo.com/video/104628081' frameborder='0' webkitAllowFullScreen mozallowfullscreen allowFullScreen></iframe></div>\"\n}\n[/block]\n## In-App Content\n\nCarnival helps you engage your community on mobile with rich and creative messages. There are three key ways in which you can communicate with your users: In-App Messages, In-App Content Stream, and Push Notifications. \n\n### In-App Messages\n\nAn _In-App Message_ is the most powerful way to send content to your users. \n\nWhen a user opens the app, an in-app notification rolls down from the top of the screen. When tapped, Carnival opens the app and displays the content published to the user.\n\nUsers can also tap ‘View all Messages’ to see the stream view, which showcases all previously published content.\n\n### In-App Message Stream\n\nThe _In-App Message Stream_ is 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. Users can access the stream via the \"Messages\" icon which is integrated into the app, or tapping ‘View all Messages’ on an in-app notification.\n\n### Push Notifications\n\nA _Push notification_ alerts users to a new message and shows on the front of a user’s screen, whether or not the app is open. When tapped, Carnival opens the app and displays the detail view of the message.\n\n### Creative Content Types\n[block:image]\n{\n  \"images\": [\n    {\n      \"image\": [\n        \"https://files.readme.io/6637692-Screen_Shot_2017-03-02_at_7.37.22_PM.png\",\n        \"Screen Shot 2017-03-02 at 7.37.22 PM.png\",\n        1274,\n        626,\n        \"#dbdee1\"\n      ]\n    }\n  ]\n}\n[/block]\nThe message types available offer unlimited creativity to engage your mobile audience.  \n\nThe content types you are able to create are:\n\n* Text\n* Image\n* Link\n* Video\n* Plain Push\n\nYou can define your own message types by adding [Message Attributes](doc:message-attributes) and defining a custom UX in your app.\n\nAny content published will automatically show up in the In-App Message Stream.\n\n### Content Comparison and Specifications\n[block:parameters]\n{\n  \"data\": {\n    \"0-0\": \"**Type**\",\n    \"0-1\": \"**Push Only**\",\n    \"0-2\": \"**Text**\",\n    \"0-3\": \"**Image**\",\n    \"0-4\": \"**Link**\",\n    \"0-5\": \"**Video**\",\n    \"0-6\": \"\",\n    \"1-0\": \"**Description**\",\n    \"2-0\": \"**Fields**\",\n    \"3-0\": \"**Best used for...**\",\n    \"1-1\": \"Push notifications display outside the app only, showing up on a user’s home screen and notification tray.\",\n    \"2-1\": \"Text and badge number\",\n    \"3-1\": \"* A reminder to users to return to the app.\\n\\n* Alerting users to a new in-app message\",\n    \"1-2\": \"A text-only message of unlimited length that displays in the message stream.\",\n    \"2-2\": \"Title and body text\",\n    \"3-2\": \"A text message is useful for conveying simple information to your users that may be more complex for what can fit into a push notification\",\n    \"1-3\": \"A hero image with optional descriptive title and text.\",\n    \"2-3\": \"Image, title and body\",\n    \"3-3\": \"A richer way to convey messages to users. Try using animated GIF to send mini-videos to users.\",\n    \"1-4\": \"A hero image that immediately brings up a mobile website when the user taps the in-app notification.\",\n    \"2-4\": \"Link, image (optional), title and body.\",\n    \"3-4\": \"Allows you to link to richer content types: YouTube videos, twitter streams, online forms, competitions, and more!\",\n    \"1-5\": \"A video that plays on the user's device.\",\n    \"2-5\": \"Video, title and body.\",\n    \"3-5\": \"Allows you to send videos to your users. Great for product announcements, tutorials etc.\",\n    \"1-6\": \"\",\n    \"2-6\": \"\",\n    \"3-6\": \"\"\n  },\n  \"cols\": 7,\n  \"rows\": 4\n}\n[/block]\n\n[block:callout]\n{\n  \"type\": \"info\",\n  \"title\": \"A few rules\",\n  \"body\": \"it's important that you create engaging content (clear copy, crisp images, fast loading videos). Read our __[Message Sizes](doc:message-sizes)__ guide for more details around suggested sizes and formats.\"\n}\n[/block]\n## Composing and Publishing Content\n[block:image]\n{\n  \"images\": [\n    {\n      \"image\": [\n        \"https://files.readme.io/7e2adea-Screen_Shot_2017-03-02_at_7.42.43_PM.png\",\n        \"Screen Shot 2017-03-02 at 7.42.43 PM.png\",\n        956,\n        1744,\n        \"#e1e9f0\"\n      ]\n    }\n  ]\n}\n[/block]\nIt is easy to create and publish content to your mobile audience.  To start, simply click **Create New** at the top of the Messages screen. You will have the option to create either a Push Notification or an In-App Message. Next, you need to select the type of content you would like to publish to your users (for example a video or an image).\n\n### Targeting your message\n[block:image]\n{\n  \"images\": [\n    {\n      \"image\": [\n        \"https://files.readme.io/Kk31n33mQO2pFWDUWvRf_select-audience.png\",\n        \"select-audience.png\",\n        \"622\",\n        \"322\",\n        \"#2babe7\",\n        \"\"\n      ]\n    }\n  ]\n}\n[/block]\nWhen creating a message you can target based on precise Audience segments. These can be setup in the [Audiences](doc:introduction-to-audiences) section, or created directly from the compose window.\n\n\n### Adding Push Notifications\n\nYou are able to add a Push Notification trigger to your message, which means that your users will receive a notification even if they are not currently using the application.  The text content of the push notification can be different to the content setup as part of the in-app message.\n\n\n### Scheduling your Message\nMessages can be scheduled for delivery at just the right moment.  They can be published straight away, or at a specific time in the future. Before scheduled messages are published they will appear in the **Scheduled** tab of the message stream.\n\n### Behavioral Trigger Messaging\n\nRather than sending messages in at a point in time, Trigger Messaging allows you have messages send dynamically as user behaviors change.  i.e.\n\n* Incentivizing a user who hasn't used the app for a period of time\n* Giving contextual information as a user enters or exits a geographical region\n* Welcoming a user a few days after installing\n\nTo setup a trigger, you simply set the trigger to occur as users _enter_ or _exit_ an audience.\n\n### Deferring Push Notifications\nIf your message contains a push notification, you can choose to delay the push notification up to 24 hours after the device enters an audience. After this push has sent, you can also specify a stand down period of up to 24 hours. This will allow you to wait the specified amount of time before the device can receive another push message.\n\nDelays and stand downs are best used in special cases devices switch devices quite often. We recommend to keep delays and stand downs to a minimum (they should be shorter than the time a device spends in an audience).\n\n## Measuring your Message Success\n[block:image]\n{\n  \"images\": [\n    {\n      \"image\": [\n        \"https://files.readme.io/c317a25-Screen_Shot_2017-03-02_at_7.44.55_PM.png\",\n        \"Screen Shot 2017-03-02 at 7.44.55 PM.png\",\n        3358,\n        1538,\n        \"#18191f\"\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* **Message Tap Throughs**.  How many times the content has been viewed by your users.\n* **Size of Audience**.  An estimate into how many users _could_ see this message.\n* **Push Notification count**.  How many users the push notification went out to.\n\n\n### A/B Testing\n\nTo maximize the response to your content, you can use [A/B Test Groups](doc: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, it will stay in that group.","excerpt":"","slug":"introduction-to-messaging","type":"basic","title":"Introduction to Messaging"}

Introduction to Messaging


[block:html] { "html": "<style>.embed-container { position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden; max-width: 100%; } .embed-container iframe, .embed-container object, .embed-container embed { position: absolute; top: 0; left: 0; width: 100%; height: 100%; }</style><div class='embed-container'><iframe src='https://player.vimeo.com/video/104628081' frameborder='0' webkitAllowFullScreen mozallowfullscreen allowFullScreen></iframe></div>" } [/block] ## In-App Content Carnival helps you engage your community on mobile with rich and creative messages. There are three key ways in which you can communicate with your users: In-App Messages, In-App Content Stream, and Push Notifications. ### In-App Messages An _In-App Message_ is the most powerful way to send content to your users. When a user opens the app, an in-app notification rolls down from the top of the screen. When tapped, Carnival opens the app and displays the content published to the user. Users can also tap ‘View all Messages’ to see the stream view, which showcases all previously published content. ### In-App Message Stream The _In-App Message Stream_ is 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. Users can access the stream via the "Messages" icon which is integrated into the app, or tapping ‘View all Messages’ on an in-app notification. ### Push Notifications A _Push notification_ alerts users to a new message and shows on the front of a user’s screen, whether or not the app is open. When tapped, Carnival opens the app and displays the detail view of the message. ### Creative Content Types [block:image] { "images": [ { "image": [ "https://files.readme.io/6637692-Screen_Shot_2017-03-02_at_7.37.22_PM.png", "Screen Shot 2017-03-02 at 7.37.22 PM.png", 1274, 626, "#dbdee1" ] } ] } [/block] The message types available offer unlimited creativity to engage your mobile audience. The content types you are able to create are: * Text * Image * Link * Video * Plain Push You can define your own message types by adding [Message Attributes](doc:message-attributes) and defining a custom UX in your app. Any content published will automatically show up in the In-App Message Stream. ### Content Comparison and Specifications [block:parameters] { "data": { "0-0": "**Type**", "0-1": "**Push Only**", "0-2": "**Text**", "0-3": "**Image**", "0-4": "**Link**", "0-5": "**Video**", "0-6": "", "1-0": "**Description**", "2-0": "**Fields**", "3-0": "**Best used for...**", "1-1": "Push notifications display outside the app only, showing up on a user’s home screen and notification tray.", "2-1": "Text and badge number", "3-1": "* A reminder to users to return to the app.\n\n* Alerting users to a new in-app message", "1-2": "A text-only message of unlimited length that displays in the message stream.", "2-2": "Title and body text", "3-2": "A text message is useful for conveying simple information to your users that may be more complex for what can fit into a push notification", "1-3": "A hero image with optional descriptive title and text.", "2-3": "Image, title and body", "3-3": "A richer way to convey messages to users. Try using animated GIF to send mini-videos to users.", "1-4": "A hero image that immediately brings up a mobile website when the user taps the in-app notification.", "2-4": "Link, image (optional), title and body.", "3-4": "Allows you to link to richer content types: YouTube videos, twitter streams, online forms, competitions, and more!", "1-5": "A video that plays on the user's device.", "2-5": "Video, title and body.", "3-5": "Allows you to send videos to your users. Great for product announcements, tutorials etc.", "1-6": "", "2-6": "", "3-6": "" }, "cols": 7, "rows": 4 } [/block] [block:callout] { "type": "info", "title": "A few rules", "body": "it's important that you create engaging content (clear copy, crisp images, fast loading videos). Read our __[Message Sizes](doc:message-sizes)__ guide for more details around suggested sizes and formats." } [/block] ## Composing and Publishing Content [block:image] { "images": [ { "image": [ "https://files.readme.io/7e2adea-Screen_Shot_2017-03-02_at_7.42.43_PM.png", "Screen Shot 2017-03-02 at 7.42.43 PM.png", 956, 1744, "#e1e9f0" ] } ] } [/block] It is easy to create and publish content to your mobile audience. To start, simply click **Create New** at the top of the Messages screen. You will have the option to create either a Push Notification or an In-App Message. Next, you need to select the type of content you would like to publish to your users (for example a video or an image). ### Targeting your message [block:image] { "images": [ { "image": [ "https://files.readme.io/Kk31n33mQO2pFWDUWvRf_select-audience.png", "select-audience.png", "622", "322", "#2babe7", "" ] } ] } [/block] When creating a message you can target based on precise Audience segments. These can be setup in the [Audiences](doc:introduction-to-audiences) section, or created directly from the compose window. ### Adding Push Notifications You are able to add a Push Notification trigger to your message, which means that your users will receive a notification even if they are not currently using the application. The text content of the push notification can be different to the content setup as part of the in-app message. ### Scheduling your Message Messages can be scheduled for delivery at just the right moment. They can be published straight away, or at a specific time in the future. Before scheduled messages are published they will appear in the **Scheduled** tab of the message stream. ### Behavioral Trigger Messaging Rather than sending messages in at a point in time, Trigger Messaging allows you have messages send dynamically as user behaviors change. i.e. * Incentivizing a user who hasn't used the app for a period of time * Giving contextual information as a user enters or exits a geographical region * Welcoming a user a few days after installing To setup a trigger, you simply set the trigger to occur as users _enter_ or _exit_ an audience. ### Deferring Push Notifications If your message contains a push notification, you can choose to delay the push notification up to 24 hours after the device enters an audience. After this push has sent, you can also specify a stand down period of up to 24 hours. This will allow you to wait the specified amount of time before the device can receive another push message. Delays and stand downs are best used in special cases devices switch devices quite often. We recommend to keep delays and stand downs to a minimum (they should be shorter than the time a device spends in an audience). ## Measuring your Message Success [block:image] { "images": [ { "image": [ "https://files.readme.io/c317a25-Screen_Shot_2017-03-02_at_7.44.55_PM.png", "Screen Shot 2017-03-02 at 7.44.55 PM.png", 3358, 1538, "#18191f" ] } ] } [/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](doc: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, it will stay in that group.