よくある質問
このページでは、Liquidに関するよくある質問への回答を紹介します。
Brazeは現在、ShopifyのLiquidを100%サポートしているわけではなく、ドキュメントで概要を説明している特定の部分のみをサポートしています。エラーやサポートされていないLiquidの使用リスクを軽減するために、送信前にLiquidを使用したすべてのメッセージをテストすることを強くお勧めします。
BrazeでLiquidスニペットを使用するにはどうすればよいですか?
多くの場合、CampaignやCanvasesに移動し、メール本文やSegmentsなどの領域でパーソナライゼーションモーダルにLiquidを挿入することで、Liquidスニペットを組み込むことができます。
詳しくはどこで学べますか?
Liquidの詳細については、ガイド付きのLiquidによるダイナミックパーソナライゼーション Braze Learningパスをご覧ください!また、Liquidユースケースライブラリーを参照して、Liquidを使用したパーソナライゼーションの例やインスピレーションを得ることもできます。
パーソナライゼーションにおけるLiquidとコネクテッドコンテンツの違いは何ですか?
Brazeのコネクテッドコンテンツは、Liquidタグの一例です。パーソナライゼーションにも使用されますが、このデータはBraze内に保存されたデータではなく、外部エンドポイントから取得されます。メッセージのパーソナライズ方法を拡張する方法について詳しくは、専用のコネクテッドコンテンツセクションをご覧ください。
Liquidテンプレートとは何ですか?
これはBrazeでLiquidを使用する最も一般的な方法です。Liquidテンプレートでは、ユーザープロファイルからメッセージにデータを取り込みます。このデータは、ユーザーの名からトリガーメッセージのカスタムイベントまで多岐にわたります。
サポートされているLiquidタグの完全なリストについては、サポートされているパーソナライゼーションタグを参照してください。
Liquidで変数を割り当てるにはどうすればよいですか?
assign タグを使用して変数を作成し、割り当てることができます。これにより、メッセージ作成画面で変数が作成され、メッセージ全体で参照することもできます。
Liquidを使用するとデータポイントが記録されますか?
いいえ。
Liquidを使用してパーソナライズされた挨拶を送信するにはどうすればよいですか?
ユーザーの名を使用したパーソナライズされた挨拶には、 {{${first_name}}}、{{${last_name}}} などの標準ユーザープロファイル属性を取り込むことができます。
また、Liquidの {% if X %} ステートメントを使用して、曜日やカスタム属性など、あらゆる条件に基づいた条件付きレンダリングを行うこともできます。条件文で使用できるサポートされているLiquid演算子の詳細については、演算子をご覧ください。
顧客のロケーションに基づいてメッセージをパーソナライズするにはどうすればよいですか?
ユーザーのロケーションにはデフォルト属性があります:{{${most_recent_location}}}。
{{campaign.${name}}} と {{campaign.${message_name}}} の違いは何ですか?
{{campaign.${name}}} と {{campaign.${message_name}}} はどちらもサポートされているLiquidパーソナライゼーションタグです。どちらのタグもCampaign属性を参照します。{{campaign.${name}}} はCampaignの名前を示し、{{campaign.${message_name}}} はメッセージバリアントの名前です。
ネストされたオブジェクトでLiquidを使用するにはどうすればよいですか?
Brazeには、メッセージで使用できるSegments用のLiquidコードを生成する組み込み機能があります。具体的には、オブジェクト内の複数の条件に一致するSegmentを作成できます。
詳細については、マルチ条件セグメンテーションをご覧ください。
イベント属性を使用して、イベントがトリガーするメッセージをパーソナライズするにはどうすればよいですか?
api_triggered_property タグを使用して、APIトリガーイベントのプロパティにアクセスできます:{{api_trigger_properties.${attribute_key}}}。
APIトリガーのLiquidがBrazeで失敗するのはなぜですか?
よくある原因は、余分な波括弧のペアです。例えば、{{{api_trigger_properties.${attribute_key}}}} は有効なBrazeパーソナライゼーション構文ではありません。開き波括弧2つと閉じ波括弧2つを正確に使用してください:{{api_trigger_properties.${attribute_key}}}。
中止ロジックとは何ですか?また、どのように使用できますか?
中止ロジックを使用すると、条件が満たされた場合にメッセージの送信を停止できます。これは、不完全なメッセージがユーザーに送信されるのを防ぐのに特に役立ちます。マーケティングCampaignでの中止ロジックの例については、メッセージの中止で詳しくご覧ください。
forループロジックとは何ですか?また、どのように使用できますか?
forループは反復タグとも呼ばれます。Liquidスニペットでforループロジックを使用すると、条件が満たされるまでLiquidブロックを繰り返し処理できます。
Brazeでは、配列カスタム属性のアイテムのチェック、またはカタログ、セレクション、コネクテッドコンテンツ呼び出しの応答で返される値やオブジェクトのリストのチェックに使用できます。具体的には、forループロジックをメッセージングの一部として使用して、製品が在庫にあるかどうか、または製品が最低評価を満たしているかどうかを確認できます。
例えば、「Games」というカタログに「cheap_games」というセレクションがあるとします。「cheap_games」のゲームタイトルを取得するには、次のLiquidスニペットを使用できます:
1
2
3
4
{% catalog_selection_items Games cheap_games %}
{% for item in items %}
Get this game: {{ item.title }}
{% endfor %}
設定した条件が満たされると、メッセージを続行できます。このロジックを使用すると、異なる条件に対してLiquidブロックを繰り返す代わりに時間を節約できます。
Content Blocksを使用するメッセージに余分なスペースが入るのはなぜですか?
Liquidを使用するContent Blocksで送信されたメッセージに余分なスペースがある場合、条件文内に不要な段落や改行が含まれている可能性があります。条件文は複数行にまたがるのではなく、1行で記述してください。
例
1
{% if {{custom_attribute.${has_discount}}} == true %}Discounted Item{% elsif {{custom_attribute.${is_new_arrival}}} == true %}New Arrival{% else %}Regular Item{% endif %}
assign と capture はいつ使い分けるべきですか?
assign と capture はどちらもLiquid変数を作成しますが、用途が異なります。
assignは、ブール値、数値、単純な文字列など、単一の値を格納するシンプルな変数に使用します。同じ行で単一のフィルターを適用することもできます。captureは、複数の変数、文字列、または複雑な式を含む可能性のあるテキストブロックを格納するために使用します。他のLiquid変数やカスタム属性をパラメーターとして利用するURLなど、単一のassignステートメントでは複雑すぎる値の場合にcaptureを使用してください。captureは、コネクテッドコンテンツ呼び出しの本文でLiquid変数を実装する場合にも推奨されます。
例
1
2
3
4
5
6
7
{% comment %} Valid assign usage {% endcomment %}
{% assign name = {{custom_attribute.${first_name}}} %}
{% assign price = {{custom_attribute.${price}}} | plus: 0 %}
{% comment %} Use capture for complex strings {% endcomment %}
{% capture greeting %}Hello, {{custom_attribute.${first_name}}}! Your order #{{custom_attribute.${order_id}}} is ready.{% endcapture %}
{{ greeting }}