ユーザープロファイル情報の取得
このページでは、ユーザープロファイルをコネクテッドコンテンツの呼び出しに取り込む方法と、Liquidテンプレートに関するベストプラクティスを説明する。
前提条件
コネクテッドコンテンツの応答にユーザープロファイルフィールド (Liquid パーソナライゼーションタグ内) が含まれている場合は、Liquid から返された内容を適切にレンダリングするために、事前に Liquid を使用してこれらの値をメッセージ内でコネクテッドコンテンツ呼び出しの前に定義する必要があります。同様に、:rerender
フラグもリクエストに含める必要があります。:rerender
フラグは、1 レベルの深さしかないことに注意してください。つまり、ネストされたコネクテッドコンテンツタグには適用されません。
コネクテッド・コンテンツの呼び出しにおけるリキッドテンプレート
パーソナライゼーションの場合、Braze は、ユーザープロファイルフィールドを取得した後でそのフィールドを Liquid に渡します。そのため、コネクテッドコンテンツからの応答にユーザープロファイルフィールドがある場合は、事前に定義する必要があります。
たとえば、これがコネクテッドコンテンツ呼び出しの場合は、次のようになります。
1
2
Hi ${first_name},
{% connected_content https://examplewebsite.com :rerender %}
コネクテッドコンテンツのレスポンスはYour language is ${language}
である。この例で表示されるコンテンツはHi Jon, your language is
である。
言語自体はテンプレート化されない。これは、Braze が、コネクテッドコンテンツ呼び出しを行う前に、ユーザーからどのフィールドを取得するかを知っている必要があるためです。
Liquid passback を正しくレンダリングするには、次のコードに示すように、リクエストのどこかに${language}
タグを含める必要がある。リキッドプリプロセッサは、”language”属性をユーザーから取得して、レスポンスをテンプレート化する準備を整えることができます。
1
"Hi ${first_name}, {% connected_content https://examplewebsite.com?language=${language} :rerender %}
:rerender
フラグは 1 レベルの深さしかないことに注意してください。コネクテッドコンテンツの応答自体にこれより多くのコネクテッドコンテンツタグまたはカタログタグがある場合、Braze はこれらの追加タグを再レンダリングしません。
ベストプラクティス
JSON 形式を壊す可能性がある Liquid タグでjson_escape
を使用してください
:rerender
を使う場合、JSON フォーマットを壊す可能性のある Liquid タグにはjson_escape
フィルターを加えます。もし、LiquidタグがJSONフォーマットを破る文字を含む場合、コネクテッドコンテンツのレスポンス全体がテキストとして解釈され、メッセージにテンプレート化され、変数は保存されない。
例えば、以下の例のmessage
イベントプロパティに、JSONフォーマットを壊す可能性のある文字が含まれている場合、この例のようにjson_escape
フィルターを追加する:
1
2
3
[{
"message":"{{event_properties.${message} | json_escape}}"
}]