フィルター
このリファレンス記事では、Liquidのフィルターの概要と、Brazeでサポートされているフィルターについて説明します。これらのフィルターの活用アイデアをお探しですか?Liquidユースケースライブラリーをご覧ください。
フィルターは、Liquidで数値、文字列、変数、オブジェクトの出力を変更する方法です。フィルターを使用して、文字列を小文字から大文字に変換したり、加算や除算などの数学的演算を実行したりするなど、静的または動的テキストを再フォーマットできます。

BrazeはShopifyのすべてのLiquidフィルターをサポートしているわけではありません。このページでは、Brazeがテスト済みのLiquidフィルターの概要を説明していますが、完全なリストではない場合があります。メッセージを送信する前に、必ずLiquidをテストしてください。
ここに記載されていないフィルターについてご質問がある場合は、カスタマーサクセスマネージャーにお問い合わせください。
フィルターの構文
フィルターは出力タグ {{ }} 内に配置し、パイプ文字 | で示します。
1
{{"Big Sale" | upcase}}
BIG SALE
この例では、Big Sale が文字列で、upcase が適用されるフィルターです。

フィルターは assign ステートメントと出力タグ ({{ }}) で使用できますが、条件文(if、elsif、unless)、case/when、for ループ、または配列アクセスブラケットでは使用できません。これらのコンテキストでフィルター処理された値を使用するには、まず結果を変数に割り当ててください。詳細については、演算子とフィルターの使用場所を参照してください。
複数フィルターの構文
1つの出力に複数のフィルターを使用できます。フィルターは左から右の順に適用されます。
{{ "Big Sale" | upcase | remove: "BIG" }}
SALE
配列フィルター
配列フィルターは、配列の出力を変更するために使用します。
| フィルター | 定義 | サポート |
|---|---|---|
| join | パラメーターとして渡された文字で配列の要素を結合します。結果は単一の文字列になります。 | ✅ 対応 |
| first | 配列の最初の要素を返します。カスタム属性配列では、最も古く追加された値です。 | ✅ 対応 |
| last | 配列の最後の要素を返します。カスタム属性配列では、最も最近追加された値です。 | ✅ 対応 |
| compact | 配列から nil アイテムを削除します。 |
✅ 対応 |
| concat | 配列を別の配列と結合します。 | ✅ 対応 |
| find_index | 配列内の指定されたインデックス位置にあるアイテムを返します。配列の最初のアイテムは [0] で参照されます。 |
⛔ 非対応 |
| map | 配列要素の属性をパラメーターとして受け取り、各配列要素の値から配列を作成します。 | ✅ 対応 |
| reverse | 配列内のアイテムの順序を逆にします。 | ✅ 対応 |
| size | 文字列のサイズ(文字数)または配列のサイズ(要素数)を返します。 | ✅ 対応 |
| slice | 指定されたインデックスから始まる文字列の部分文字列または配列のサブセットを返します。 | ✅ 対応 |
| sort | 配列内の要素の指定された属性で配列の要素をソートします。 | ✅ 対応 |
| sort_natural | 大文字小文字を区別しないアルファベット順で配列内のアイテムをソートします。 | ✅ 対応 |
| uniq | 配列内の要素の重複インスタンスを削除します。 | ✅ 対応 |
| where | 特定のプロパティ値を持つアイテムのみを含むように配列をフィルタリングします。 | ✅ 対応 |
カラーフィルター
カラーフィルターはBrazeではサポートされていません。
フォントフィルター
フォントフィルターはBrazeではサポートされていません。
数学フィルター
数学フィルターを使用すると、数学的演算を実行できます。1つの出力に複数のフィルターを使用する場合、左から右の順に適用されます。
| フィルター | 定義 | サポート |
|---|---|---|
| abs | 数値の絶対値を返します。 | ✅ 対応 |
| at_most | 数値を最大値に制限します。 | ✅ 対応 |
| at_least | 数値を最小値に制限します。 | ✅ 対応 |
| ceil | 出力を最も近い整数に切り上げます。 | ✅ 対応 |
| divided_by | 出力を数値で除算します。出力は最も近い整数に切り捨てられます。丸めを防ぐ方法については、以下のヒントを確認してください。 | ✅ 対応 |
| floor | 出力を最も近い整数に切り捨てます。 | ✅ 対応 |
| minus | 出力から数値を減算します。 | ✅ 対応 |
| plus | 出力に数値を加算します。 | ✅ 対応 |
| round | 出力を最も近い整数または指定された小数点以下の桁数に丸めます。 | ✅ 対応 |
| times | 出力に数値を乗算します。 | ✅ 対応 |
| modulo | 出力を数値で除算し、余りを返します。 | ✅ 対応 |

Liquidで整数(整数値)を整数で除算する場合、答えが浮動小数点数(小数を含む数値)であっても、Liquidは自動的に最も近い整数に切り捨てます。ただし、整数を浮動小数点数で除算すると、常に浮動小数点数が返されます。つまり、整数を浮動小数点数(1.0、2.0、3.0)に変換することで、浮動小数点数を返すことができます。
例えば、{{15 | divided_by: 2}} は 7 を出力しますが、{{15 | divided_by: 2.0}} は 7.5 を出力します。
カスタム属性を使った数学的演算
2つのカスタム属性間で数学的演算を実行することはできない点に注意してください。
{{custom_attribute.${current_rewards_balance} | plus: {{custom_attribute.${giftcard_balance}}}}}
この例は、1行のLiquidで複数のカスタム属性を参照できないため、動作しません。代わりに、数学関数を実行する前に、これらの値の少なくとも1つを変数に割り当てる必要があります。2つのカスタム属性を加算するには、2行のLiquidが必要です。
- カスタム属性を変数に割り当てる行
- 加算を実行する行
ユースケース: 現在の残高を計算する
ギフトカード残高とリワード残高を加算して、ユーザーの現在の残高を計算したいとします。
assignタグを使用して、current_rewards_balanceのカスタム属性を「balance」という用語に置き換えます。これにより、操作可能なbalanceという名前の変数が作成されます。
{% assign balance = {{custom_attribute.${current_rewards_balance}}} %}
plusフィルターを使用して、各ユーザーのギフトカード残高とリワード残高({{balance}}オブジェクトで表される)を結合します。
{% assign balance = {{custom_attribute.${current_rewards_balance}}} %}
You have ${{custom_attribute.${giftcard_balance} | plus: {{balance}}}} to spend!
You have $35 to spend!
通貨フィルター
購入情報、口座残高、または金額に関する情報をユーザーに通知する場合は、通貨フィルターを使用する必要があります。通貨フィルターは、小数点が正しい位置にあること、および数値の一部が失われないこと(末尾の厄介な 0 など)を保証します。
| フィルター | 定義 | サポート |
|---|---|---|
| money | 小数点が正しい位置にあり、数値の末尾からゼロが削除されないように数値をフォーマットします。 | ✅ 対応 |
| money_with_currency | 通貨記号付きで数値をフォーマットします。 | ⛔ 非対応 |
| money_without_currency | 通貨記号なしで数値をフォーマットします。 | ⛔ 非対応 |

money フィルターで数値を正しくフォーマットするには、数値からカンマを削除し、money フィルターの前に plus: 0 フィルターを追加してください。例えば、以下のLiquidを参照してください。
{% assign my_int = "350000.25" | plus: 0 %}
{{ my_int | money }}
Shopifyのmoneyフィルターと Brazeのmoneyフィルターの違い

Shopifyの money フィルターの動作は、Brazeでの使用方法とは異なります。期待される動作の正確な説明については、以下の例を参照してください。
カスタム属性(account_balance など)を入力する場合は、常に money フィルターを使用して、小数点を正しい位置に配置し、数値の末尾からゼロが削除されないようにする必要があります。
${{custom_attribute.${account_balance} | money}}
| MONEYフィルターあり | MONEYフィルターなし |
|---|---|
![]() |
![]() |
account_balance が 17.8 として入力された場合。 |
account_balance が 17.8 として入力された場合。 |
Brazeの money フィルターは、プリセット設定に従って自動的に小数点を適用しないため、Shopifyとは異なります。例えば、rewards_redeemed に 145 の値が含まれている以下のシナリオを見てみましょう。
${{event_properties.${rewards_redeemed} | money }}
$145.00
Shopifyの money フィルターによると、出力は $1.45 になるはずですが、Brazeでは $145.00 という出力になります。回避策として、divided_by フィルターを使用して数値を小数に変換してから、moneyフィルターを適用できます。
${{event_properties.${rewards_redeemed} | divided_by: 100.00 | money }}
$1.45
文字列フィルター
文字列フィルターは、文字列の出力と変数を操作するために使用します。文字列は英数字の組み合わせで、ストレート引用符で囲む必要があります。

Liquidでは、ストレート引用符とカーリー引用符は異なります。テキストエディターからBrazeにLiquidをコピー&ペーストする際は注意してください。カーリー引用符を使用すると、Liquidでエラーが発生します。Brazeで直接Liquidを記述する場合は、ストレート引用符が自動的に適用されます。
| フィルター | 説明 | サポート |
|---|---|---|
| append | 文字列に文字を追加します。 | ✅ 対応 |
| camelize | 文字列をキャメルケースに変換します。 | ⛔ 非対応 |
| capitalize | 文字列の最初の単語を大文字にし、残りの文字を小文字にします。 | ✅ 対応 |
| downcase | 文字列を小文字に変換します。 | ✅ 対応 |
| escape | 文字列をエスケープします。 | ✅ 対応 |
| handleize | 文字列をハンドル形式にフォーマットします。 | ⛔ 非対応 |
| md5 | 文字列をMD5ハッシュに変換します。詳細については、エンコーディングフィルターを参照してください。 | ✅ 対応 |
| sha1 | 文字列をSHA-1ハッシュに変換します。詳細については、エンコーディングフィルターを参照してください。 | ✅ 対応 |
| hmac_sha1_hex (旧 hmac_sha_1) |
ハッシュメッセージ認証コード(HMAC)を使用して文字列をSHA-1ハッシュに変換します。メッセージの秘密鍵をフィルターのパラメーターとして渡します。詳細については、エンコーディングフィルターを参照してください。 | ✅ 対応 |
| hmac_sha256 | ハッシュメッセージ認証コード(HMAC)を使用して文字列をSHA-256ハッシュに変換します。メッセージの秘密鍵をフィルターのパラメーターとして渡します。 | ✅ 対応 |
| hmac_sha512 | ハッシュメッセージ認証コード(HMAC)を使用して文字列をSHA-512ハッシュに変換します。メッセージの秘密鍵をフィルターのパラメーターとして渡します。 | ✅ 対応 |
| newline_to_br | 文字列内の各改行の前に <br> 改行HTMLタグを挿入します。 |
✅ 対応 |
| pluralize | 数値の値に基づいて、英語の文字列の単数形または複数形を出力します。 | ⛔ 非対応 |
| prepend | 文字列の先頭に文字を追加します。 | ✅ 対応 |
| remove | 文字列から部分文字列のすべての出現を削除します。 | ✅ 対応 |
| remove_first | 文字列から部分文字列の最初の出現のみを削除します。 | ✅ 対応 |
| replace | 文字列のすべての出現を部分文字列で置換します。 | ✅ 対応 |
| replace_first | 文字列の最初の出現を部分文字列で置換します。 | ✅ 対応 |
| slice | sliceフィルターは、指定されたインデックスから始まる部分文字列を返します。 | ✅ 対応 |
| split | splitフィルターは、パラメーターとして部分文字列を受け取ります。この部分文字列は、文字列を配列に分割するための区切り文字として使用されます。 | ✅ 対応 |
| strip | 文字列の左右からタブ、スペース、改行(すべての空白文字)を除去します。 | ✅ 対応 |
| lstrip | 文字列の左側からタブ、スペース、改行(すべての空白文字)を除去します。 | ⛔ 非対応 |
| rstrip | 文字列の右側からタブ、スペース、改行(すべての空白文字)を除去します。 | ⛔ 非対応 |
| strip_html | 文字列からすべてのHTMLタグを除去します。 | ✅ 対応 |
| strip_newlines | 文字列から改行を削除します。 | ✅ 対応 |
| truncate | 最初のパラメーターとして渡された文字数まで文字列を切り詰めます。省略記号(…)が切り詰められた文字列に追加され、文字数に含まれます。 | ✅ 対応 |
| truncatewords | 最初のパラメーターとして渡された単語数まで文字列を切り詰めます。省略記号(…)が切り詰められた文字列に追加されます。 | ✅ 対応 |
| upcase | 文字列を大文字に変換します。 | ✅ 対応 |
追加のフィルター
以下の汎用フィルターは、コンテンツのフォーマットや変換など、さまざまな目的に使用できます。
| フィルター | 説明 | サポート |
|---|---|---|
| date | タイムスタンプを別の日付形式に変換します。詳細については、日付フィルターを参照してください。 | ✅ 対応 |
| default | 値が割り当てられていない変数にデフォルト値を設定します。文字列、配列、ハッシュで使用できます。 | ✅ 対応 |
| format_address | ロケールに応じた順序で住所の要素を出力するように住所をフォーマットします。 | ⛔ 非対応 |
| highlight | 送信された検索語に一致する場合、検索結果内の単語をhighlightクラスを持つHTML <strong> タグで囲みます。 |
⛔ 非対応 |
エンコーディングフィルターやURLフィルターなど、その他のサポートされているフィルターについては、高度なフィルターページをご覧ください。
日付フィルター
date フィルターを使用して、タイムスタンプを別の日付形式に変換できます。date フィルターにパラメーターを渡して、タイムスタンプを再フォーマットできます。これらのパラメーターの例については、strfti.me を参照してください。
例えば、date_attribute の値がタイムスタンプ 2021-06-03 17:13:41 UTC であるとします。
{{custom_attribute.${date_attribute} | date: '%b %d'}}
03 June
strftime フォーマットオプションに加えて、Brazeは %s 日付フィルターを使用してタイムスタンプをUnix時間に変換することもサポートしています。例えば、date_attribute をUnix時間で取得するには次のようにします。
{{custom_attribute.${date_attribute} | date: '%s' }}
1433351621

