Skip to content

条件付きメッセージング・ロジック

タグを使用すると、メッセージングキャンペーンにプログラミングロジックを含めることができます。タグは、条件文の実行だけでなく、変数の代入やコードブロックの反復といった高度な使用例にも使用できる。

タグは{% %} で包まなければならない。

条件論理

条件文のような多くのタイプのインテリジェント・ロジックをメッセージに含めることができます。キャンペーンを国際化するために条件を使用する次の例を参照してください:

1
2
3
4
5
6
7
8
9
{% if ${language} == 'en' %}
This is a message in English from Braze!
{% elsif ${language} == 'es' %}
Este es un mensaje en español de Braze !
{% elsif ${language} == 'zh' %}
这是一条来自Braze的中文消息。
{% else %}
This is a message from Braze! This is going to go to anyone who did not match the other specified languages!
{% endif %}

ステップ・バイ・ステップの例

この例では、”if”、”elsif”、”else “ステートメントを含むタグを使用して、国際化されたコンテンツを配信しています。

1
2
{% if ${language} == 'en' %}
This is a message in English from Braze!

顧客の言語が英語の場合、最初の条件が満たされ、顧客は英語のメッセージを受け取ります。

1
2
3
4
{% elsif ${language} == 'es' %}
Este es un mensaje en español de Braze !
{% elsif ${language} == 'zh' %}
这是一条来自Braze的中文消息。

条件文はいくつでも指定できる。次の条件は、前の条件が満たされない場合にチェックされる。この例では、顧客のデバイスが英語に設定されていない場合、このコードは顧客のデバイスがスペイン語または中国語に設定されているかどうかを確認します。お客様のデバイスがこれらの条件のいずれかに該当する場合、該当する言語でメッセージが表示されます。

1
2
{% else %}
This is a message from Braze! This is going to go to anyone who did not match the other specified languages!

条件ロジックに{% else %} 。設定した条件のどれにも当てはまらない場合、{% else %} ステートメントで送信すべきメッセージを指定する。この場合、お客様の言語が英語、スペイン語、中国語でない場合、デフォルトは英語になります。

1
{% endif %}

{% endif %} タグは、条件ロジックが終了したことを知らせる。を含める必要があります。 {% endif %} タグを、条件付きロジックを持つメッセージに使用することができます。条件ロジックに{% endif %} タグを含めないと、Brazeがメッセージを解析できないため、エラーが発生します。

null、nil、空白の属性値の処理

条件ロジックは、ユーザープロファイルに設定されていない属性値を考慮するのに便利な方法です。

NULL および NIL 属性値

nullまたはnil値は、カスタム属性の値が設定されていない場合に発生します。例えば、まだファーストネームを設定していないユーザーは、Brazeにファーストネームが記録されません。

状況によっては、姓が設定されているユーザーと姓が設定されていないユーザーに対して、まったく異なるメッセージを送りたい場合があります。

以下のタグを使用すると、”first name “属性がNULLのユーザーに対するメッセージを指定することができます:

1
2
3
{% if ${first_name} == null %}
  ....
{% endif %}

1
2
3
4
5
{% if ${first_name} == null %}
We're having a sale! Hurry up and get 10% off all items today only!
{% else %}
Hey {{${first_name} | default: 'there'}}, we're having a sale! Hurry up and get 10% off all items today only!
{% endif %}

したがって、上の例では、null属性値は設定されていないファーストネームを参照しており、それは文字列となります。

空白の属性値

空白の値は、ユーザー・プロファイルの属性が設定されていないか、空白文字列( )が設定されているか、false として設定されている場合に発生します。リキッド処理エラーを避けるため、ブランク値は他の変数より先にチェックすべきである。

以下のタグを使用すると、”first name “属性が空白のユーザーに対するメッセージを指定できます。

1
2
3
{% if ${first_name} == blank %}
  ....
{% endif %}

カスタム属性の参照

カスタム属性を作成]2したら、リキッドメッセージでカスタム属性を参照できます。

条件付きロジックを使用する場合、正しい構文を使用していることを確認するために、カスタム属性のデータ型を知っておく必要があります。ダッシュボードのカスタム属性ページから、カスタム属性に関連付けられているデータタイプを探し、各データタイプに記載されている以下の例を参照してください。

カスタム属性のデータ型を選択します。この例では、Favorite_Category属性のデータ型をstringとしています。{: style=”max-width:80%;”}

ブール値

ブーリアンはバイナリ値であり、true またはfalse のいずれかに設定することができ、例えばregistration_complete: true のように設定することができる。ブール値はアポストロフィで囲まない。

1
{% if {{custom_attribute.${registration_complete}}} == true %}

数値

Numbersは数値で、整数または浮動小数点数である。例えば、ユーザーはshoe_size: 10levels_completed: 287 を持っているかもしれない。数値はアポストロフィで囲まない。

1
{% if {{custom_attribute.${shoe_size}}} == 10 %}

また、整数に対しては、小なり(<)や大なり(>)といった基本的な演算子も使える:

1
{% if {{custom_attribute.${flyer_miles}}} >= 500 %}

文字列

文字列]11は英数字で構成され、ユーザーに関するデータの一部を保存します。例えば、favorite_color: red またはphone_number: 3025981329 。文字列の値にはアポストロフィをつけなければならない。

1
{% if {{custom_attribute.${favorite_color}}} == 'blue' %}

文字列の場合、Liquidの中で”==”または “contains “の両方を使用できます。

配列

配列]12は、ユーザーに関する情報のリストです。例えば、あるユーザーがlast_viewed_shows: stranger things, planet earth, westworld.配列の値にはアポストロフィをつけなければならない。

1
{% if {{custom_attribute.${last_viewed_shows}}} contains 'homeland' %}

配列の場合は “contains “を使わなければならず、”==”は使えない。

時間

イベントがいつ発生したかを示すタイムスタンプ。Time値を条件ロジックで使用するには、math filterが必要です。

1
{% assign expire = {{custom_attribute.${subscription_end_date}}} | plus: 0 %} 
「このページはどの程度役に立ちましたか?」
New Stuff!