キャンバスの作成
このリファレンス記事では、キャンバスの作成、管理、テストに必要なステップについて説明します。このガイドに従うか、Braze Learningコースのキャンバスクイック概要をご確認ください。Brazeキャンバステンプレートから始めることで、セットアップを迅速に進めることもできます。詳細については、キャンバステンプレートを参照してください。自然言語の説明からキャンバスの下書きを作成するには、オペレーターにお問い合わせください。
元のキャンバスエディターの詳細を展開
元のキャンバスエクスペリエンスを使用してキャンバスを作成または複製することはできなくなりました。Brazeでは、最新のエディターにキャンバスをクローンすることを推奨しています。
ステップ1: 新しいキャンバスを設定する
まず、メッセージング > キャンバスに移動し、キャンバスを作成を選択します。
キャンバスビルダーが、名前の設定からコンバージョンイベントの設定、対象ユーザーのカスタマージャーニーへの参加まで、キャンバスの設定をステップごとにガイドします。以下の各タブを選択して、各ビルダーステップで調整できる設定を確認してください。
ここでは、キャンバスの基本設定を行います。
- キャンバスに名前を付ける
- チームを追加する
- タグを追加する
- コンバージョンイベントを割り当て、イベントタイプとデッドラインを選択する
基本設定ステップの詳細をご覧ください。
ここでは、ユーザーがキャンバスに参加する方法とタイミングを決定します。
- スケジュール配信:時間ベースのキャンバスエントリです
- アクションベース:定義されたアクションを実行した後にユーザーがキャンバスに参加します
- APIトリガー:APIリクエストを使用してユーザーをキャンバスに参加させます
エントリスケジュールステップの詳細をご覧ください。
ここでは、ターゲットオーディエンスを選択します。
- セグメントとフィルターを追加してオーディエンスを作成する
- キャンバスの再エントリとエントリ制限を微調整する
- ターゲットオーディエンスのサマリーを確認する
ターゲットオーディエンスステップの詳細をご覧ください。
ここでは、キャンバスを構築します。
キャンバスビルダーを使用してキャンバスを構築する方法をご覧ください。
ここでは、キャンバスの詳細のサマリーを確認できます。キャンバスの承認ワークフローを有効にしている場合、起動前にリストされたキャンバスの詳細を承認できます。
ステップ1.1: キャンバスの基本設定から始める
ここでは、キャンバスの名前を付け、チームを割り当て、タグを作成または追加します。キャンバスのコンバージョンイベントも割り当てることができます。


コンバージョンイベントを選択する
コンバージョンイベントのタイプを選択し、記録するコンバージョンを選択します。これらのコンバージョンイベントは、キャンバスの効率を測定します。

キャンバスに複数のバリアントまたはコントロールグループがある場合、Brazeはこのコンバージョンイベントを使用して、このコンバージョン目標を達成するための最適なバリエーションを決定します。同じロジックを使用して、複数のコンバージョンイベントを作成できます。
ステップ1.2: キャンバスのエントリスケジュールを決定する
ユーザーがキャンバスに参加する方法として、3つの中から1つを選択できます。
エントリスケジュールのタイプ
スケジュール配信では、キャンペーンをスケジュールするのと同様に、ユーザーが時間スケジュールに基づいてエントリします。キャンバスの起動と同時にユーザーを登録したり、将来のある時点でジャーニーに参加させたり、定期的に(毎日、毎週、または毎月)参加させたりできます。
月次の定期スケジュールを選択した場合、選択した日が存在しない月がある点にご注意ください。たとえば、キャンバスを毎月31日に送信するように設定したとします。この場合、Brazeはその月の最終日に送信します(たとえば、4月31日は存在しないため、4月30日に送信します)。
この例では、時間ベースのオプションに基づき、2025年11月14日から2025年12月31日まで、毎週火曜日のローカルタイムゾーン午後12時にユーザーがこのキャンバスに参加します。

ローカルタイムゾーン配信を使用する場合、Brazeはエントリ適格性を2回評価します。最初にスケジュールされた日のサモア時間(UTC+13)で、次にユーザーのローカルタイムで評価します。ユーザーがキャンバスに参加するには、両方のチェックに適格である必要があります。エントリフィルターに相対的な時間ウィンドウ(たとえば「2日以上前」)を使用している場合、最初のチェック時に24時間の期間が経過していない可能性があり、ユーザーが1日遅れて参加することがあります。これを避けるには、少なくとも2日間など、より広い時間ウィンドウを使用してください。詳細については、Brazeはローカルタイムゾーン配信でいつユーザーを評価しますか?をご覧ください。
アクションベース配信では、アプリを開く、購入を行う、カスタムイベントをトリガーするなどの特定のアクションを実行した際に、ユーザーがキャンバスに参加してメッセージの受信を開始します。
エントリオーディエンスウィンドウから、再適格ルールやフリークエンシーキャップ設定など、キャンバスの動作の他の側面を制御できます。アクションベース配信は、アプリ内メッセージを含むキャンバスコンポーネントでは使用できないことにご注意ください。


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

アクションベースのキャンバスが予想より早くメッセージを送信する場合、カスタムイベントのタイムスタンプが過去の日時ではなく現在の時刻で送信されているか確認してください。たとえば、アクションベースのキャンバスにカスタムイベント実行後3時間の遅延がある場合、Brazeはカスタムイベントと共に送信されたタイムスタンプを使用してその遅延を評価します。タイムスタンプが3時間以上過去の場合、Brazeは遅延が既に経過したものとして扱い、メッセージを即座に送信します。
APIトリガー配信では、/canvas/trigger/sendエンドポイントを介してAPIを使用して追加された後、ユーザーがキャンバスに参加してメッセージの受信を開始します。ダッシュボードでは、これを行うためのcURLリクエストの例を確認でき、コンテキストオブジェクトを使用してオプションのcontextを割り当てることもできます。

APIトリガー配信には、以下のエンドポイントを使用できます。
配信方法を選択した後、ユースケースに合わせて設定を調整し、ターゲットオーディエンスの設定に進みます。
オリジナルエディターを使用するキャンバスの重複排除の動作
再適格ウィンドウがキャンバスの最大期間よりも短い場合、ユーザーは再エントリして複数のコンポーネントのメッセージを受信できます。まれなケースとして、ユーザーの再エントリが前回のエントリと同じコンポーネントに到達した場合、Brazeはそのコンポーネントのメッセージを重複排除します。
ユーザーがキャンバスに再エントリし、前回のエントリと同じコンポーネントに到達し、各エントリでアプリ内メッセージの対象となる場合、セッションを2回再開する限り、ユーザーはメッセージを2回受信します(アプリ内メッセージの優先度に依存します)。
ステップ1.3: ターゲットエントリオーディエンスを設定する
定義した条件に一致するユーザーのみがターゲットオーディエンスステップでジャーニーに参加できます。つまり、Brazeはユーザーがキャンバスジャーニーに参加する前に、まずターゲットオーディエンスの適格性を評価します。たとえば、新規ユーザーをターゲットにしたい場合、1週間以内にアプリを初めて使用したユーザーのセグメントを選択できます。

複数のアプリを持つワークスペースでは、キャンバスのエントリオーディエンスの適格性(セグメントとフィルターを含む)は、ユーザーがキャンバスに参加する時点でのみ評価され、個々のメッセージステップでは評価されません。ワークスペースに複数のアプリがあり、メッセージステップが特定のアプリのユーザーのみを対象とする必要がある場合、各メッセージステップで以下のいずれかのアプローチを使用してください。
- メッセージステップの配信バリデーションでメッセージ送信時にオーディエンスを検証をオンにし、アプリ固有のセグメントまたはフィルターを追加します。
- Liquidを使用して、送信時に対象のデバイスまたはアプリを確認します。
これらのセーフガードがない場合、あるアプリでジャーニーに適格となったユーザーが、ワークスペース内の他のアプリも使用している場合、別のアプリ向けのメッセージを受信する可能性があります。
エントリコントロールでは、キャンバスが実行されるようにスケジュールされるたびにユーザー数を制限できます。APIトリガーベースおよびアクションベースのキャンバスでは、この制限はUTC時間の毎時に適用されます。

オーディエンスフィルターと同じトリガー(属性の変更やカスタムイベントの実行など)でアクションベースのキャンペーンやキャンバスを設定しないでください。競合が発生し、ユーザーがトリガーイベントを実行した時点でオーディエンスに含まれていないために、キャンペーンを受信できなかったりキャンバスに入れなかったりする可能性があります。
オーディエンスのテスト
ターゲットオーディエンスにセグメントとフィルターを追加した後、オーディエンス条件に一致するかどうかを確認するためにユーザーを検索して、オーディエンスが期待通りに設定されているかテストできます。

エントリコントロールの選択
エントリコントロールは、ユーザーがキャンバスに再エントリできるかどうかを決定します。エントリスケジュールのタイプに応じて、選択したケイデンスでこのキャンバスに潜在的に参加する人数を制限することもできます。
- スケジュール配信: キャンバスのライフタイムまたはキャンバスがスケジュールされるたび
- アクションベース: 毎時、毎日、またはキャンバスのライフタイム
- APIトリガー: 毎時、毎日、またはキャンバスのライフタイム
たとえば、スケジュールされたキャンバスでエントリボリュームを制限を選択し、最大エントリ数フィールドを500,000ユーザーに設定し、制限ケイデンスとしてキャンバスがスケジュールされるたびを選択した場合、キャンバスはスケジュールされた送信ごとに500,000ユーザーにのみ送信します。


IPウォームアップにはキャンバスがスケジュールされるたびを選択することは推奨されません。送信ボリュームが増加する可能性があるためです。
終了条件の設定
終了条件を設定すると、キャンバスから退出させたいユーザーを決定できます。ユーザーが例外イベントを実行するか、セグメントおよびフィルターに一致した場合、それ以上のメッセージは受信しません。
ターゲット層の計算
ターゲット層セクションでは、選択したセグメントや追加のフィルターなど、オーディエンスのサマリーと、メッセージングチャネルごとのリーチ可能なユーザー数の内訳を確認できます。デフォルトの推定値ではなく、ターゲットオーディエンスのリーチ可能なユーザーの正確な数を計算するには、正確な統計を計算を選択してください。
以下の点にご注意ください。
- 正確な統計の計算には数分かかる場合があります。この機能はセグメントレベルでのみ正確な統計を計算し、フィルターやフィルターグループレベルでは計算しません。
- 正確な統計の読み込み中は、概算値が表示される場合があります。正確な数値は読み込み完了後にリーチ可能なユーザーセクションに表示されます。追加の統計を表示を選択すると、詳細な内訳を確認できます。
- 大規模なセグメントの場合、正確な統計を計算しても若干のばらつきが生じることは正常です。この機能の精度は99.999%以上であることが期待されます。
対象ユーザーの平均生涯収益などの追加統計を表示するには、追加の統計を表示を選択してください。

ターゲットオーディエンス数がリーチ可能なユーザー数と異なる理由
キャンペーンまたはキャンバスに表示されるターゲット層のサイズは、セグメントの到達可能なオーディエンスサイズとは異なる場合があります。これは、そのセグメントを追加のフィルターなしでキャンペーンまたはキャンバスに直接追加している場合でも同様です。 これにはいくつかの理由が考えられます。
- グローバルコントロールグループがキャンペーンまたはキャンバスに適用されている場合、そのグローバルコントロールグループ内のユーザーは到達可能なユーザー数から除外されます。
- キャンペーンまたはキャンバスのターゲット層のサイズは、さまざまなメッセージチャネルを通じて連絡できないユーザーを除外します。この動作はチャネルごとに異なります。たとえば、キャンペーンまたはキャンバスの到達可能なオーディエンスでは、購読解除済み、スパムとしてマークされた(メールの場合)、またはハードバウンスした(メールの場合)ユーザーが除外されます。ただし、セグメント自体は、到達可能なメールユーザーの推定数を表示する際にオプトアウトのみを除外します。
- Brazeは選択した購読グループ内のユーザーにのみSMSメッセージを送信するため、キャンペーンまたはキャンバスのSMSターゲット層からは、選択した購読グループに含まれないユーザーも除外されます。
ステップ1.4: 送信設定を選択する
送信設定を選択して、購読設定を編集し、レート制限をオンにし、サイレント時間をオンにします。レート制限やフリークエンシーキャップをオンにすることで、ユーザーへのマーケティングの負担を軽減し、過剰なメッセージ送信を防ぐことができます。
メールおよびプッシュチャネルをターゲットとするキャンバスの場合、明示的にオプトインしたユーザーのみがメッセージを受信するようにキャンバスを制限したい場合があります(購読中または購読解除のユーザーを除外)。たとえば、異なるオプトインステータスを持つ3人のユーザーがいるとします。
- ユーザーAはメールをサブスクライブしており、プッシュが有効です。このユーザーはメールを受信しませんが、プッシュを受信します。
- ユーザーBはメールにオプトインしていますが、プッシュが有効ではありません。このユーザーはメールを受信しますが、プッシュを受信しません。
- ユーザーCはメールにオプトインしており、プッシュが有効です。このユーザーはメールとプッシュの両方を受信します。
これを行うには、購読設定を「オプトインしたユーザーのみ」に送信するように設定します。このオプションにより、オプトインしたユーザーのみがメールを受信し、Brazeはデフォルトでプッシュが有効なユーザーにのみプッシュを送信します。
これらの購読設定はステップごとに適用されるため、エントリオーディエンスには影響しません。したがって、この設定は各キャンバスステップを受信するためのユーザーの適格性を評価するために使用されます。

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

ステップ2: キャンバスを構築する

Brazeキャンバステンプレートを使用して、キャンバス作成の時間を節約し、効率化しましょう!事前に構築されたテンプレートのライブラリを閲覧して、ユースケースに合ったものを見つけ、特定のニーズに合わせてカスタマイズできます。詳細については、キャンバステンプレートをご覧ください。
ステップ2.1: バリアントを追加する

バリアントを追加を選択し、キャンバスに新しいバリアントを追加します。バリアントはユーザーが辿るジャーニーを表し、複数のステップと分岐を含めることができます。
プラスボタンを選択すると、追加のバリアントを追加できます。新しいバリアントを追加すると、ユーザーがバリアント間でどのように分配されるかを調整でき、異なるエンゲージメント戦略の効果を比較・分析できます。


デフォルトでは、キャンバスのバリアント割り当ては、ユーザーIDとキャンバスIDの決定論的ハッシュ(ユーザーのランダムバケット番号ではなく)によって決定されます。つまり、バリアント分配の割合が変更されない限り、特定のユーザーは再エントリ時にも常に同じバリアントに割り当てられます。起動後にバリアント分配を調整した場合、ユーザーがキャンバスに再エントリする際に異なるバリアントに割り当てられる可能性があります。
分配の割合が変更されても割り当てを固定にする必要がある場合は、単一のキャンバスバリアントを使用し、オーディエンスパスステップでユーザーをルーティングしてください。ジャーニーの開始時に、ユーザー更新ステップを使用してカスタム属性にランダムな番号を保存し、オーディエンスパスでその属性をフィルターします。
手順の詳細
- ランダムな番号を保存するための数値カスタム属性を作成します。
lottery_numberやrandom_assignmentのように、わかりやすい名前を付けてください。ダッシュボードでデータ設定 > カスタム属性に移動します。 - 単一のキャンバスバリアントを使用します(または各バリアントに同じユーザー更新ステップを追加します)。ジャーニーの最初にユーザー更新ステップを追加します。このステップにより、ユーザーがオーディエンスパスステップに到達する前にランダムな番号が生成・保存されます。
- ユーザー更新ステップで、高度なJSONエディターを選択します。{% random %}タグを使用して番号を生成します。詳細については、ランダムな番号を含むメッセージの送信をご覧ください。例えば、
{% random 10 %}は0から9までの整数を返します。ステップ1のカスタム属性を次のようなJSONで設定します:
1 2 3 4 5 6 7 8 9 10
{% 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 %}を使用した場合、1つのグループはlottery_numberが4未満、もう1つは3より大きく7未満、3つ目は6より大きく10未満のように設定できます。
ステップ2.2: キャンバスステップを追加する
コンポーネントサイドバーからコンポーネントをドラッグ&ドロップして、キャンバスワークフローにステップを追加できます。または、 プラスボタンを選択して、ポップオーバーメニューからコンポーネントを追加します。

ステップを追加していくにつれて、ズームレベルを切り替えて詳細に焦点を合わせたり、ユーザージャーニー全体を俯瞰したりできます。Shift + +でズームイン、Shift + -でズームアウトできます。


キャンバスには最大200ステップまで追加できます。キャンバスが200ステップを超えると、読み込みの問題が発生する可能性があります。
最大期間
キャンバスジャーニーのステップが増えると、最大期間はユーザーがこのキャンバスを完了するのにかかる最長の時間を表します。これは、最も長いパスについて、各バリアントの各ステップの遅延とトリガーウィンドウを合計して計算されます。例えば、キャンバスに3日間の遅延を持つ遅延ステップとメッセージステップがある場合、キャンバスの最大期間は3日間になります。
ステップの編集
ユーザージャーニーのステップを編集したい場合、キャンバスワークフローに応じた方法を確認しましょう。
キャンバスワークフローの任意のステップを、そのコンポーネントを選択して編集できます。例えば、ワークフローの最初のステップである遅延コンポーネントを特定の日付に編集したいとします。ステップを選択して設定を表示し、遅延を3月1日に調整します。これにより、3月1日にユーザーがキャンバスの次のステップに進みます。

また、アクションパスステップのアクション設定を素早く編集・調整して、一定期間ユーザーを保持できます。これにより、この評価期間中のアクションに基づいて次のパスが優先されます。

キャンバスの軽量コンポーネントにより、シンプルな編集体験が実現し、キャンバスの詳細な調整がより簡単になります。
キャンバスのメッセージ
キャンバスコンポーネントのメッセージを編集して、特定のステップが送信するメッセージを制御します。キャンバスはメール、モバイルおよびWebプッシュメッセージ、webhookを送信して他のシステムと連携できます。キャンペーンと同様に、特定のLiquidテンプレートを使用してメッセージをパーソナライズできます。

メッセージやリンクテンプレートにキャンバスコンポーネント名を含められることをご存知ですか?
キャンバスでcampaign.${name} Liquidタグを使用すると、現在のキャンバスコンポーネント名を表示できます。
メッセージコンポーネントは、ユーザーに送信されるメッセージを管理します。メッセージングチャネルを選択し、配信設定を調整してキャンバスメッセージングを最適化できます。このコンポーネントの詳細については、メッセージをご覧ください。

キャンバスコンポーネントの設定が完了したら、完了を選択します。
contextオブジェクトは、キャンバス作成のエントリスケジュールステップで設定され、ユーザーをキャンバスにエントリさせるトリガーを示します。これらのプロパティは、APIトリガーキャンバスのエントリペイロードのプロパティにもアクセスできます。contextオブジェクトは最大50 KBまでです。
キャンバスへのエントリ時に作成されたこれらのプロパティを参照するには、次のLiquidを使用します: context.${property_name} 。なお、この方法で使用するイベントは、カスタムイベントまたは購入イベントである必要があります。
例えば、次のリクエストを考えてみましょう:"context" : {"product_name" : "shoes", "product_price" : 79.99}。このLiquid {{context.${product_name}}}を使用して、メッセージに「shoes」という単語を追加できます。
イベントプロパティは、カスタムイベントと購入に対して設定するプロパティです。これらのevent_propertiesは、アクションベースの配信を使用するキャンペーンやキャンバスで使用できます。
キャンバスでは、カスタムイベントと購入イベントのプロパティは、アクションパスステップに続く任意のメッセージステップのLiquidで使用できます。これらのevent_propertiesを参照するには、次のLiquidを使用します: {{event_properties.${property_name}}} 。メッセージコンポーネントでこの方法で使用するイベントは、カスタムイベントまたは購入イベントである必要があります。
アクションパスに続く最初のメッセージステップでは、そのアクションパスで参照されたイベントに関連するevent_propertiesを使用できます。このアクションパスステップとメッセージステップの間に、他のステップ(別のアクションパスやメッセージステップではないもの)を配置できます。なお、メッセージステップがアクションパスステップの「その他全員」以外のパスにトレースバックできる場合にのみ、event_propertiesにアクセスできます。
ステップ2.3: 接続を編集する
ステップ間の接続を移動するには、2つのコンポーネントをつなぐ矢印を選択し、別のコンポーネントを選択します。接続を削除するには、矢印を選択してからキャンバスコンポーザーのフッターにある接続をキャンセルを選択します。
単一のバリアントに同じオーディエンスと送信時間を持つ複数の分岐がある場合、Brazeはそれらの分岐間で均等に分割されることを保証しません。分配は最初に作成された分岐に偏る可能性があります。均等な分割を行うには、各分岐でランダムバケット番号フィルターを使用してください。詳細については、1つのバリアントを持つキャンバスで複数の分岐がある場合、オーディエンスと送信時間が同じだとどうなりますか?をご覧ください。
ステップ3: コントロールグループを追加する
プラスボタンを選択して新しいバリアントを追加することで、キャンバスにコントロールグループを追加できます。
Brazeはコントロールグループに配置されたユーザーのコンバージョンを追跡しますが、メッセージは送信されません。正確なテストを維持するために、コンバージョンイベントの選択画面に表示されているとおり、バリアントとコントロールグループのコンバージョン数をまったく同じ期間で追跡します。
バリアント名ヘッダーをダブルクリックすることで、メッセージ間の配分を調整できます。
この例では、キャンバスを2つのバリアントに分けています。バリアント1にはユーザーの70%が割り当てられています。2つ目のバリアントは残りの30%のユーザーを含むコントロールグループです。

BrazeAIでキャンバスバリアントを最適化する
複数のトップレベルバリアントを持つキャンバスでは、BrazeAITMで最適化をオンにすると、各バリアントに入るユーザーの割合が自動的に調整されます。BrazeAITMはバリアントのパフォーマンスを活用して、期待されるコンバージョン数を最大化します。
少なくとも2つのバリアントと1つのコンバージョンイベントを追加してください。次に、バリアントの割合を選択してバリアント配分の編集を開き、BrazeAITMで最適化をオンにします。
最初のコンバージョン期限後、BrazeAITMは12時間ごとにパフォーマンスを確認し、最もコンバージョンを促進するバリアントにより多くのユーザーを移行させます。最適化によって明確な勝者が特定されると、その後の対象ユーザーはすべてそのバリアントに入ります。
この最適化は、新しいユーザーが頻繁にエントリするキャンバスで最も効果的です。
ステップ4: 保存と起動
キャンバスの作成が完了したら、Launch キャンバス を選択してキャンバスを保存し起動します。キャンバスを起動すると、キャンバス Details ページでジャーニーの分析データを確認できるようになります。
下書きとしてキャンバスを保存し、後で戻って編集することもできます。

