In-app messages in Canvas
In-app messages can be added as part of your Canvas journey to show rich messaging when your customer engages with your app. This article describes features and nuances specific to Canvas in-app messages.
Before continuing, you should have already created your Canvas and set up delay and audience options.
Now you can add an in-app message to your Canvas by selecting in-app message from Messaging Channels. Once a step’s delay has passed and the audience options have been checked, the in-app message will be set live and users will see it if they open the app. In-app messages in Canvas may only be triggered by the
start session trigger event—they can’t be triggered by custom events in a Canvas step!
In-app message expiration
In the in-app message composer, you have the option to choose when the in-app message will expire. During this time, the in-app message will sit and wait to be viewed until it has reached the expiry date. Once sent, the in-app message can be viewed at most once.
|Message expires after specified period||The first option allows you to expire the in-app message relative to when the step becomes available to the user.||For example, an in-app message with a two-day expiration would become available after the step’s delay elapses and audience options are checked. It would then be available for 2 days (48 hours) and during those two days, users may see the in-app message if they open the app.|
|Message expires by specified date||The second option allows you to choose a specific date and time when the in-app message will longer be available.||For example, if you have a sale that ended at a specific date and time, you might select this option so that once the sale ends users no longer see the associated in-app message.|
When should you use this feature? Braze highly recommends that you consider using this feature in your promotional and onboarding campaigns.
Promotions, coupons, and sales often have hard expiration dates. The following Canvas should alert your users at the most opportune times that there is a promotion they may use, and perhaps influence a purchase. This promotion expires by February 28, 2019 at 11:15am in the company’s time zone.
|Day 1: 50% off||None||All from entry||Push||N/A||Advance Audience After Delay||Initial push that alerts your users of the promotion. This is intended to drive users to your app to take advantage of the promotion.|
|In-app: 50% off||None||All from entry||In-app message||Expires by: 2/28/2019 11:15 AM Company Time||In-App Message Viewed||The user has now opened the app and will receive this message whether or not that was because of the push message before.|
|50% off reminder||1 day after the user receives the previous step||All from entry
Filter: Last made a purchase more than one week ago
|In-app message||Expires by: 2/28/2019 11:15 AM Company Time||None (last message in Canvas)||The user has received the in-app message in the previous step but has not made a purchase despite being in the app.
This message is meant to further draw the user to make a purchase using the promotion.
As you can see, the in-app messages expire when the promotion expires to prevent any discrepancies between the messaging and the customer experience.
User Onboarding Canvases
Your first impression with a user is, perhaps, your most critical one. It can make or break future visits to your app. Your initial communications with your user should be sensibly timed and encourage frequent visits to your app to promote usage.
|Welcome email||None||All from entry||N/A||Advance Audience after Delay||Initial email that welcomes your users to a project, membership, or other onboarding program.
This is intended to drive users to your app to begin their onboarding.
|Day 3–6 in-app message||3 days after the user receives the previous step||All from entry||In-app message||Expires: 3 days after the step becomes available||In-App Message Live||If the user has acted upon the email and been driven to the app, they will receive the desired in-app message to continue or remind them of their onboarding and any requirements associated with it.|
|Day 5 push||2 days after the user receives the previous step||All from entry||Push||N/A||Message Sent||After users have received their in-app message, they will receive a follow-up push to continue their onboarding.|
As you can see, the push messages are spaced around an in-app message to ensure that the user has visited the app and begun their onboarding. This will prevent any annoying spam or out-of-order messaging that could dissuade users from visiting your app, and instead create a flowing, sensible order to their initial experiences with your app.
Advancement Behavior options
Braze’s Advancement Behavior feature allows you to choose the criteria for advancement through your Canvas step. Steps with only in-app messages have different advancement options than steps with multiple message types (push, email, etc.).
Action-based delivery is not available for Canvas steps with in-app messages. Canvas steps with in-app messages must be scheduled. Instead, Canvas in-app messages will appear the first time that your user opens the app (triggered by the start session) after the scheduled message in the Canvas step has been sent to them.
If you have multiple in-app messages within one Canvas, a user must start multiple sessions to receive each of those individual messages.
In-app messages can’t be triggered by events in Canvas.
Steps with in-app messages only
Steps with in-app messages have specific advancement options that allow you to specify the exact situation when your message would be sent.
|Advance When In-App Message Viewed||Users will advance to the next steps of the Canvas when they view the in-app message in your application and log an in-app message impression.
Users who do not view the in-app message before it expires will exit the Canvas and will not advance to subsequent steps.
|Advance When In-App Message Live||Users will advance to the next steps in the Canvas as soon as the in-app message becomes live. In-app messages are live once the delay for the step has elapsed and the audience options for the step have been checked.
When this option is selected, all users who match the step’s segment and filter criteria will be advanced to subsequent steps in the Canvas. Use this option when you want users to advance regardless of whether the in-app message is viewed or expires.
When Advance When In-App Message Live is selected, the in-app message will be available until it expires, even if the user has moved to subsequent steps. If you do not want the in-app message to be live when the next steps in the Canvas are delivered, ensure that the expiration is shorter than the delay on subsequent steps.
Steps with multiple channels
Steps with an in-app message and another channel have the following advancement options:
|Advance When Message Sent||Users must be sent an email/webhook/push or view the in-app message to advance to subsequent steps in the Canvas.
If the in-app message expires and the user hasn’t been sent the email, webhook, or push, or hasn’t viewed the in-app message, they will exit the Canvas and will not advance to subsequent steps.
|Immediately Advance Audience||Everyone in the step’s audience advances to the next steps after the delay elapses, whether they have seen the noted message or not.
Users must match the step’s segment and filter criteria to advance to next steps.
When “Entire Audience” is selected, the in-app message will be available until it expires, even if the user has moved to subsequent steps. If you do not want the in-app message to be live when the next steps in the Canvas are delivered, ensure that the expiration is shorter than the delay on subsequent steps.
Prioritizing in-app messages
A customer may trigger two in-app messages within your Canvas at the same time. When this occurs, Braze will adhere to the following priority order to determine which in-app message is displayed. Drag different Canvas steps to reorder their priority. By default, steps earlier in a Canvas variant will display before later steps.
Navigate to the Send Settings of the Canvas section to prioritize in-app messages from a Canvas against in-app messages from other Canvases and campaigns.
By default, Canvas step priority is set to medium, with the most recently created steps having the highest relative priority. Canvas and campaign-level priorities also default to medium, with the highest relative priority defaulting to the most recently created items.
Custom event properties in a Canvas
Due to action-based delivery being unavailable for Canvas steps with in-app messages, you similarly cannot use custom event properties for these steps. If you’d like to template event properties in Canvas, we recommend storing your event properties as custom attributes in your first Canvas step, and then personalizing your in-app message with the custom attributes in the second step.