メッセージの中止
オプションとして、条件文内で
abort_message("optional reason for aborting")Liquid メッセージタグを使用して、ユーザーへのメッセージ送信を防止できます。このリファレンス記事では、マーケティングキャンペーンでこの機能を使用する方法の例をいくつか紹介します。

キャンバスでメッセージステップが中止された場合、ユーザーはキャンバスから退出せず、次のステップに進みます。
abort_message() を使用したテスト送信
abort_message() は、条件を満たさないユーザーへの送信を停止します。メッセージはそのユーザーのプロファイルに表示されず、配信数やフリークエンシーキャップのカウントにも含まれません。
テスト送信が届かない場合は、中止条件を満たすユーザーとしてプレビューし、テスト送信で受信者の属性を現在のプレビューユーザーの属性でオーバーライドするを有効にしてください(または、条件を満たすContent Testグループメンバーを追加してください)。
「試合参加回数」が0の場合にメッセージを中止する
例えば、試合に参加したことがない顧客にはメッセージを送信したくないとします。
{% if custom_attribute.${Number_Game_Attended} == 1 %}
Loved the game? Get 10% off your second one with code SAVE10.
{% elsif custom_attribute.${Number_Game Attended} > 1 %}
Love the games? Get 10% off your next one with code SAVE10.
{% else %}
{% abort_message() %}
{% endif %}
このメッセージは、試合に参加したことが確認されている顧客にのみ送信されます。
英語話者の顧客にのみメッセージを送信する
顧客の言語が英語の場合に一致する「if」文と、英語を話さない、またはプロファイルに言語が設定されていない顧客に対してメッセージを中止する「else」文を作成することで、英語話者の顧客にのみメッセージを送信できます。
{% if ${language} == 'en' %}
Send this message in English!
{% else %}
{% abort_message() %}
{% endif %}
デフォルトでは、中止された送信はメッセージングオブザーバビリティに結果 Liquid abort として表示されます。
かっこ内に理由の文字列を含めることができます。
{% abort_message('language was nil') %}
中止メッセージのクエリ
クエリビルダー、またはBrazeに接続されている自社のデータウェアハウスを使用して、Liquidロジックによりメッセージが中止された際にトリガーされる特定の中止メッセージをクエリできます。
中止ロジックが評価されるタイミング
中止ロジックの評価タイミングは、メッセージチャネルによって異なります。
プッシュ、メール、SMS、webhook、Content Cards
中止ロジックは、Brazeが配信のためにメッセージを処理する送信時に評価されます。
アプリ内メッセージ
中止ロジックは、テンプレート化されたアプリ内メッセージに対してのみ、アプリ内メッセージがトリガーされた時点(例えば、ユーザーがトリガーイベントを実行した時やセッションを開始した時)で評価されます。メッセージが最初にデバイスに送信された時点では評価されません。アプリ内メッセージはセッション開始時にSDKに配信され、ローカルにキャッシュされます。Liquid(abort_message() の呼び出しを含む)は、トリガー条件が満たされた時点で実行されます。
高い中止率のトラブルシューティング
キャンペーンやキャンバスステップで多くのユーザーが入ったにもかかわらず送信数が少ない場合、または配信数が予想より低い場合、中止ロジックが一般的な原因です。特に、Liquid が評価時に存在しない属性、カタログデータ、またはリスト値を必要とする場合に発生します。
メッセージングオブザーバビリティを確認する
- メッセージングオブザーバビリティを開きます。
- キャンペーンまたはキャンバスを選択し、ダッシュボードを実行を選択します。
- 詳細ログで、Liquid abort の結果でフィルターします。
- 中止が1つのチャネル(メールのみなど)に集中しているのか、同じキャンバス内の複数のチャネルにまたがっているのかを確認します。
送信時の属性と Liquid を確認する
プッシュ、メール、SMS、webhook、およびContent Cardsの場合、中止ロジックは Braze がメッセージを配信用に処理する際に実行されます。ユーザーがキャンバスに入った時点やトリガーイベントが以前に発火した時点ではありません。
- 必要なカスタム属性、イベントプロパティ、またはカタログフィールドが、メッセージステップの実行前にユーザーに設定されていることを確認してください。
abort_message()を呼び出す前に、明示的な nil または空チェックを追加してください。値が存在しない場合に中止するelseブランチは、そのデータを持たないすべてのユーザーの送信を停止します。- パーソナライゼーションがリスト、セグメント、またはConnected Contentのレスポンスに依存している場合、メッセージステップの実行時にそのデータが利用可能であることを確認してください。ユーザーは、リストのメンバーシップや下流のデータが準備される前にキャンバスに入ることがあります。
キャンバス固有の動作
キャンバスでメッセージステップが中止された場合、ユーザーはキャンバスから退出しません。代わりに、次のステップに進みます。中止は、そのメッセージステップの送信数にのみ影響します。
コンテキストステップでは、abort_message はそれを呼び出した変数にのみ影響します。その変数は設定されませんが、ステップ内の他の変数は設定され、ユーザーは次のステップに進みます。コンテキストステップの中止は、メッセージアクティビティログには記録されません。詳細については、コンテキストを参照してください。
キャンバスの中止を診断する際は:
- メッセージステップに入ったユーザー数と、同じステップで送信されたユーザー数を比較してください。
- 1つのチャネルのみが中止されている場合、そのステップのチャネル固有の Liquid または購読ステータスを確認してください。
- リストまたはカタログの更新後に中止が急増した場合、メッセージステップが更新完了前に実行されたかどうかを確認してください。
プレビューとテスト送信で検証する
メッセージ作成画面で、影響を受けた受信者のプロファイルに一致するユーザーとしてプレビューしてください。テスト送信では、中止ロジックがプロファイルデータに依存している場合、受信者の属性を現在のプレビューユーザーの属性でオーバーライドするを有効にしてください。
その他の中止の例については、中止メッセージのクエリを参照してください。
注意事項
abort_message() Liquid メッセージタグはユーザーへのメッセージ送信を防止します。つまり、メッセージはユーザープロファイルに表示されず、配信数やフリークエンシーキャップのカウントにも含まれません。