Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

New Testing Canvases doc #4022

Merged
merged 6 commits into from
Sep 14, 2022
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,9 @@ tool: Canvas

guide_featured_title: "Section Articles"
guide_featured_list:
- name: Sending Test Canvases
link: /docs/user_guide/engagement_tools/canvas/testing_canvases/sending_test_canvases/
fa_icon: fas fa-check-square
- name: Cloning Canvases
link: /docs/user_guide/engagement_tools/canvas/managing_canvases/cloning_canvases/
fa_icon: fas fa-clone
Expand Down
3 changes: 3 additions & 0 deletions _docs/_user_guide/engagement_tools/canvas/testing_canvases.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,9 @@ description: "This landing page is home to resources on Canvas analytics and tes

guide_featured_title: "Section Articles"
guide_featured_list:
- name: Sending Test Canvases
link: /docs/user_guide/engagement_tools/canvas/testing_canvases/sending_test_canvases/
fa_icon: fas fa-check-square
- name: Canvas Analytics
link: /docs/user_guide/engagement_tools/canvas/testing_canvases/measuring_and_testing_with_canvas_analytics/
fa_icon: fas fa-chart-pie
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,76 @@
---
nav_title: Sending Test Canvases
article_title: Sending Test Canvases
page_order: 1
description: "This reference article covers how to test a Canvas before launch."
page_type: reference
tool: Canvas
---

# Sending test Canvases

After [creating your Canvas]({{site.baseurl}}/user_guide/engagement_tools/canvas/create_a_canvas/create_a_canvas/), there are several checks you may want to perform before launching, depending on details such as your audience size or number of segmentation filters.

When possible, Braze recommends testing a Canvas before launching. This test will typically take place in your Braze environment. Testing your Canvas can involve duplicating it, taking test users through the user journey, and checking if the user behavior aligns with what you have outlined in your Canvas.

## Step 1: Create your test plan

Creating a test plan is essential before you begin testing your Canvas. A test plan can help identify and track specific areas of your Canvas journey.

As you build your testing plan, consider the following questions:
- Has at least one user been created for each Canvas branch and path?
- Are any segments being used in your Canvas?
- If segments are used, there may be prerequisites for a user to fall into the Canvas before they're eligible for a user journey.
- Do the messages in the test Canvas have any Liquid in the message titles that pull into the user ID or email address to ensure they are easy to identify both the message and user for testing purposes?

## Step 2: Identify a test user

Next, identify a test user to test users through the Canvas steps without actually sending messages to your intended users. Test users can be either existing email addresses that aren't used for actual services on your Braze dashboard, or new email addresses that are used exclusively for testing purposes.

## Step 3: Set up your Canvas

Next, it's time to test your Canvas! Create a duplicate of your Canvas for testing purposes. This will help keep your original Canvas and test Canvas information organized.

![][1]

Edit the **Entry Audience** portion of the Canvas builder so that only test users are eligible for the Canvas. You can also enter your own email address as a test user by adding the **Email Address** testing filter.

In the example below, we've limited the Canvas to two test users that have first used the app less than 3 days ago.

![][2]

## Step 4: Launch your test

Launch your test Canvas to allow users to start entering. Next, complete the user behaviors on your application that would send users through the respective Canvas journey.

Verify that your test users are receiving the intended messages from your Canvas steps. Note that your test users may not receive a message due to reasons not limited to:

- Not eligible for the global control group
- Frequency capping limitations
- Mismatched segment membership
- Aborted messages
- Push tokens associated with different users

Continue to iterate Canvas testing to ensure your Canvas performs as intended.

## General tips

### Reduce time delays

To run tests efficiently, we suggest reducing time delays to minutes or seconds for testing purposes so you can view messages in a timely manner. For example, allow at least 2-3 minutes between tests to be able to isolation specific actions to specific Canvas journeys.

### Use Postman and the user track endpoint

You can run tests with Postman and the [Braze Postman Collection]({{site.baseurl}}/api/postman_collection/). Use the [`/users/track` endpoint]({{site.baseurl}}/api/endpoints/user_data/post_user_track/) to record and track custom events and purchases for your various test users.

Note that sending data to the user track API can only be done with an external ID. So, test users may need to be added as test users within an internal group in the Braze dashboard so specific errors can be further investigated.

#### Testing for multiple branches

When you're testing a Canvas with multiple branches that target users based on different attributes and events, follow this testing plan:

1. For each branch, identify the attributes and events that the user must have to be included in the Canvas journey.
2. Build those into JSON payload to be posted using the `/users/track` endpoint.

[1]: {% image_buster /assets/img_archive/canvas_test1.png %}
[2]: {% image_buster /assets/img_archive/canvas_test2.png %}
Binary file added assets/img_archive/canvas_test1.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added assets/img_archive/canvas_test2.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.