サポートされているパーソナライズタグ
このリファレンス記事は、サポートされているLiquidパーソナライゼーションタグの完全なリストをカバーしている。
サポートされているタグの概要
便宜上、サポートされているパーソナライゼーション・タグの概要を示す。各タイプのタグとベストプラクティスの詳細については、引き続きお読みください。
| パーソナライゼーション・タグタイプ | tags |
|---|---|
| 標準(デフォルト)属性 | {{${city}}}{{${country}}}{{${date_of_birth}}}{{${email_address}}}{{${first_name}}}{{${gender}}}{{${language}}}{{${last_name}}}{{${last_used_app_date}}}{{${most_recent_app_version}}}{{${most_recent_locale}}}{{${most_recent_location}}}{{${phone_number}}}{{${time_zone}}}{{${user_id}}}{{${braze_id}}}{{${random_bucket_number}}}{{subscribed_state.${email_global}}}{{subscribed_state.${subscription_group_id}}} |
| デバイス属性 | {{most_recently_used_device.${carrier}}}{{most_recently_used_device.${id}}}{{most_recently_used_device.${idfa}}}{{most_recently_used_device.${model}}}{{most_recently_used_device.${os}}}{{most_recently_used_device.${platform}}}{{most_recently_used_device.${google_ad_id}}}{{most_recently_used_device.${roku_ad_id}}}{{most_recently_used_device.${foreground_push_enabled}}} |
| メールリストの属性 | {{${set_user_to_unsubscribed_url}}}このタグは、以前の {{${unsubscribe_url}}} タグを置き換えるものです。古いタグは以前に作成されたEメールでも機能するが、代わりに新しいタグを使用することをお勧めする。{{${set_user_to_subscribed_url}}}{{${set_user_to_opted_in_url}}} |
| SMS属性 | {{sms.${inbound_message_body}}}{{sms.${inbound_media_urls}}} |
| WhatsApp 属性 | {{whats_app.${inbound_message_body}}}{{whats_app.${inbound_media_urls}}}{{whats_app.${inbound_flow_response}}}{{whats_app.${inbound_product_id}}}{{whats_app.${inbound_catalog_id}}} |
| キャンペーン属性 | {{campaign.${api_id}}}{{campaign.${dispatch_id}}}{{campaign.${name}}}{{campaign.${message_name}}}{{campaign.${message_api_id}}} |
| キャンバスの属性 | {{canvas.${name}}}{{canvas.${api_id}}}{{canvas.${variant_name}}}{{canvas.${variant_api_id}}} |
| キャンバス・ステップの属性 | {{campaign.${api_id}}}{{campaign.${dispatch_id}}}{{campaign.${name}}}{{campaign.${message_name}}}{{campaign.${message_api_id}}} |
| カード属性 | {{card.${api_id}}}{{card.${name}}} |
| ジオフェンス関連イベント | {{event_properties.${geofence_name}}}{{event_properties.${geofence_set_name}}} |
| イベントプロパティ (ワークスペースによって異なる) |
{{event_properties.${your_custom_event_property}}} |
| キャンバスのコンテキスト変数 | {{context}} |
| カスタム属性 (ワークスペースによって異なる) |
{{custom_attribute.${your_custom_attribute}}} |
| API トリガーのプロパティ | {{api_trigger_properties}} |
| キャンバスエントリのプロパティ | {{canvas_entry_properties.${property_name}}} |
サポートされている属性
キャンペーン、カード、キャンバスの各属性は、対応するメッセージングテンプレートでのみサポートされる(例えば、dispatch_id はアプリ内メッセージキャンペーンでは利用できない)。
詳細については、Braze のソース間におけるこれらの属性の違いに関するヘルプ記事を参照してください。
キャンバスとキャンペーンタグの違い
以下のタグはキャンバスとキャンペーンで動作が異なる:
dispatch_idの動作は、キャンバスとキャンペーンで異なります。これは、Braze がキャンバスのステップ (スケジュール可能なエントリステップを除く) を、スケジュール済みの場合でもトリガーイベントとして扱うためです。詳細については、ディスパッチIDの動作を参照してください。- キャンバスで
{{campaign.${name}}}タグを使用すると、キャンバスコンポーネント名が表示されます。このタグをキャンペーンで使用すると、キャンペーン名が表示される。
最近使用されたデバイス情報
すべてのプラットフォームで、ユーザーの最新デバイスの次の属性をテンプレート化できます。ユーザーがアプリケーションを使用していない場合 (REST API 経由でユーザーをインポートした場合など)、これらの値はすべて null になります。
| タグ | 説明 |
|---|---|
{{most_recently_used_device.${browser}}} |
ユーザーの端末で最近使用されたブラウザ。Chrome」や「Safari」などがその例だ。 |
{{most_recently_used_device.${id}}} |
Braze デバイス識別子。iOS の場合、これは Apple のベンダー用識別子 (IDFV) または UUID になります。Android などのプラットフォームでは、ランダムに生成されたUUID です。 |
{{most_recently_used_device.${carrier}}} |
利用可能であれば、直近で使用したデバイスの電話サービスキャリア。例えば、「Verizon」や「Orange」などです。 |
{{most_recently_used_device.${ad_tracking_enabled}}} |
デバイスが広告トラッキングを有効にしているかどうか。これはブーリアン値(true またはfalse )である。 |
{{most_recently_used_device.${idfa}}} |
iOS デバイスの場合、アプリケーションが オプションのIDFA コレクション で設定されている場合、この値はAdvertising (IDFA) の識別子になります。iOS以外のデバイスの場合、この値はNULLになる。 |
{{most_recently_used_device.${google_ad_id}}} |
Android デバイスの場合、当社オプションの Google Play 広告 ID コレクションでお客様のアプリケーションが設定されていれば、この値は Google Play の広告識別子になります。Android以外のデバイスの場合、この値はNULLになる。 |
{{most_recently_used_device.${roku_ad_id}}} |
Rokuデバイスの場合、この値は、アプリケーションがBrazeで設定される際に収集されるRoku Advertising Identifierとなる。Roku以外のデバイスの場合、この値はNULLになる。 |
{{most_recently_used_device.${model}}} |
もしあれば、デバイスのモデル名。例えば、「iPhone 6S」や「Nexus 6P」、「Firefox」などだ。 |
{{most_recently_used_device.${os}}} |
もしあれば、デバイスのオペレーティングシステム。例えば、「iOS 9.2.1」や「アンドロイド(ロリポップ)」、「ウィンドウズ」などだ。 |
{{most_recently_used_device.${platform}}} |
もしあれば、デバイスのプラットフォーム。設定されている場合、値は ios、android、kindle、android_china、web、または tvos のいずれかになります。 |
デバイスキャリア、モデル名、およびオペレーティングシステムにはさまざまな種類があるため、これらの値のいずれかに条件付きで依存するLiquid を徹底的にテストすることをお勧めします。特定のデバイスについてこれらの値が該当しない場合、値は null になります。
対象アプリの情報
アプリ内メッセージでは、Liquid内で以下のアプリ属性を使用できる。この値は、アプリがメッセージングをリクエストするために使用する SDK API キーに基づきます。
| タグ | 説明 |
|---|---|
{{app.${api_id}}} |
メッセージを要求するアプリのAPIキー。例えば、このキーを Liquid の abort_message() と組み合わせて使用して、別の SDK API キーを使用する TV プラットフォームや開発ビルドなどの特定のアプリケーションに対して、アプリ内メッセージの送信を防止します。 |
{{app.${name}}} |
メッセージを要求するアプリ名(Brazeダッシュボードで定義されている)。 |
例えば、このLiquidコードは、リクエストアプリがリストにある2つのAPIキーのうちの1つでない場合、メッセージを中止する:
1
2
3
4
5
6
{% assign allowed_api_keys = 'sdk_api_key_1,sdk_api_key_2' | split: ',' %}
{% if allowed_api_keys contains {{app.${api_id}}} %}
User is in list of apps
{% else %}
{% abort_message("User not in list of apps") %}
{% endif %}
ターゲットデバイス情報
プッシュ通知、アプリ内メッセージ、バナーでは、メッセージを送信するデバイスのアトリビューションを以下のようにテンプレート化できる。つまり、プッシュ通知、アプリ内メッセージ、またはバナーは、メッセージが読まれる端末の端末属性を含むことができる。これらの属性はコンテンツカードでは機能しないことに注意しよう。
| タグ | 説明 |
|---|---|
{{targeted_device.${id}}} |
これはBrazeのデバイス識別子である。iOS の場合、これは Apple のベンダー用識別子 (IDFV) または UUID になります。Android などのプラットフォームでは、ランダムに生成されたUUID です。たとえば、ユーザに5 つのデバイスがある場合、5 つのデバイスすべてに対して送信試行が行われ、それぞれに対応するデバイス識別子が使用されます。ユーザーが最後に使用したデバイスにメッセージを送信するようするように設定されている場合、Braze で識別された最後に使用されたデバイスに対して送信操作が1 回だけ試行されます。 |
{{targeted_device.${carrier}}} |
利用可能であれば、直近で使用したデバイスの電話サービスキャリア。例えば、「Verizon」や「Orange」などです。 |
{{targeted_device.${idfa}}} |
iOS デバイスの場合、アプリケーションが オプションのIDFA コレクション で設定されている場合、この値はAdvertising (IDFA) の識別子になります。iOS以外のデバイスの場合、この値はNULLになる。 |
{{targeted_device.${google_ad_id}}} |
Androidデバイスの場合、アプリケーションが当社の[オプションのGoogle Play広告IDコレクション]で設定されている場合、この値はGoogle Play広告識別子となる。Android以外のデバイスの場合、この値はNULLになる。 |
{{targeted_device.${roku_ad_id}}} |
Rokuデバイスの場合、この値は、アプリケーションがBrazeで設定される際に収集されるRoku Advertising Identifierとなる。Roku以外のデバイスの場合、この値はNULLになる。 |
{{targeted_device.${model}}} |
もしあれば、デバイスのモデル名。例えば、「iPhone 6S」や「Nexus 6P」、「Firefox」などだ。 |
{{targeted_device.${os}}} |
もしあれば、デバイスのオペレーティングシステム。例えば、「iOS 9.2.1」や「アンドロイド(ロリポップ)」、「ウィンドウズ」などだ。 |
{{targeted_device.${platform}}} |
もしあれば、デバイスのプラットフォーム。設定されている場合、値は ios、android、kindle、android_china、web、または tvos のいずれかになります。パーソナライゼーションタグ most_recently_used_device も使用できます。 |
{{targeted_device.${foreground_push_enabled}}} |
この値は、対象デバイスでフォアグラウンドのプッシュ通知を有効にしている場合に true、無効の場合に false になります。 |
デバイスキャリア、モデル名、およびオペレーティングシステムにはさまざまな種類があるため、これらの値のいずれかに条件付きで依存するロジックを徹底的にテストすることをお勧めします。特定のデバイスについてこれらの値が該当しない場合、値は null になります。
さらに、プッシュ通知では、プッシュトークンが API を介してインポートされた場合など、特定の状況下で Braze がプッシュ通知に添付されたデバイスを判別できないことがあります。その結果、これらのメッセージの値は null になります。

デフォルト値の代わりに条件付きロジックを使う
状況によっては、デフォルト値を設定する代わりに条件付きロジックを使用することもできます。条件付きロジックでは、カスタム属性の値によって異なるメッセージを送信することができる。さらに、条件付きロジックを使用して、NULL または空白の属性値を持つ顧客へのメッセージを中止できます。
ユースケース
たとえば、顧客に報酬残高通知を送信するとします。低い残高と NULL 残高を持つ顧客を考慮するために、デフォルト値を使用する適切な方法はありません。
この場合、デフォルト値を設定するよりも効果的なオプションが2つある:
-
残高が少ない、null、および空白の顧客に対するメッセージを中止します。
1 2 3 4 5
{% if {{custom_attribute.${balance}}} > 0 %} Your rewards balance is {{custom_attribute.${balance}}} {% else %} {% abort_message() %} {% endif %}
-
このような顧客には、まったく別のメッセージを送ろう:
1 2 3 4 5
{% if ${first_name} != blank and ${first_name} != null %} Hello {{${first_name} | default: 'there'}}, thanks for downloading! {% else %} Thanks for downloading! {% endif %}
このユースケースでは、名が空白または NULL のユーザーは「Thanks for downloading」というメッセージを受け取ります。顧客の名にはデフォルト値を含めて、間違いがあった場合に Liquid が表示されないようにする必要があります。
可変タグ
メッセージ作成画面で、assign タグを使用して変数を作成できます。変数には一意の名前を使用することをお勧めします。サポートされているパーソナライゼーションタグ(language など) と同じ名前の変数を作成すると、メッセージングロジックに影響する可能性があります。
変数を作成したら、メッセージング・ロジックやメッセージの中でその変数を参照できる。このタグは、Connected Content ]機能から返されたコンテンツを再フォーマットしたいときに便利だ。詳しくは、Shopifyの変数タグに関するドキュメントを参照されたい。
すべてのメッセージに同じ変数を割り当てていることに気づいているか?assign タグを何度も書き出す代わりに、そのタグをコンテンツブロックとして保存し、メッセージの先頭に置くことができます。
- コンテンツブロックの作成を行います。
- コンテンツブロックに名前をつける(スペースや特殊文字は使わない)。
- ページ下部の [編集] を選択します。
assignタグを入力する。
コンテンツ・ブロックがメッセージの先頭にある限り、変数がオブジェクトとしてメッセージに挿入されるたびに、選択したカスタム属性を参照することになる!
ユースケース
例えば、顧客が 100 ポイントの報酬ポイントを獲得した後に、報酬ポイントを換金できるようにするとします。つまり、追加購入をした場合、ポイント残高が100以上になる顧客だけにメッセージを送りたいわけだ:
1
2
3
4
5
6
{% assign new_points_balance = {{custom_attribute.${current_rewards_balance} | plus: 50}} %}
{% if new_points_balance >= 100 %}
Make a purchase to bring your rewards points to {{new_points_balance}} and cash in today!
{% else %}
{% abort_message('not enough points') %}
{% endif %}
反復タグ
反復タグは、コードのブロックを繰り返し実行するために使うことができる。以下のユースケースでは、for タグを使用している。
ユースケース
例えば、ナイキのスニーカーのセールを開催し、ナイキに興味を示した顧客にメッセージを送信するとします。各顧客のプロファイルには、さまざまな商品ブランドの配列が表示されます。この配列には、最大 25 の製品ブランドが含まれている可能性がありますが、最新の製品ビュー 5 つのうち、その 1 つとしてナイキ製品を表示した顧客にのみメッセージを送信します。
1
2
3
4
5
6
7
8
9
10
{% for items in {{custom_attribute.${Brands Viewed}}} limit:5 %}
{% if {{items}} contains 'Converse' %}
{% assign converse_viewer = true %}
{% endif %}
{% endfor %}
{% if converse_viewer == true %}
Sale on Converse!
{% else %}
{% abort_message() %}
{% endif %}
このユースケースでは、閲覧されたスニーカーブランドの配列の最初の5項目をチェックする。これらの項目のいずれかがコンバージョンであれば、converse_viewer 変数を作成し、それをtrueに設定する。
そして、converse_viewer が true のときにセールメッセージを送信します。それ以外の場合は、メッセージを中止します。
これは、Brazeメッセージコンポーザーでの反復タグの使い方の簡単な例である。詳細については、Shopify の反復タグのドキュメントを参照してください。
構文タグ
構文タグを使用して、Liquid のレンダリング方法を制御できます。echo タグを使用して式を返すことができます。これは、中括弧を使って式をラップするのと同じだが、Liquidタグの中でこのタグを使うことができる。また、liquid タグを使用して、各タグに区切り文字を使用せずにLiquid のブロックを設定することもできます。liquid タグを使用する場合、各タグは個別の行に配置する必要があります。より詳細な情報と例については、Shopifyの構文タグに関するドキュメントをチェックしよう。
ホワイトスペースコントロールを使用すると、タグの周りのホワイトスペースを削除できます。これにより、Liquid出力の外観をさらに制御することができます。
HTTPステータスコード
コネクテッドコンテンツの呼び出しから HTTP ステータスを使用するには、まず HTTP ステータスをローカル変数として保存してから、__http_status_code__ キーを使用します。以下に例を示します。
1
2
3
4
{% connected_content https://example.com/api/endpoint :save connected %}
{% if connected.__http_status_code__ != 200 %}
{% abort_message('Connected Content returned a non-200 status code') %}
{% endif %}
このキーは、エンドポイントが JSON オブジェクト返す場合にのみ、コネクテッドコンテンツオブジェクトに自動的に追加されます。エンドポイントが配列や他の型を返す場合、そのキーはレスポンシブで自動的に設定することはできない。
言語、最新のロケール、タイムゾーンに基づいてメッセージを送信する
状況によっては、特定のロケールに固有のメッセージを送信したい場合があります。例えば、ブラジルのポルトガル語は一般的にヨーロッパのポルトガル語とは異なる。
ユースケース:最新のロケールに基づいてローカライズする
ここでは、最新のロケールを使用して、国際化されたメッセージをさらにローカライズする方法について説明します。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
{% if ${language} == 'en' %}
Message in English
{% elsif ${language} == 'fr' %}
Message in French
{% elsif ${language} == 'ja' %}
Message in Japanese
{% elsif ${language} == 'ko' %}
Message in Korean
{% elsif ${language} == 'ru' %}
Message in Russian
{% elsif ${most_recent_locale} == 'pt_BR' %}
Message in Brazilian Portuguese
{% elsif ${most_recent_locale} == 'pt_PT' %}
Message in European Portuguese
{% elsif ${language} == 'pt' %}
Message in default Portuguese
{% else %}
Message in default language
{% endif %}
このユースケースでは、直近のロケールがpt_BR の顧客にはブラジル系ポルトガル語のメッセージが、直近のロケールがpt_PT の顧客には欧州系ポルトガル語のメッセージが表示される。最初の 2 つの条件を満たさないが、言語をポルトガル語に設定している顧客は、お客様がデフォルトに設定したポルトガル語のタイプでメッセージを受け取ります。
ユースケース:タイムゾーン別のターゲットユーザー
また、タイムゾーンでターゲットのユーザーを設定することもできます。例えば、EST のユーザーにはあるメッセージ、PST のユーザーには別のメッセージを送信します。そのためには、現在時刻をUTCで保存し、if/else文でユーザーの現在時刻と比較し、適切なタイムゾーンに適切なメッセージを送信する。ユーザーのローカルタイムゾーンでキャンペーンを送信するように設定し、適切な時間にキャンペーンを提供する必要がある。
午後2時から3時の間に発信され、各タイムゾーンに固有のメッセージを書く方法については、以下のユースケースを参照のこと。
1
2
3
4
5
6
7
8
{% assign hour_in_utc = 'now' | date: '%H' | plus:0 %}
{% if hour_in_utc >= 19 && hour_in_utc < 20 %}
It is between 2:00:00 pm and 2:59:59 pm ET!
{% elsif hour_in_utc >= 22 && hour_in_utc < 23 %}
It is between 2:00:00 pm and 2:59:59 pm PT!
{% else %}
{% abort_message %}
{% endif %}
GitHub でこのページを編集