テンプレートの条件付きロジック リファレンス
このページで学べること
特定の受信者に対してのみブロック、セクション、またはカスタム コードのコンテンツを動的に表示するために使用できる、利用可能なすべての条件について説明します。テンプレートでこれらの条件を使用する方法については、動的変数に基づいてテンプレートブロックを表示または非表示にする方法に関する記事をご覧ください。
条件ロジックの使用方法をご確認ください:
条件を使用できる場所
次の条件で使用できます:
- メール
- 特定の人にのみ ブロックまたはセクションを表示するための表示/非表示ロジック を動的に作成します。
- コードを書きたくない場合は、代わりに 表示/非表示ロジック ビルダー を使用してください。
- if/else 条件を記述して、カスタム Django ステートメントを作成します。
- 特定の人にのみ ブロックまたはセクションを表示するための表示/非表示ロジック を動的に作成します。
- カスタマーハブ
- コンテンツブロックで if/else 条件を記述し、カスタム Django ステートメントを作成します。
成功のヒント
表示/非表示の条件を構築する際は、詳細に注意してください。表示/非表示の条件は大文字と小文字を区別するため、スペルはプロファイルまたはイベントデータと完全に一致する必要があります。
また、考えられるすべての閲覧者を考慮してください。たとえば、特定の州の居住者にのみ特定のブロックを表示する場合は、その州名の考えられるすべての綴り(例:Massachusetts、massachusetts、mass、MA)を網羅してください。また、プロパティがまったく設定されていないプロファイルも考慮してください。
メッセージを作成して条件を適用したら、さまざまなプロファイルを使用して プレビュー し、すべてのシナリオで意図したとおりにメッセージが表示されることを確認してください。
条件の構造
条件には、ブロックの目的と使用するデータに応じて 1~3 個の要素を含める必要があります。条件には、少なくとも変数(例:person|lookup:'Favorite Color')を含める必要があります。=(等しい)や >(より大きい)などの比較関数と値が含まれる場合もあり、これは検索するプロパティ値を指定します。また、特定の条件は not で始まります。これは、条件を満たさないプロファイルに対してのみブロックを表示したい場合に使用します。
以下の図表には、表示/非表示の条件で取り得る構造の完全な一覧が含まれています。
サンプル条件 | 次の場合にブロックを表示... | 許容されるデータ型 |
person|lookup:'Favorite Color' |
| 任意 |
not person|lookup:'Favorite Color' |
| 任意 |
person|lookup:'Favorite Color' == 'green' |
| テキスト、数値 |
person|lookup:'Favorite Color' != 'green' |
| テキスト、数値 |
person|lookup:'Age' > 20 |
| 数字 |
person|lookup:'Age' >= 20 |
| 数字 |
person|lookup:'Age' < 20 |
| 数字 |
person|lookup:'Age' <= 20 |
| 数字 |
person|lookup:'Favorite Colors' の 'green' | プロパティ プロパティ | リスト、テキスト |
not 'green' in person|lookup:'Favorite Colors' | プロパティ プロパティ | リスト、テキスト |
ブール値の条件
ブール値として保存されているデータを参照する場合、表示/非表示の条件定義では、“true” と “false” ではなく 1 と 0 を使用する必要があります。1 または 0 を引用符で囲まないでください。以下のサンプル条件をテンプレートとして使用してください。
サンプル条件 | 次の場合にブロックを表示... |
person|lookup:'VIP' == 1 |
|
person|lookup:'VIP' == 0 |
|
テキストとして保存されたブール値の条件
true/false データがブール値ではなくテキストとして保存されている場合は、上記のテキストプロパティのサンプル条件を使用してください。確信がない場合や、ブール値とテキストの両方を含むプロパティを参照している場合は、これらの構造を使用してすべてのシナリオをカバーできます。データに含まれるすべてのスペルと大文字/小文字を含めてください。
サンプル条件 | 次の場合にブロックを表示... |
person|lookup:'VIP' == 1 or person|lookup:'VIP' == 'true' or person|lookup:'VIP' == 'True' |
|
person|lookup:'VIP' == 0 or person|lookup:'VIP' == 'false' or person|lookup:'VIP' == 'False' |
|
複雑な条件を作成する
複数の条件に一致する人にブロックを表示したい場合や、複雑なユースケースがある場合は、1 つのブロックに対して複数の表示/非表示条件を使用できます。そのためには、条件の系列を AND または OR でつなげます。たとえば、マサチューセッツ州にいる人にブロックを表示したいものの、一部のプロファイルではマサチューセッツ州のスペルが異なる場合、次のような条件を使用できます:
person.location.region == 'Massachusetts' or person.location.region == 'massachusetts' or person.location.region == 'mass' or person.location.region == 'MA'
好きな色が緑で、かつ VIP でもある人にのみブロックを表示したい場合は、次のような条件を使用できます:
person|lookup:'Favorite Color' == 'green' and person|lookup:'VIP'== 1
条件文とインラインテキスト エディター
特定の条件文をテキストブロックに追加すると、インラインテキストのエディター上に表示されなくなる場合があります。しかし、コードはまだ存在しており、単に非表示になっているだけです。条件付きステートメントを表示して編集するには、Django タグ ビルダー を使用するか、コンテンツを専用の HTML ブロックに移動してコードを直接編集します。
次のタグはインライン テキスト エディタには表示されませんが、テキスト ブロックには残ります。
- {% for ... %}
- {% endfor %}
- {% if ... %}
- {% elif ... %}
- {% else %}
- {% endif%}
- {% with ... %}
- {% endwith %}
その他のリソース
- How to show or hide template blocks and sections based on dynamic variables
Learn how to show a particular block or section in an email to certain recipients using the template editor’s show/hide logic builder.
- Message personalization reference
Learn how to use Klaviyo’s personalization variables, or tags, to customize the experience for your customers.
- Understanding profiles in Klaviyo
Learn about profiles, including how to find them and the data available on the profile page. Profiles are used to keep track of all the information you have about your customers and prospects.
- Glossary of variable filters