Liquidによるパーソナライズ¶
注釈
ユーザープロフィールやイベントプロパティを変数として差し込むことを検討されている場合、まずは 変数の挿入 をご確認ください。
概要¶
Liquidを活用すれば、プッシュ通知やイベント起点プッシュ通知、アプリ内メッセージ等のReproのキャンペーンでユーザープロフィールやイベントプロパティを変数として差し込み、メッセージの内容をパーソナライズできます。
パーソナライズされたメッセージを配信することで、プッシュ通知の開封率や、メッセージのクリック率、CVRの改善が期待できます。
Liquidとは¶
LiquidとはECプラットフォームのShopifyが開発しているテンプレート言語です。
Liquidはオープンソースで開発されておりReproではJavaで実装されているLiqpを利用しています。
これはLiquidのJava版の非公式ライブラリであり、利用出来る構文やフィルターが公式Ruby版のLiquidとは異なる場合があります。
Liquidの詳細は公式サイトを参照してください。
プッシュ通知でのLiquid利用時の注意事項¶
警告
- 公開する前に必ずテスター向けにテスト配信をして、意図した配信がされるか確認しましょう
- パーソナライズされたプッシュ通知の配信は既存のキャンペーンとは異なり、複雑なロジックを組むことができます。
- 結果的に通常のキャンペーン以上に意図しない配信やメッセージの表示の事故が発生する可能性があります
{{}}
の書き忘れに注意しましょうuser_profile['name']
のみ書いた場合、保存時にエラーにはならずそのまま配信されてしまいます
- 必ずユーザープロフィール、イベントプロパティのいずれかを差し込んだLiquidを記述してください。 ユーザープロフィール、イベントプロパティの差し込みがない場合、Liquid構文がそのまま配信されます。
- ユーザープロフィール設定でユーザープロフィールの型を確認したり、配信対象設定でよく登録されている値や配信対象数を確認して意図したユーザープロフィールがセットされているか確認します
- サポートサイト「FAQ:ユーザープロフィールの実装後、ユーザーに設定できているか確認する方法はありますか?」も参考にしてください。
- 配信対象を鑑みて、空の状態で配信されるようなユーザーがいないか確認してください。
- プッシュ通知で利用する場合プッシュAPI、バルクプッシュAPIとの併用できません。
- ユーザープロフィール、イベントプロパティの差し込みにはシングルクォーテーションを利用してください
- プッシュ通知、イベント起点プッシュ通知において
{{user_profile['ユーザープロフィール名']}}
と指定する際、ユーザープロフィール名は必ず'
シングルクォーテーションで括る必要があります - イベント起点プッシュ通知で、イベントプロパティを利用する場合も同様に
{{event['プロパティ名']}}
とする必要があります {{user_profile["ユーザープロフィール名"]}}
とダブルクォーテーションが利用されている場合は保存時にエラーとなりキャンペーンを公開できません
- プッシュ通知、イベント起点プッシュ通知において
アプリ内メッセージ、WebメッセージでのLiquid利用時の注意事項¶
警告
- パーソナライズされたメッセージの表示は既存のキャンペーンとは異なり、複雑なロジックを組むことができます。
- 結果的に通常のキャンペーン以上に意図しないメッセージの表示の事故が発生する可能性があります
{{}}
の書き忘れに注意しましょうuser_profile['name']
のみ書いた場合、保存時にエラーにはならずそのまま配信されてしまいます
- 必ずユーザープロフィール、インセンティブコードのいずれかを差し込んだLiquidを記述してください。 ユーザープロフィール、インセンティブコードの差し込みがない場合、Liquid構文がそのまま配信されます。
- ユーザープロフィール設定でユーザープロフィールの型を確認したり、配信対象設定でよく登録されている値や配信対象数を確認して意図したユーザープロフィールがセットされているか確認します
- サポートサイト「FAQ:ユーザープロフィールの実装後、ユーザーに設定できているか確認する方法はありますか?」も参考にしてください。
- 配信対象を鑑みて、空の状態で配信されるようなユーザーがいないか確認してください。
- ユーザープロフィールの差し込みにはシングルクォーテーションを利用してください
- アプリ内メッセージ、Webメッセージにおいて
{{user_profile['ユーザープロフィール名']}}
と指定する際、ユーザープロフィール名は必ず'
シングルクォーテーションで括る必要があります {{user_profile["ユーザープロフィール名"]}}
とダブルクォーテーションが利用されている場合は保存時にエラーとなりキャンペーンを公開できません
- アプリ内メッセージ、Webメッセージにおいて
- 差し込みに利用する変数の値は一律で文字列型となります。
- 整数型の
point
というユーザープロフィールがあるとします。point
が100と一致するユーザーを判定するうえで以下のようなliquidの記載を行うと「それ以外」として判定されます。 {% if user_profile['point'] == 100 -%}100と一致{% else -%}それ以外{% endif -%}
- 一方で
>
、<
、>=
、<=
のような大小の比較演算子については上記のような挙動にならず記載どおりの評価となります。
- 整数型の
point
が100以上のユーザーを判定するうえで以下のようなliquidの記載を行うと「100以上と一致」として判定されます。{% if user_profile['point'] >= 100 -%}100以上と一致{% else -%}それ以外{% endif -%}
- こちらは今後の機能アップデートにて各種登録されているユーザープロフィールの型に合わせた値が利用可能となり、記載通りの評価になる予定です。
- HTMLアプリ内メッセージ、Webメッセージでは、liquidの比較演算子のうち
<
と>
を含むものは利用できません {% if user_profile['age'] >= 18 %}成人{% endif %}
- のような記述はできません
- liquidの比較演算子のうち
<
と>
を含むメッセージは保存時にエラーとなります
- HTMLアプリ内メッセージ、Webメッセージでは、liquidの比較演算子のうち