キャンバスの作成
マルチステップのジャーニーにユーザーを誘導したい場合はキャンバスを使用します。キャンバスは遅延、意思決定、メッセージを連携させることで、ユーザーの行動やそのタイミングに基づいてエクスペリエンスを分岐させることができます。1つまたは複数のチャネルにわたる単一のメッセージングステップには、キャンペーンを使用してください。
前提条件
始める前に
- ユースケースに合わせてエントリ、メッセージング、コンバージョン目標を整理するために、キャンバスの基本を確認してください。
- ガイド付きのウォークスルーについては、キャンバスの Braze Learning コースを受講してください。
- Braze キャンバステンプレートから始めるか、オペレーターにブリーフからキャンバスの下書きを作成してもらうこともできます。
ステップ1: キャンバスの基本を設定する
- メッセージング > キャンバスに移動します。
- キャンバスを作成を選択します。
- キャンバスに名前を付け、チームを割り当て、タグを作成または追加します。キャンバスにコンバージョンイベントを割り当てることもできます。

コンバージョンイベントの選択
コンバージョンイベントのタイプを選択し、記録するコンバージョンを選択します。これらのコンバージョンイベントは、キャンバスの効果を測定します。
キャンバスに複数のバリアントまたはコントロールグループがある場合、Brazeはこのコンバージョンイベントを使用して、このコンバージョン目標を達成するための最適なバリエーションを決定します。同じロジックを使用して、複数のコンバージョンイベントを作成できます。
ステップ2: エントリスケジュールを選択する
ユーザーがキャンバスに入る方法を3つの中から選択できます。
スケジュール配信では、キャンペーンのスケジュール設定と同様に、ユーザーはタイムスケジュールに基づいてエントリします。キャンバスの起動直後にユーザーを登録したり、将来の特定の時点でジャーニーにエントリさせたり、定期的(毎日、毎週、毎月)にエントリさせたりできます。
月次の定期スケジュールを選択した場合、選択した日が存在しない月がある点にご注意ください。たとえば、キャンバスを毎月31日に送信するように設定したとします。この場合、4月31日は存在しないため、Brazeは4月30日のようにその月の最終日に送信します。
ローカルタイムゾーン配信を使用する場合、Brazeはエントリの適格性を2回評価します。最初にスケジュールされた日のサモア時間(UTC+13)で、次にユーザーのローカルタイムゾーンで評価します。ユーザーがキャンバスにエントリするには、両方のチェックで適格である必要があります。エントリフィルターが相対的な時間ウィンドウ(例:「2日以上前」)を使用している場合、最初のチェック時点で24時間がまだ経過していない可能性があり、ユーザーが1日遅れてエントリすることがあります。これを避けるには、少なくとも2日以上のより広い時間ウィンドウを使用してください。詳細については、Brazeはローカルタイムゾーン配信でユーザーをいつ評価しますか?を参照してください。
アクションベース配信では、ユーザーがアプリを開く、購入を行う、カスタムイベントをトリガーするなどの特定のアクションを実行すると、キャンバスにエントリしてメッセージの受信を開始します。
エントリオーディエンスウィンドウから、再適格性のルールやフリークエンシーキャップの設定など、キャンバスの動作の他の側面を制御できます。アクションベースのキャンバスエントリをアプリ内メッセージステップと一緒に使用できます。アプリ内メッセージはクラシックなアクションベースステップ(トリガーと遅延)では使用できません。

キャンバスステップとのインタラクションは、キャンバスのアクションベースエントリトリガーとしては使用できません。キャンペーンのトリガーとしてのみ使用できます。あるキャンバスから別のキャンバスをトリガーするには、送信先に送信キャンバスコンポーネントを使用するか、/canvas/trigger/sendエンドポイントを呼び出すBraze間Webhookを作成してください。

アクションベースのキャンバスが予想より早くメッセージを送信する場合、カスタムイベントのタイムスタンプがバックデート(過去の日時)ではなく現在の時刻で送信されているか確認してください。たとえば、アクションベースのキャンバスにユーザーがカスタムイベントを実行してから3時間の遅延がある場合、Brazeはカスタムイベントとともに送信されたタイムスタンプを使用してその遅延を評価します。タイムスタンプが3時間以上バックデートされている場合、Brazeは遅延がすでに経過したものとして扱い、メッセージを即座に送信します。
APIトリガー配信では、/canvas/trigger/sendエンドポイントを使用してユーザーを追加した後、ユーザーがキャンバスにエントリしてメッセージの受信を開始します。ダッシュボードにはcURLリクエストの例が含まれています。
そのリクエストのエントリプロパティキーは、ワークスペースで利用可能な機能によって異なります。
- ダッシュボードにコンテキスト変数が表示される場合、オプションのエントリデータを
contextオブジェクトで渡します。 - ダッシュボードにキャンバスエントリプロパティが表示される場合、ダッシュボードのサンプルに示されているレガシーの
canvas_entry_propertiesオブジェクトを使用します。
たとえば、受信者オブジェクトは以下のエントリデータキーのいずれかを使用します。
コンテキスト変数:
{"external_user_id": "user_123", "context": {"product_name": "shoes"}}
キャンバスエントリプロパティ:
{"external_user_id": "user_123", "canvas_entry_properties": {"product_name": "shoes"}}
APIトリガー配信では、以下のエンドポイントを使用できます。
配信方法を選択した後、ユースケースに合わせて設定を調整し、ターゲットオーディエンスの設定に進みます。
オリジナルエディターを使用するキャンバスの重複排除動作
再適格性のウィンドウがキャンバスの最大期間よりも短い場合、ユーザーは再エントリして複数のコンポーネントのメッセージを受信する可能性があります。ユーザーの再エントリが前回のエントリと同じコンポーネントに到達するエッジケースでは、Brazeはそのコンポーネントのメッセージを重複排除します。
ユーザーがキャンバスに再エントリし、前回のエントリと同じコンポーネントに到達して、各エントリに対してアプリ内メッセージの対象となる場合、ユーザーはセッションを2回再度開くことで、メッセージを2回受信します(アプリ内メッセージの優先度に依存します)。
ステップ 3: ターゲットオーディエンスの設定
ターゲットオーディエンスステップで定義した条件に一致するユーザーのみがジャーニーに入ることができます。つまり、Brazeはユーザーがキャンバスジャーニーに入る前に、ターゲットオーディエンスの適格性を最初に評価します。たとえば、新規ユーザーをターゲットにしたい場合、1週間以内にアプリを初めて使用したユーザーのセグメントを選択できます。

複数のアプリがあるワークスペースでは、キャンバスのエントリオーディエンスの適格性は、ユーザーがキャンバスに入るときにのみ評価され、個々のメッセージステップでは評価されません。メッセージステップを特定のアプリのユーザーに制限するには、メッセージ送信時にオーディエンスを検証をオンにし、メッセージステップの配信検証でアプリをターゲットにしたセグメントを追加するか、送信時にLiquidを使用します。アプリを持っているなどのフィルターは、どのアプリがメッセージを受信するかを制限するものではありません。
エントリコントロールでは、キャンバスが実行されるようにスケジュールされるたびにユーザー数を制限できます。APIトリガーベースおよびアクションベースのキャンバスの場合、この制限はUTC時間の毎時間に適用されます。
オーディエンスのテスト
ターゲットオーディエンスにセグメントとフィルターを追加した後、ユーザーの検索を行って、オーディエンスの条件に一致するかどうかを確認することで、オーディエンスが期待どおりに設定されているかテストできます。
エントリコントロールの選択
エントリコントロールは、ユーザーがキャンバスに再入場できるかどうかを決定します。また、エントリスケジュールの種類に応じて、選択したケイデンスによってこのキャンバスに入ることができる人数を制限することもできます。
- スケジュール済み: キャンバスの有効期間中、またはキャンバスがスケジュールされるたび
- アクションベース: 毎時間、毎日、またはキャンバスの有効期間中
- APIトリガー: 毎時間、毎日、またはキャンバスの有効期間中
たとえば、スケジュール済みのキャンバスがあり、入場ボリュームを制限を選択して最大エントリ数フィールドを500,000ユーザーに設定し、制限ケイデンスとしてキャンバスがスケジュールされるたびを指定すると、キャンバスはスケジュールされた送信ごとに500,000ユーザーにのみ送信します。


BrazeはIPウォームアップに対してキャンバスがスケジュールされるたびを選択することを推奨しません。送信ボリュームの増加につながる可能性があるためです。
終了条件の設定
終了条件を設定すると、キャンバスから退出させたいユーザーが決まります。ユーザーが例外イベントを実行するか、セグメントやフィルターに一致すると、それ以降のメッセージは受信しません。
ターゲット層の計算
ターゲット層セクションでは、選択したセグメントや追加フィルターなど、オーディエンスの概要と、メッセージングチャネルごとのリーチ可能なユーザー数の内訳を確認できます。デフォルトの推定値ではなく、ターゲットオーディエンス内のリーチ可能なユーザーの正確な数を計算するには、正確な統計を計算を選択します。
注意事項:
- 正確な統計の計算には数分かかる場合があります。この機能はセグメントレベルでのみ正確な統計を計算し、フィルターやフィルターグループレベルでは計算しません。
- 正確な統計の読み込み中は、四捨五入された推定値が表示される場合があります。正確な数値は読み込み完了後にリーチ可能なユーザーセクションに表示されます。追加の統計を表示を選択すると、詳細な内訳を確認できます。
- 大規模なセグメントの場合、正確な統計を計算してもわずかな変動が生じることがあります。この機能の精度は99.999%以上であることが想定されています。
ターゲットユーザーの平均生涯収益など、追加の統計を表示するには、追加の統計を表示を選択します。
ターゲットオーディエンス数がリーチ可能なユーザー数と異なる理由
キャンペーンまたはキャンバスに表示されるターゲット層のサイズは、セグメントの到達可能なオーディエンスサイズとは異なる場合があります。これは、そのセグメントを追加のフィルターなしでキャンペーンまたはキャンバスに直接追加している場合でも同様です。 これにはいくつかの理由が考えられます。
- グローバルコントロールグループがキャンペーンまたはキャンバスに適用されている場合、そのグローバルコントロールグループ内のユーザーは到達可能なユーザー数から除外されます。
- キャンペーンまたはキャンバスのターゲット層のサイズは、さまざまなメッセージチャネルを通じて連絡できないユーザーを除外します。この動作はチャネルごとに異なります。たとえば、キャンペーンまたはキャンバスの到達可能なオーディエンスでは、購読解除済み、スパムとしてマークされた(メールの場合)、またはハードバウンスした(メールの場合)ユーザーが除外されます。ただし、セグメント自体は、到達可能なメールユーザーの推定数を表示する際にオプトアウトのみを除外します。
- Brazeは選択した購読グループ内のユーザーにのみSMSメッセージを送信するため、キャンペーンまたはキャンバスのSMSターゲット層からは、選択した購読グループに含まれないユーザーも除外されます。
ステップ4:送信設定の選択
送信設定を選択して、購読設定の編集、レート制限の有効化、サイレント時間の有効化を行います。レート制限やフリークエンシーキャップを有効にすることで、ユーザーへのマーケティングプレッシャーを軽減し、過剰なメッセージ送信を防ぐことができます。
メールおよびプッシュチャネルをターゲットとするキャンバスでは、明示的にオプトインしたユーザーのみがメッセージを受信するようにキャンバスを制限することをお勧めします(購読済みまたは購読解除済みのユーザーを除外)。たとえば、オプトインステータスが異なる3人のユーザーがいるとします。
- ユーザーAはメールをサブスクライブしており、プッシュが有効です。このユーザーはメールを受信しませんが、プッシュを受信します。
- ユーザーBはメールにオプトインしていますが、プッシュが有効ではありません。このユーザーはメールを受信しますが、プッシュを受信しません。
- ユーザーCはメールにオプトインしており、プッシュが有効です。このユーザーはメールとプッシュの両方を受信します。
この場合、購読設定を「オプトインしたユーザーのみ」に送信するよう設定します。このオプションにより、オプトインしたユーザーのみがメールを受信し、Brazeはデフォルトでプッシュが有効なユーザーにのみプッシュを送信します。
これらの購読設定はステップごとに適用されるため、エントリオーディエンスには影響しません。この設定は、各キャンバスステップを受信するためのユーザーの適格性を評価するために使用されます。

この設定の場合、ターゲットオーディエンスステップにオーディエンスを単一チャネルに限定するフィルター(たとえば、Foreground Push Enabled = True や Email Subscription = Opted-In)を含めないでください。
キャンバスにサイレント時間(メッセージが送信されない時間帯)を指定することもできます。送信設定でサイレント時間を有効にするをオンにします。次に、ユーザーのローカルタイムゾーンでサイレント時間を選択し、メッセージを中止するか、次に送信可能な時間に送信するかを選択します。
次に送信可能な時間に送信を選択すると、サイレント時間中はメッセージが抑制され、サイレント時間終了後の次に送信可能な時間に送信されます。たとえば、ユーザーのローカルタイムゾーンで午前11時30分から午後2時30分までメッセージの送信を防ぐようにサイレント時間が設定されており、ユーザーが午前11時35分にメッセージステップに入ったとします。この時間はサイレント時間内であるため、メッセージはまだ送信されず、ユーザーはサイレント時間終了後の午後2時30分にメッセージステップを受信します。
ステップ5: ジャーニーを構築する

Braze キャンバステンプレートから始めることで時間を節約できます。ライブラリからユースケースに合ったテンプレートを見つけてカスタマイズしましょう。詳細については、キャンバステンプレートをご覧ください。
ステップ5.1: バリアントを追加する
バリアントを追加を選択して、キャンバスに新しいバリアントを追加します。バリアントはユーザーがたどるジャーニーを表し、複数のステップや分岐を含めることができます。
プラスボタンを選択して、追加のバリアントを追加できます。新しいバリアントを追加すると、ユーザーがバリアント間でどのように配分されるかを調整でき、異なるエンゲージメント戦略の効果を比較分析できます。

デフォルトでは、キャンバスのバリアント割り当てはユーザーIDとキャンバスIDの決定論的ハッシュ(ユーザーのランダムバケット番号ではなく)を使用します。配分率が変更されない限り、ユーザーは再エントリ時に同じバリアントに割り当てられます。起動後に配分率を変更すると、再エントリしたユーザーが異なるバリアントに割り当てられる場合があります。
配分率を変更しても割り当てを固定したい場合は、単一のバリアントを使用し、ユーザー更新ステップでランダムな数値を保存してから、オーディエンスパスでルーティングしてください。以下の手順を展開して全パターンをご確認ください。
手順の詳細を展開
- ランダムな数値を保存するための数値カスタム属性を作成します。
lottery_numberやrandom_assignmentなど、見つけやすい名前を付けてください。ダッシュボードでデータ設定 > カスタム属性に移動します。 - 単一のキャンバスバリアントを使用します(または各バリアントに同じユーザー更新ステップを追加します)。ジャーニーの最初にユーザー更新ステップを追加します。このステップは、ユーザーがオーディエンスパスステップに到達する前にランダムな数値を生成・保存します。
- ユーザー更新ステップで、高度なJSONエディターを選択します。{% random %} タグを使用して数値を生成します。詳細については、ランダムな数値でメッセージを送信するをご覧ください。例えば、
{% random 10 %}は0から9までの整数を返します。ステップ1のカスタム属性を次のようなJSONで設定します。
{% if {{custom_attribute.${lottery_number}}} == blank %} {% capture lottery_number_str %}{% random 10 %}{% endcapture %} { "attributes": [ { "lottery_number": {{ lottery_number_str | plus: 0 }} } ] } {% endif %}
{% if %} ブロックは、属性が空白の場合にのみ数値を設定するため、ユーザーがキャンバスに再エントリしても同じ割り当てが維持されます。
- ユーザー更新ステップの後にオーディエンスパスステップを追加します。各オーディエンスグループで、バリアント配分率を使用する代わりに、カスタム属性に基づくフィルターを追加します。
例えば、{% random 10 %}を使用した場合、あるグループはlottery_numberが4未満、別のグループは3より大きく7未満、3つ目のグループは6より大きく10未満のように設定します。
ステップ5.2: ステップを追加する
コンポーネントサイドバーからコンポーネントをドラッグ&ドロップして、キャンバスワークフローにステップを追加できます。または、 プラスボタンを選択してポップオーバーメニューからコンポーネントを追加します。コンポーネントの一覧については、キャンバスコンポーネントをご覧ください。

キャンバスには最大200ステップを追加できます。キャンバスが200ステップを超えると、読み込みの問題が発生する場合があります。
ステップを追加していくにつれて、ズームレベルを変更して詳細にフォーカスしたり、ユーザージャーニー全体を俯瞰したりできます。Shift + +でズームイン、Shift + -でズームアウトできます。
最大期間
最大期間は、ユーザーがキャンバスを完了するまでにかかる可能性のある最長時間です。Brazeは、最も長いパスに沿って各ステップの遅延とトリガーウィンドウを合計して計算します。例えば、3日間の遅延ステップの後にメッセージステップがある場合、最大期間は3日間になります。
ステップの編集
任意のコンポーネントを選択して編集できます。例えば、遅延ステップを選択して、遅延を3月1日などの特定の日に変更できます。その日になると、ユーザーは次のステップに進みます。
また、アクションパスステップのアクション設定を編集して、評価ウィンドウの間ユーザーを保持し、そのウィンドウ内のアクションに基づいて次のパスを優先させることもできます。
キャンバス内のメッセージ
メッセージステップを使用して、メール、モバイルプッシュ、Webプッシュ、またはwebhookメッセージを送信します。メッセージングチャネルを選択し、配信設定を調整して、Liquidでコピーをパーソナライズします。
Liquidでのエントリデータとイベントプロパティについては、コンテキストとイベントプロパティをご覧ください。ステップの設定が完了したら、完了を選択します。
ステップ5.3: 接続を編集する
ステップ間の接続を移動するには、2つのコンポーネントを接続する矢印を選択し、別のコンポーネントを選択します。接続を削除するには、矢印を選択し、キャンバスコンポーザーのフッターにある接続をキャンセルを選択します。
単一のバリアントに同じオーディエンスと送信時間を持つ複数の分岐がある場合、Brazeはそれらの分岐間で均等な分割を保証しません。配分は最初に作成された分岐が優先される場合があります。均等な分割を行うには、各分岐でランダムバケット番号フィルターを使用してください。詳細については、1つのバリアントに複数の分岐があるキャンバスで、オーディエンスと送信時間が同一の場合はどうなりますか?をご覧ください。
ステップ 6: コントロールグループを追加する
プラスボタンを選択して新しいバリアントを追加することで、キャンバスにコントロールグループを追加できます。
Brazeは、コントロールグループに配置されたユーザーのコンバージョンを追跡しますが、これらのユーザーにはメッセージは送信されません。正確なテストを維持するために、Brazeはコンバージョンイベント選択画面に表示されるとおり、バリアントとコントロールグループのコンバージョン数をまったく同じ期間にわたって追跡します。
バリアント名ヘッダーを選択すると、メッセージ間の配分を調整できます。
BrazeAIでキャンバスバリアントを最適化する
複数のトップレベルバリアントを持つキャンバスでは、BrazeAIで最適化(一部のワークスペースではインテリジェントセレクションと表示されます)をオンにして、各バリアントに入るユーザーの割合を自動的に調整できます。BrazeAIはバリアントのパフォーマンスを使用して、期待されるコンバージョン数を最大化します。
少なくとも2つのバリアントと1つのコンバージョンイベントを追加してください。次に、バリアントのパーセンテージを選択してバリアント配分の編集を開き、BrazeAIで最適化をオンにします。
最初のコンバージョン期限を過ぎると、BrazeAIは12時間ごとにパフォーマンスを確認し、最もコンバージョンを促進しているバリアントにより多くのユーザーを振り向けます。最適化により決定的な勝者が特定されると、それ以降の対象ユーザーはすべてそのバリアントに入ります。
この最適化は、新しいユーザーが頻繁にエントリするキャンバスで最も効果的です。
ステップ7: 保存して起動する
キャンバスの概要を確認し、Launch キャンバス を選択して保存・起動します。キャンバス承認ワークフローが有効になっている場合は、起動前にキャンバスの詳細を確認して承認してください。起動後は、キャンバス Details ページで分析を確認できます。
