Klaviyo のテンプレートタグを使って、顧客体験をカスタマイズする方法について説明します。
パーソナライゼーションタグは、メール(メールの件名を含む)、 SMS / MMS メッセージ、プッシュ通知、Customer Hub で使用できます。この記事では、利用可能な特定のタグ、その構造と形式、およびカスタマイズ方法について説明します。パーソナライゼーションを追加する方法については、メッセージへのパーソナライゼーション追加に関する記事をご覧ください。
パーソナライゼーションタグは、以前はテンプレートタグおよび変数構文と呼ばれていました。
パーソナライゼーションタグについて
テキストフィールドにタグを入力すると、下表の左側に表示された文のようになります。実際のメッセージでは、タグは受信者のプロファイルやイベント内容の情報に置き換えられ、右の文章のように表示されます。
Hi {{ first_name }} {{ last_name }}, your favorite color is {{ person|lookup:'Favorite Color' }}
|
Hi George Washington, your favorite color is Green |
通常、プロファイルのパーソナライゼーションは、「first_name」や「last_name」などのいくつかの特別なタグを除いて、「person」で始まります。メトリックトリガーによるフローで使用できるイベント変数は「event」で始まります。組織タグ(会社名や住所など)は「organization」から始まります。
すべてのパーソナライゼーションタグは大文字と小文字が区別され、参照するプロパティ名と完全に一致している必要があります。タグのスペルが正しいことを確認し、プロファイルに表示されているものと同じ大文字・小文字を使用してください。
プロファイルのパーソナライゼーション
プロファイルのパーソナライゼーションでは、メッセージに特別な Klaviyo プロパティを表示できます。以下は、プロファイルに関するすべてのパーソナライゼーション項目(つまり、標準で用意されている Klaviyo のプロファイルプロパティ)のリストです。プロファイルのパーソナライゼーションタグは、メールエディターの [パーソナライゼーション] メニューから、または SMS とプッシュメッセージのプレビューモーダルから選択できます。
メッセージにカスタムプロパティを追加したい場合は、[カスタムパーソナライゼーション] のセクションに進んでください。
| タグ | プロファイルプロパティ |
{{ email }} |
メール |
{{ first_name }} |
名 |
{{ last_name }} |
姓 |
{{ person.organization }} |
受信者の組織 |
{{ person|lookup:"$address1" }} |
住所 1 |
{{ person.id }} |
ユニーク ID($id/外部 ID) |
{{ person|lookup:"$latitude" }} |
緯度 |
{{ person|lookup:"$longitude" }} |
経度 |
{{ person.KlaviyoID }} |
Klaviyo ID |
{{ person.full_name }} |
フルネーム |
{{ person.title }} |
タイトル |
{{ person.phone_number }} |
電話番号 |
{{ person|lookup:'$address2' }} |
住所 2 |
{{ person.City }} |
市区町村 |
{{ person.Region }} |
県・州/地域 |
{{ person.Country }} |
国名 |
{{ person.Zipcode }} |
郵便番号 |
{{ person|lookup:"$source" }} |
ソース |
{{ person|lookup:"$consent" }} |
同意 |
{{ person|lookup:'$consent_form_id' }} |
$consent_form_id |
{{ person|lookup:'$consent_form_version' }} |
$consent_form_version |
{{ person|lookup:'$consent_method' }} |
$consent_method |
{{ person|lookup:"$timezone" }} |
受信者のタイムゾーン |
{{ person|lookup:'$consent_timestamp' }} |
$consent_timestamp |
{{ person|lookup:'$phone_number_region' }} |
$phone_number_region |
{{ person.ViewedItems }} |
最近閲覧した商品 |
{{ person|lookup:"Expected Date Of Next Order" }} |
次回注文日の予測 |
カスタム オブジェクトタグ
カスタム オブジェクトタグを使用すると、フローやキャンペーン送信でオブジェクトデータを使用できます。
オブジェクト ID を取得したり、件数を返したりするタグの具体例については、タグの参照を確認してください。
テンプレートでカスタム オブジェクトデータを使用する前に、まずオブジェクトを作成する必要があります。{{ object }} タグは、オブジェクトがフローをトリガーしたときにのみ使用できます。
| タグ | 成果 |
{{ object.object_property }} |
フローをトリガーしたオブジェクトを返却 |
{{ object | lookup:'object_property' }} |
|
{{ object_filter.object_filter_name.object_property}} |
オブジェクトフィルターから単一のオブジェクトを返却 |
{{ object_filter.object_filter_name | lookup: 'object_property' }} |
|
{{ object_filter.object_filter_name }} |
オブジェクトフィルターからカウントを返却 |
{% customobject id={{ event.object_id }} as alias%} |
ID でオブジェクトを取得 |
{% customobjects object_type_title=“Title” as alias %} {% for object_instance in alias %} {{ object_instance.record }} {% endfor %} {% endcustomobjects %}
|
1 つのプロファイルからオブジェクトの全レコードを取得 |
組織タグ
組織タグを使用すると、メッセージに会社や組織に関する情報を反映させることができます。左下の組織名をクリックし、[設定] > [組織] > [連絡先情報] を選択すると、この情報を管理できます。すべての組織タグは「organization」で始まります。組織タグの一覧は以下の表をご覧ください。
| 組織タグ | 説明 |
{{ organization.name }} |
組織名 |
{{ organization.url }} |
組織のウェブサイト |
{{ organization.full_address }} |
組織の住所 1(郵便番号、県・州、市区町村) |
{{ organization.street_address }} |
組織の住所 2(町名、番地) |
{{ organization.street_address2 }} |
組織の住所 3(集合住宅名や部屋番号など) |
{{ organization.city }} |
組織の市区町村 |
{{ organization.region }} |
組織の県、州、または地域 |
{{ organization.zip_code }} |
組織の郵便番号 |
リンクとプレビュータグ
リンクタグとプレビュータグを使用すると、受信者は購読設定を管理したり、ブラウザでメッセージを表示したりできます。これには以下が含まれます。
これらのタグは、メールテンプレートでのみ対応可能です。プレビューメールからこれらのリンクをクリックすると、ライブの同意ページやプレビューではなく、プレースホルダーページに移動します。
配信停止
Klaviyo では、すべてのメールに配信停止リンクが必要です。「配信停止」と表記されたリンクに単純な配信停止タグを使用するか、独自のテキストを引用符で囲んで追加してください。
| タグ | 出力 |
{% unsubscribe %} |
配信停止 |
If you'd no longer like to receive emails, {% unsubscribe 'click here' %}. |
If you'd no longer like to receive emails, click here. |
または {% unsubscribe_link %} タグを使って、配信停止 URL を生成することもできます。このタグは、リンクされた語句全体を生成するのではなく、配信停止 URL のみを作成します。配信停止リンクの色をテンプレートのスタイルとは別の色にしたい場合、またはテキストリンクではなくボタンや画像をリンクとして使用したい場合に、このタグを使用します。
| タグ | 出力 |
これは、デザインされた<a href="{% unsubscribe_link %}" >配信停止</a>リンクです。 |
これはデザインされた配信停止リンクです。 |
受信者が配信停止リンクをクリックすると、カスタマイズ可能な確認ページに移動します。
設定を管理
設定ページを使用すると受信者が自分の設定を更新できるため、メッセージをより効果的にセグメント化してターゲットを絞ることができます。各受信者にこのページへのリンクを表示するには、設定管理タグを使用します。
特定リスト用の設定管理ページと一般的な設定管理ページを作成できます。特定リスト用のページは、1 つのリストにメッセージを送信する場合に使用します。一般的な設定管理ページは、セグメント、複数リストの組み合わせ、またはリストによってトリガーされないフローでメッセージを送信する場合に使用します。設定管理ページについて詳細はこちら。
「設定を管理」と表記されたリンクには単純な設定管理タグを使用するか、独自のテキストを引用符で囲んで追加します。
| タグ | 出力 |
{% manage_preferences %} |
設定を管理 |
Want to update your preference?{% manage_preferences 'Click here' %}。 |
Want to update your preference? Click here. |
または、{% manage_preferences_link %} タグを使用して、設定管理 URL を生成することもできます。このタグは、リンクされた語句全体を生成するのではなく、受信者の設定ページの URL のみを作成します。設定管理のリンクの色をテンプレートのスタイルとは別の色にしたい場合、またはテキストリンクではなくボタンや画像をリンクとして使用したい場合に、このタグを使用します。
| タグ | 出力 |
これは、デザインされた<a href="{% manage_preferences_link %}" >設定管理</a>リンクです。 |
これは、デザインされた設定管理リンクです。 |
ウェブビュー
受信者がウェブブラウザでメールを閲覧できるようにするには、ウェブ表示タグを使用します。
| タグ | 出力 |
{% web_view %} |
View in Your Browser |
Can't see this email? {% web_view 'Open in your browser' %}。 |
Can't see this email? Open in your browser. |
これは、デザインされた<a href="{% web_view_link %} " >ウェブ表示</a>リンクです。 |
これは、デザインされたウェブ表示リンクです。 |
プレビューテキスト
場合によっては、テンプレート本文内にプレビューテキストを表示する必要があります。タグ {% render_variable preview_text %} を使用すると、メールプレビュー/設定画面で設定したプレビューテキストを参照できます。
メールプレビュー画面でプレビューテキストを更新した場合、このタグは更新後のプレビューテキストを表示します。
カスタムパーソナライゼーションとイベントタグ
カスタムタグは、生年月日や連絡先の設定など、カスタム プロファイルプロパティ(Klaviyo の特殊なプロパティやイベント以外で収集したデータ)を参照します。イベントタグは、特定のイベントデータ(例えば、「注文確定」イベント)を参照し、そのイベントによってトリガーされるフローでのみ使用できます。
カスタムタグを追加するには、メールのテキストフィールドで [パーソナライゼーション] をクリックし、タグを選択します。イベントタグを追加するには、メッセージをプレビューし、プレビューデータからイベント変数タグをコピーします。また、以下の形式を使用して、テンプレートにカスタムタグを手動で追加することもできます。
| タグの形式 | 説明 | 例 |
{{ person.property_name }} |
シンプルなプロファイルパーソナライゼーションのタグ | {{ person.Birthday }} |
{{ person|lookup:'property name' }} |
プロファイルパーソナライゼーションのタグ(プロパティ名にスペースや特殊文字が含まれる場合) | {{ person|lookup:'Favorite Color' }} |
{{ event.property_name }} |
シンプルなイベント変数タグ | {{ event.URL }} |
{{ event|lookup:'property name' }} |
イベント変数タグ(変数名にスペースや特殊文字が含まれる場合) | {{ event|lookup:'$value' }} |
{{ event.property.nested_variable }} |
イベント変数タグ(イベント変数がイベントデータにネストされている場合) | {{ event.extra.checkout_url }} |
{{ event|lookup:'property name'|lookup:'nested variable name' }} |
イベント変数タグ(イベント変数が、スペースや特殊文字を含む名前の別の変数にネストされている場合) | {{ event|lookup:'Coupon Codes'|lookup:'0' }} |
スペースや特殊文字を含まないタグにはドット(.)表記を使用します。プロパティ名にスペースや特殊文字(例:$)が含まれている場合は、ルックアップ記法を使用します。
ネストされたプロパティで、1 つのプロパティ名にルックアップ記法を使用した場合、それ以降のすべてのプロパティでもルックアップ記法を使用する必要があります。つまり、event|lookup:'Collection Names'|lookup:'0' は正しい書き方ですが、event|lookup:'Collection Names'.0 は正しくありません。
フィルターによるタグのカスタマイズ
タグの表示方法をカスタマイズするには、テンプレートフィルターを適用します。フィルターを使うと、タイトルケースの適用や、小数点以下の桁数指定などを行うことができます。最も一般的なフィルターは、「default」と「title」の 2 つです。
「default」フィルターは、対象のプロパティが設定されていない場合に、メッセージ受信者に表示されるデフォルト値を設定するためのものです。以下の例では、受信者の名前や好きな食べ物が Klaviyo プロファイルに設定されていない場合に備えて、「friend」と「tasty treats」がデフォルト値として設定されています。
| パーソナライゼーションタグ付きテキスト | 出力 |
Hey {{ first_name|default:'friend' }}, any interest in some {{ person|lookup:'Favorite Food'|default:'tasty treats' }}? |
Hey friend, any interest in some tasty treats? |
「title」フィルターを使用すると、任意のテキストタグにタイトルケースを適用し、メッセージ送信後も一貫した表記で表示できます。例えば、購読者によっては、サインアップフォーム入力時にすべて大文字またはすべて小文字を使用することがあります。フィルターを使用しない場合、名はフォームに入力されたとおりの大文字・小文字で表示されます。しかし、「title」フィルターを適用することで、大文字・小文字が修正され、名前が正しく表示されます。
| パーソナライゼーションタグ付きテキスト | 出力 |
Hey {{ first_name|title }}, have you seen our latest launch? |
Hey Elise, have you seen our latest launch? |
メッセージには他にもたくさんのフィルターが用意されています。フィルターを使用してタグをカスタマイズする方法について詳細はこちら。
日付タグ
日付タグを使用すると、メールに日付情報を簡単に挿入できます。日付はアカウントのタイムゾーンで、メッセージが送信された日時を反映します。
{{ today }} タグは最も一般的な日付タグの 1 つであり、メッセージ送信時にタイムスタンプが設定されます。「today」タグを使用するには、以下のコードをテンプレートに貼り付けてください。
{% today "%Y-%m-%d" as today %} {{ today }}
なお、前に必要なコードを付けずに {{ today }} タグだけを使用しても、何も表示されないため注意してください。コード全体を記述する必要があります。
日付タグの使い方やカスタマイズ方法については、テンプレートの日付タグに関する記事をご覧ください。
通貨タグ
「注文確定」や「カートに追加」などのイベントデータには、金銭的な価値(例えば、商品の価格や顧客のカート金額など)が関連付けられていることがよくあります。{% currency_format … %} タグを使用すると、その値に国の通貨形式を適用できます。
例えば、以下の「チェックアウト開始」メトリックの $value フィールドを見てみましょう:
変数 {{ event|lookup:"$value" }} だけを使用した場合、このプロパティは、小数点以下 1 桁で通貨記号なしの状態でメールに表示されます。
しかし、通貨形式タグ {% currency_format event|lookup:"$value" %} を使用すると、通貨記号が付き、小数点以下の桁数も正しく整った状態で表示されます。
通貨形式タグを使用するには、{% currency_format PLACEHOLDER %} 内の PLACEHOLDER のテキストを変数に置き換えます。
たとえば、変数が {{ event.item.price }} の場合、完全な通貨形式タグは {% currency_format event.item.price %} になります。タグにフィルター(プロパティが空の場合のデフォルト値など)が含まれている場合は、それらもタグ {% currency_format event.item.price|default:”0” %} に含めます。
国の選び方
メッセージの通貨形式を設定できる場所は 2 つあります。
-
アカウント全体
[設定] > [組織] > [組織の言語と地域] に移動し、[組織の言語] を選択します。 -
特定のメッセージ
テンプレートの [スタイル] タブ内の [通貨] セクションで、そのメッセージだけに適用したい通貨形式を選択します。
currency_format タグのトラブルシューティング
このタグは、数値の変数にのみ対応しています(例:10、24.56)。通貨記号が含まれるプロパティ(例:$40、$76.30)は文字列であり、currency_format タグでは変更できません。
条件文
条件付きタグを使用すると、特定の条件を満たす受信者にはメッセージ内にコンテンツを表示し、条件を満たさない受信者にはコンテンツを非表示にすることができます。各受信者向けにメッセージを高度にパーソナライズすることが可能になります。
If 文
If 文を使用すると、プロファイルまたはイベントデータに基づいて、表示するコンテンツを制御することができます。
以下の例では、ロイヤルティポイントが 150 ポイントを超えるユーザーには 1 行目のテキストが表示されます。150 未満かつ 0 より大きい場合は、2 行目が表示されます。ロイヤルティポイントが 0 の場合は、3 行目のメッセージが表示されます。
{% if person|lookup:'Loyalty Points' > 150 %}
VIP の皆さん!送料・返品はいつでも無料です
{% elif person|lookup:'Loyalty Points' > 0 %}
現在、{{ person|lookup:'Loyalty Points' }} ポイントをお持ちです。VIP になるには、あと 150 ポイント必要です。
{% else %}
弊社の VIP プログラムについてご存知ですか?今すぐウェブサイトからご参加いただき、特典を獲得しましょう。
{% endif %}
If 文内には、最初に {% if … %} という条件式、最後に {% endif %} タグが必要です。それ以外の要素({% elif %} や {% else %} タグ)は任意です。{% elif %} タグは何度でも使用できますが、 {% else %} タグを使用できるのは一度だけです。また、各メール受信者には、条件に一致したメッセージのみが表示されます。
For 文
「For」ブロックを使用すると、リストを保持している変数内の各商品を順番に処理し、それぞれを個別に表示することができます。以下はその例です。
{% for item in event.shopping_cart_items %}{{ item.name }} × {{ item.quantity }} {% endfor %} |
特大ビーチブランケット × 1 ビーチチェア × 4 SPF 日焼け止め × 2 プラスチッククーラー × 1 |
各 For 文には、以下の要素が必要です。
- 開始
{% for … %}タグ:行エイリアス(上記の例では item)と行コレクション(上記の例では event.shopping_cart_items)を含む - 終了
{% endfor %}タグ
2 つの必須タグの間には、任意のテキストを記述できます。行コレクション内のネストされた変数を含めるには、変数名の先頭部分(行コレクションと、それに続く番号)を行エイリアスに置き換えます。例えば、変数 {{ event.shopping_cart_items.0.name }} は {{ item.name }} となります。
条件文とインラインテキスト エディター
特定の条件文をテキストブロックに追加すると、インラインテキスト エディター上に表示されなくなる場合があります。しかし、コードはまだ存在しており、単に非表示になっているだけです。条件文を表示および編集するには、テキストブロックの [ソースコード] フィールドを開いてください。
以下のタグは、テキストブロックの [ソースコード] フィールドでのみ表示されます。
- {% for ... %}
- {% endfor %}
- {% if ... %}
- {% elif ... %}
- {% else %}
- {% endif %}
- {% with ... %}
- {% endwith %}