Something BIG is happening to our documentation! Check back in early October!

Creating A Canvas

Step 1: Navigating to the Canvas page

Click on the “Canvas” link on the Dashboard’s side navigation located underneath the “Campaigns” link:

Canvas Dropdown

Step 2: Create a New Canvas

Click the “Create New Canvas” button:

Create New Canvas Button

Step 3: Name Your Canvas

Click on the name of your Canvas to edit it:

Name Your Canvas

Step 4: Set Your Starting Condition

Click on the “Starting Condition” link to control how users will be enrolled in a particular Canvas.

Canvas Starting Condition

There are two ways in which users can enter your Canvas. With scheduled delivery, users will enter on a time schedule, similarly to how you would schedule a Campaign. You can enroll users in a Canvas as soon as it is launched, or enter them into your journey at some point in the future, or on a recurring basis.

Canvas Scheduled Delivery

Additionally, you can choose to enter users into a Canvas when they perform certain triggers using Action-Based Delivery. Users will enter your Canvas and begin receiving messages when they take particular actions, such as opening your app, making a purchase, or triggering a custom event.

Canvas Action-Based Delivery

You can control other aspects of your Canvas’ behavior from the Entry Audience window, including rules for re-eligibility and frequency capping settings.

Should the window of re-eligibility be less than the maximum duration of the Canvas, a user will be allowed to re-enter and receive more than one step’s messages. In the edge case where a user’s re-entry reaches the same step as its previous entry, Braze will deduplicate that step’s messages. In the event where a user re-enters the Canvas, reaches the same step as their previous entry, and is eligible for an in-app message for each entry, the user will get the message twice (depending on in-app message priority) as long as they re-open a session 2 times.

Step 5: Select Your Send Settings

Click “Send Settings” to turn on rate-limiting and/or Frequency Capping.

Send Settings Click

By turning on rate-limiting or Frequency Capping below you can ease the marketing pressure placed on your users and ensure you aren’t over messaging them. To learn more about the benefits of rate-limiting and Frequency Capping click here.

Send Settings

Step 6: Set Your Target Audience

Click on the “Target Audience” link to control the eligible audience for your Canvas:

Canvas Target Audience

You can set the target audience for your Canvas from this screen. Only the users who match these criteria can enter the journey. For example, you might want to limit a particular journey to users who first used your app less than 3 weeks ago. You can also control settings such as whether messages should be sent to users who are subscribed or opted-in to your notifications.

Canvas Audience Entry

Step 7: Choose a Conversion Event

Click on the “Conversion Event” link to choose a conversion event goal for your Canvas:

Canvas Conversion Event

We will use the Conversion Event that you set from this screen to measure the efficiency of your Canvas. If your Canvas has multiple variants or a Control Group, Braze will use this Conversion Event to determine the best variation for achieving this Conversion goal. Using the same logic, you can create multiple Conversion Events:

Canvas Conversion Start

Step 8: Add a Variant

Click the “Add Variant” button and select the option to add a new variant to your Canvas. variants represent a journey that your users will take:

Canvas Add Variant

You can add additional variants by pressing the + button. When you add new variants, you’ll be able to adjust how your users will be distributed between them so that you can cross-compare and analyze the efficacy of different engagement strategies:

Canvas Multiple Variants

Step 9: Editing a Step

Click anywhere on a Step, and Braze will open the Step editing interface. Steps can be configured to send messages after either a fixed delay, or when a user performs a particular action. For example, you can use Canvas to configure a Day 1, Day 3, Day 7 onboarding Campaign with time delays between messages:

Canvas One Day

Or you can set a group of messages to be sent after your users take a particular action, with a configurable window, delay, and exception events:

Canvas Exception Events

You can also apply Filters to each Step of a Canvas. Use this to add additional control flow logic, such as dropping users out of a journey when they’re not likely to need additional engagement encouragement:

Canvas Additional Engagement

Edit the Messages in a Step to control messages that a particular Step will send. Canvas can send Email, Mobile & Web Push messages, and Webhooks to integrate with other systems.

Canvas Message Edit

Press the “Done” button once you’ve finished configuring your Step.

Step 10: Add More Steps

Add more Steps by pressing the blue plus icon:

Canvas More Step

Step 11: Multivariate Testing Using Canvas

You can add a Control Group to your Canvas by clicking on the Plus icon to add a new variant. Braze will track the Conversions for users who are placed into the Control Group, although they will not receive any messages. In order to preserve an accurate test, we will track the number of Conversions for your variants and the Control Group for exactly the same amount of time, as shown on the Conversion Event selection screen. Adjust the distribution between your messages by double clicking the variant Name headers.

Canvas Multivariate

Intelligent Selection for Canvas

Intelligent Selection capabilities are now available within Multivariate Canvases. Similar to the Intelligent Selection feature for multivariate Campaigns, Intelligent Selection for Canvas analyzes the performance of each Canvas variant and adjusts the percentage of users being funneled through each based off their performance metrics in such a way that the total expected number of conversions is maximized. Keep in mind that multivariate Canvases allow you to test more than copy, but timing and channels as well. Through Intelligent Selection you can test Canvases more efficiently and have confidence that your users will be sent on the best possible Canvas journey.

Intelligent Selection

Intelligent Selection for Canvas optimizes your Canvas’s results by making gradual real-time adjustments to the distribution of users sorted into each variant. When the statistical algorithm determines a decisive winner among your variants it will rule out the underperforming variants and slot all future eligible recipients of the Canvas into the winning variants. For this reason, Intelligent Selection works best on Canvases that have new users entering frequently.

Step 12: Saving & Launching Your Canvas

Once you’re done, press the “Launch Canvas” button at the bottom right to save and launch your Canvas. You can also save your Canvas as a Draft if you need to come back to it.

Once you’ve launched your Canvas, you’ll be able to view analytics for your journey as they come in:

Canvas Analytics

Changing Your Canvas After Launch

Initial Conditions

Editable Not-Editable
Initial Condition Conversion Events
Target Audience  
Pause / Resume Initial Condition  
Workflow Name  

Canvas Graph

Editable Not-Editable
Pause / Resume Execution of All Workflow Steps Deleting Steps
Insert Workflow Steps Deleting Variants
Add New Connections Deleting Connections
Add New Variants  
Variant Distribution  

Individual Step

Editable Not-Editable
Name Schedule Type (change from delay to trigger)
Message Content  
Step Message Platforms (add/delete)  
Exception Events  
Delays / Windows  

There are a number of things to know if you plan to edit or add more steps to any other step in Canvas after launching:

  • Users who have not yet entered the Canvas will be eligible for newly created steps
  • Users who have already passed newly created steps will be eligible next time they re-enter if you have allowed users to re-enter the Canvas in Canvas Entry Settings
  • Users who are currently in a Canvas, but have not reached the points where new steps are added will be eligible to receive those new steps.


Create a Branch

You can harness the power of Braze’s action based delivery and powerful realtime segmentation to deliver personalized experiences for your users.

To create a branch, click on the blue circle at the bottom of a Step. Then click on one of the shadowed icons to create a new step.

Canvas Create Branch 1

Create another step, branching from the first:

Canvas Create Branch 2

You can setup filters to determine how users should flow to subsequent steps.

Canvas Create Branch 3

Or you can have users flow between branches based upon actions that they take.

Canvas Create Branch 4


Overlapping Filters

When setting up your Canvas, you should ensure that the Filters that you use to split users down different branches do not overlap. If a user can match multiple steps, Braze will pick a branch to send them down. For example:

Canvas Create Branch 5

If a user first made a purchase 7 days ago, they will be randomly slotted into one of the branches above.

In-App Messages In Canvas

In-app Messages in canvas are now in Beta. If you’re interested in participating in the beta program, please contact your customer success manager or Braze’s support team.

Adding an In-app Message to Canvas

In-app messages can be included in any Canvas step. Please note that in app messages from canvases can only be displayed at session start. In-app message steps triggered off of custom events will not display in real time when the user completes the event. After completing the trigger event, your users will be eligible to receive the associated in-app message on their next session start.

Canvas Step Advancement

In some canvases, a customer will be eligible to receive a particular in-app message and the in-app message will never display for them.

This scenario could occur if a customer does not open the app during the in-app message’s availability window or if higher priority in-app messages display when the user opens their app. Note that eligibility means that a customer could get a particular message if they open their app - it does not mean that the in-app message actually displays for that customer.

Braze considers an in-app message as “sent” as soon as the user becomes eligible for the in-app message. As such, a user advances to subsequent canvas steps as soon as they are eligible to receive an in app message (or actually receive an email, push or webhook) from previous step.

More specifically, if a canvas step includes an in-app message, users will advance to the next step if they:

  • Meet the segmentation criteria for the current step as well as the subsequent step
  • Do not perform exception events for the current step before in-app message eligibility begins

To summarize, once a user becomes eligible for an in-app message in a canvas step, advancement to the next step is guaranteed.

In-app Message Availability Window

The availability window controls the duration of in app message eligibility. The maximum length of the availability window is 14 days.


In-app Message Eligibility Options

You can choose whether you’d like the in-app message to be displayed in the event that the customer has received messages from subsequent steps. By default, customers will not receive in-app messages from previous steps once they’ve received a message from a subsequent step.


Setting Message Priority

It is possible that a customer will trigger two in-app messages within your Canvas at the same time. When this occurs, Braze will follow the priority order below to determine which in-app message is displayed. Drag different Canvas steps to re-order 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/campaign level priorities also default to medium with the highest relative priority defaulting to the most recently created items.