Skip to content

コネクテッドコンテンツ呼び出しでのユーザープロファイルデータの取得

このページでは、コネクテッドコンテンツ呼び出しにユーザープロファイルを取り込む方法と、Liquidテンプレートに関するベストプラクティスについて説明します。

前提条件

コネクテッドコンテンツの応答にユーザープロファイルフィールド(Liquidパーソナライゼーションタグ内)が含まれている場合、Liquidのパスバックを正しくレンダリングするために、これらの値はコネクテッドコンテンツ呼び出しの前に、メッセージ内でLiquidを使用してあらかじめ定義しておく必要があります。同様に、リクエストには:rerenderフラグを含める必要があります。:rerenderフラグは1階層のみ有効であり、ネストされたコネクテッドコンテンツタグには適用されないことに注意してください。

コネクテッドコンテンツ呼び出しでのLiquidテンプレート

パーソナライゼーションでは、Brazeはユーザープロファイルフィールドを取得してからLiquidに渡します。そのため、コネクテッドコンテンツからの応答にユーザープロファイルフィールドが含まれている場合は、事前に定義しておく必要があります。

例えば、以下のようなコネクテッドコンテンツ呼び出しがあるとします。

1
2
Hi ${first_name},
{% connected_content https://examplewebsite.com :rerender %}

コネクテッドコンテンツの応答が Your language is ${language} の場合、この例で表示されるコンテンツはHi Jon, your language isとなります。

言語自体はテンプレート化されません。これは、Brazeがコネクテッドコンテンツ呼び出しを行う前に、ユーザーからどのフィールドを取得するかを把握しておく必要があるためです。

Liquidのパスバックを正しくレンダリングするには、以下のコードスニペットに示すように、リクエストのどこかに ${language} タグを含める必要があります。Liquidプリプロセッサーは、応答のテンプレート化に備えて、ユーザーから「language」属性を取得することを認識します。

Hi ${first_name}, {% connected_content https://examplewebsite.com?language=${language} :rerender %}

ベストプラクティス

JSON形式を壊す可能性のあるLiquidタグにはjson_escapeを使用する

:rerenderを使用する場合、JSON形式を壊す可能性のあるLiquidタグにはjson_escapeフィルターを追加してください。LiquidタグにJSON形式を壊す文字が含まれていると、コネクテッドコンテンツの応答全体がテキストとして解釈されてメッセージにテンプレート化され、変数は一切保存されません。

例えば、以下の例でmessageイベントプロパティにJSON形式を壊す可能性のある文字が含まれている場合、この例のようにjson_escapeフィルターを追加します。

[{
"message":"{{event_properties.${message} | json_escape}}"
}]
New Stuff!