「Liquidによるパーソナライズ機能(β)」を利用し、コンテンツの最適化を行うための、典型的なユースケースについてサンプルを記載しています。
記載されているユースケースを元にパーソナライズ施策のインスピレーションを得たり、用途やニーズにあったサンプルを元に施策を作成しましょう。
2024年7月時点で、本サンプル集のLiquidに対応しているチャネルはプッシュ通知、イベント起点プッシュ通知のみです。 その他のチャネルでの利用はできませんのでご了承ください。
このサンプル集は、動作を完全に保証するものではありません。施策を作成する際の参考として必ずテスト配信を行った上でご利用ください。
また、事前準備が行われていない管理画面で、サンプル集の内容を利用すると {{user_profile['user_name']}}
のような文言がそのままユーザーに配信される可能性があります。必ず事前準備を完了し、実施してください。
参考:LiquidJS Playgroundについて
各サンプルに Playground と呼ばれる簡易的な検証環境へのリンクを記載しています。
リンク先でサンプルを利用してLiquidを含むメッセージの内容がどう表示されるのか確認できます。
また、Liquidはオープンソースで開発されておりReproではJavaで実装されているLiqpを利用しています。
LiquidJSはJavaScriptで開発されているため、実装や仕様は異なります。 サンプルに記載されている内容以外の機能を利用する場合は、必ずテスト配信を行った上でご利用ください。
事前準備
まず、管理画面でLiquidを利用した変数の挿入機能を利用できるよう、設定を変更します。
管理画面左メニューの [設定] > [プロジェクト設定] > [機能設定] タブをクリックし、「Liquidによるパーソナライズ機能(β)を有効にする」をONに変更し [保存] をクリックします。
ユーザープロフィールの差し込み
- 変数の挿入を利用するとき、Liquid記載行の改行や空白は配信される文面に含まれます
- コピーする際に不要な改行や空白が含まれることを防ぐため、解説に使用するサンプルコードは画像を使用しています
- 意図しない文面内での改行を防ぐため、コピー可能なフォームはすべての改行や空白を取り除いています
- ユーザープロフィール、イベントプロパティを変数として指定する箇所は、すべてシングルクォーテーションを利用してください
基本的な使い方
{{user_profile['user_name']}}さんにおすすめのクーポンのご案内✨
ユーザープロフィールの user_name
に、Taro
がセットされているユーザーには「Taroさんにおすすめのクーポンのご案内✨」と user_name
の値が差し込まれて配信されます。
user_name
の値がセットされていないユーザー、空文字がセットされているユーザーは「さんにおすすめのクーポンのご案内✨」というメッセージになってしまいます。
後述するデフォルト値を利用しない場合は必ず配信対象設定に 「user_name
が登録されている」という条件を含め、 user_name
が空文字で登録されていないか確認しましょう。
default値を指定する
defaultフィルターを利用して、 最後に聞いたアーティスト
がセットされていない場合に 好きなアーティスト
を差し込みするようにします。
{{user_profile['最後に聞いたアーティスト'] | default: '好きなアーティスト'}}の曲を聞いてみよう♫
実際に配信されるコンテンツは、以下のようになります。
-
最後に聞いたアーティスト
がThe Beatles
のユーザー
⇒ 「The Beatlesの曲を聞いてみよう♫ 」と最後に聞いたアーティスト名が差し込まれます -
最後に聞いたアーティスト
がセットされていないユーザー
⇒ 「好きなアーティストの曲を聞いてみよう♫」とdefault値が差し込まれます- ユーザープロフィールの値が空文字の場合もdefault値が表示されます
デフォルト値の設定をしておくと、配信対象を設定しない場合でも安全に配信することができます。
ユーザープロフィールの値に基づくパーソナライズ
まずは、典型的なパーソナライズの例を紹介します。
ユーザープロフィールの値が2つの場合
2種類の値でそれぞれコンテンツを表示する例
例えば、ゴールド会員とシルバー会員でメッセージをパーソナライズしたい場合は以下のように記載します。
if文を利用し、標準ユーザープロフィール「membership_stage」の値によって表示するメッセージを切りわけています。
この例では、「membership_stage」の値が gold
のユーザーには「ゴールド会員向けにパーソナライズされたコンテンツです。」が配信され、「membership_stage」の値が silver
のユーザーには「シルバー会員向けにパーソナライズされたコンテンツです。」が配信されます。
もしも、「membership_stage」の値が other
のユーザーや、「membership_stage」の値がセットされていないユーザーが存在した場合、空のメッセージが配信されます。
共通コンテンツとそれぞれコンテンツを表示する例
if文の前後にメッセージを含んだLiquidの内容になっている場合は、値がセットされていないユーザーはif文の出力内容は空になります。
そのため、値がセットされていないユーザーには、以下のようなメッセージが配信されます。
期間限定のオトクなクーポンを配信中✨今すぐクーポンをチェックしよう👀
2種類の値が設定されていないユーザーは、共通コンテンツのみが配信されます。
いずれかのコンテンツを表示する例
値がセットされていないユーザーの場合は else
を利用して、内容を指定することもできます。(Playground)
2種類の値が設定されていないユーザーは、独自コンテンツのみが配信されます。
ユーザープロフィールの値が3つの場合
例えば、会員ステージがゴールド・シルバー・ブロンズの3種類でメッセージをパーソナライズしたい場合は以下のように記載します。(Playground)
membership_stage がセットされていないユーザー向けのメッセージも含める場合は以下のようになります。(Playground)
ユーザープロフィールの値が4つの場合
例えば、会員ステージがゴールド・シルバー・ブロンズ・スタンダードの4種類でメッセージをパーソナライズしたい場合は以下のように記載します。(Playground)
membership_stage がセットされていないユーザー向けのメッセージも含める場合は以下のようになります。(Playground)
ユーザーの行動に基づくパーソナライズ
ユーザーの初回起動日に基づいてパーソナライズする場合
first_launch_date というユーザープロフィールに日付型で初回起動日がセットされている際、その値を利用して初回起動当日、1日以上、2日以上、3日以上、7日以上でメッセージを切りわけます。(Playground)
ユーザーが最後にアプリを開いた日時に基づいてパーソナライズする場合
標準ユーザープロフィールの「最後に使った日」を元に、ユーザーが最後にアプリを利用した日から経過した日数に基づいてメッセージを切りわけます。(Playground)
ユーザーが居住している都道府県に基づくパーソナライズ
エリア別にパーソナライズする場合
標準ユーザープロフィールの「都道府県」の値を元に、47都道府県を8つのエリアで分けてメッセージを切りわけます。 パーソナライズが不要なエリアは削除することでデフォルト文言を配信することができます。(Playground)
性別によるパーソナライズ
男性、女性でメッセージをパーソナライズする場合
標準ユーザープロフィールの「性別」を元に、男性と女性でメッセージを切りわけます。(Playground)
男性、女性、その他のユーザーでメッセージをパーソナライズする場合
標準ユーザープロフィールの「性別」を元に、男性、女性、その他でメッセージを切りわけます。(Playground)
ポイントなど数値を用いたパーソナライズ
保有ポイントを元にメッセージをパーソナライズする場合
ユーザーが保有しているポイントを元にメッセージを切りわけます。 持っているポイントによって訴求したい商品やコンテンツが異なる場合に利用できます。(Playground)
OSによるパーソナライズ
iOSとAndroidでメッセージをパーソナライズする場合
OSを元に、iOSユーザー、Androidユーザーでメッセージを切りわけます。(Playground)
iOSとAndroid、その他でメッセージをパーソナライズする場合
OSを元に、iOSユーザー、Androidユーザー、その他のユーザーでメッセージを切りわけます。(Playground)
ディープリンクやURLのパーソナライズ
プッシュ通知やイベント起点プッシュ通知で、「ディープリンクもしくはURL」や「リッチ通知メディア(画像)」に変数を挿入できます。
しかしながら、正規なURL形式であることが変数の挿入なしで判定できる必要があります。
したがって、https://
や myapp://
のようなスキーム部分まで含めた変数の挿入は行えないため、注意してください。
iOSとAndroidでディープリンクの形式が同じ場合
OSごとにURLの構造やパラメータ名が変わらないとき、以下のようにディープリンクや、URLの一部に変数を利用することで遷移先をパーソナライズできます。(Playground)
iOSとAndroidでディープリンクの形式が異なる場合
OSごとにURLの構造やパラメータ名が変化するとき、以下のようにディープリンクや、URLの一部に変数を利用することで遷移先をパーソナライズできます。(Playground)
ディープリンクやURLのフォームに入力する値はURLとして正規なものである必要があるので、 https://
や myapp://
は含めた上でLiquidを記述してください。
サンプル集は以上です。随時、ユースケースにあわせた更新を予定しております。
Liquidの利用には、一定のプログラミング知識が必要となりますが、是非サンプルを施策へ活用ください。
サンプル集にないLiquidの具体的な書き方や既存ユーザープロフィールの定義など、サポートが難しい場合もございますが、施策設計についてお困りの場合、カスタマーサクセスまでお声がけくださいませ。