ランディングページのパーソナライズ
ランディングページでLiquidパーソナライゼーションを使用すると、ユーザープロファイルデータに基づいてコンテンツを動的にカスタマイズできます。たとえば、複数の静的ランディングページを管理することなく、さまざまなユーザー属性に基づいて見出しをパーソナライズできます。

ランディングページのLiquidパーソナライゼーションは、ランディングページのProティアでのみ利用可能です。現在、コネクテッドコンテンツ、多言語、およびプロモーションコードは、ランディングページのLiquidパーソナライゼーションではサポートされていません。
Liquidの挿入
ドラッグ&ドロップエディターでは、エディター内および右側パネルのページまたはブロック設定の両方でLiquidパーソナライゼーションを挿入できます。Liquidの実装手順については、専用のLiquidドキュメントをご確認ください。

プレビューとテスト
エディターでランディングページをプレビューする際、ランダムユーザー、既存ユーザー、またはカスタムユーザーとしてページを表示できます。
ただし、データテーブルまたはランディングページの詳細ページからランディングページをプレビューする場合は、ランダムユーザーとしてのみ表示できます。
パーソナライゼーションに関する考慮事項
パーソナライズされたランディングページで最適なパフォーマンスを維持するために、以下のサイズ制限にご注意ください。
- ランディングページの保存: サイズが500 KBを超えると、ページがサイズ制限を超えたことを示す警告メッセージが表示される場合があり、公開できなくなる可能性があります。
- Liquidパーソナライゼーションによるレンダリング: 合計サイズは1 MBを超えてはなりません。超えた場合、Brazeによってページが自動的に非公開になる可能性があります。
ランディングページの非公開を回避する
ページがこれらのサイズ制限を超えた場合、制限を超え続けると非公開になる可能性があることを通知するメールが届きます。しきい値に達すると、ページは自動的に非公開になり、通知が届きます。
ページがサイズ制限を超えたり、読み込み時間が遅くなったりするのを防ぐために、以下のようなLiquidパーソナライゼーションを使用してください。
- 大規模なデータセットを継続的にループしたり参照したりしないこと。
- Liquidブロック内で広範な数学的処理や条件ロジックに依存しないこと。
さらに、大きなスクリプト、スタイルシート、base64エンコードされたアセットをランディングページのコードに直接埋め込むことは避けてください。これらのインラインアセットはページサイズ制限にカウントされ、レンダリングを遅くする可能性があります。代わりに、フォント、画像、スタイルシート、スクリプトをメディアライブラリにアップロードしてください。メディアライブラリから配信されるアセットはBrazeのCDNでホストされるため、Liquidレンダリングの処理対象にならず、ページサイズ制限にカウントされません。
識別済みユーザーと匿名ユーザーに対するLiquidの使用
Liquidは、識別済みの訪問者と匿名の訪問者の両方に対してランディングページの体験をカスタマイズできます。
- 識別済みユーザー: Brazeメッセージからランディングページにリンクし、ランディングページのLiquidタグを含めます。これにより、ユーザーがBrazeプロファイルに関連付けられ、ページ体験がパーソナライズされます。
- 匿名の訪問者: ランダムな数値や時間帯に応じた挨拶など、文脈に応じたプロファイルに基づかないコンテンツにLiquidを使用します。
カスタムコードによる外部データの取得
カスタムコードブロックを使用して、外部エンドポイントからデータを取得し、ランディングページに表示できます。このアプローチではクライアント側(ユーザーのブラウザ)でリクエストを行うため、サーバー側のレンダリング遅延なしにページが素早く読み込まれます。

外部データを取得する場合、実装のセキュリティはお客様の責任となります。API呼び出しで使用される外部識別子はUUIDであるか、同等に安全な命名スキームを使用する必要があります。ユーザーIDの命名に関するベストプラクティスを参照してください。
ユースケース
このパターンは、Brazeに保存されていないユーザー固有のデータを表示する必要がある場合に便利です。例としては、リアルタイムの在庫情報、パーソナライズされたおすすめ、または組織が別のシステムで管理しているその他のデータなどがあります。
実装例
この例では、外部APIからユーザーデータを取得する方法を示します。APIエンドポイントをご自身の安全なエンドポイントに置き換え、安全な識別子を使用してください。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
<script>
window.onload = () => {
// Use Liquid to template the user's external ID
const userId = "{{${user_id}}}";
const loadUserData = async () => {
try {
// Replace with your own secure API endpoint
const response = await fetch(`https://your-api.example.com/user/${userId}`);
if (!response.ok) {
throw new Error('Failed to load data');
}
const data = await response.json();
// Update the page with the fetched data
document.querySelector("#user-data").textContent = JSON.stringify(data, null, 2);
document.querySelector("#user-name").textContent = data.name || "User";
} catch (error) {
// Handle errors gracefully
document.querySelector("#user-data").textContent = "Unable to load data at this time.";
}
};
loadUserData();
};
</script>
<!-- Display area for fetched data -->
<p>Welcome, <span id="user-name">Loading...</span></p>
<pre id="user-data">Loading your information...</pre>
考慮事項
ランディングページで外部データを取得する際は、以下の点にご注意ください。
- 読み込み状態: エンドポイントが応答するまで、ユーザーにはプレースホルダーテキストが表示されます。ローディングインジケーターやスケルトンスクリーンの追加を検討してください。
- エラーハンドリング: エンドポイントが失敗したり応答が遅い場合、ページが壊れて見える可能性があります。適切なエラーメッセージとフォールバックを実装してください。
- パフォーマンス: ページはすぐに読み込まれますが、データは外部リクエストの完了後に表示されます。最適なユーザー体験のために、APIレスポンスを高速に保ってください。
- セキュリティ: APIエンドポイントが識別子を検証し、ユーザーが閲覧を許可されたデータのみを返すようにしてください。不正利用を防ぐためにレート制限を実装してください。安全な識別子の選択に関するガイダンスについては、ユーザーIDの命名に関するベストプラクティスを参照してください。
フォールバックページ
ユーザーが非公開になったページにアクセスしようとすると、ページが現在読み込めないことを示すメッセージが表示されます。ページが非公開になる理由には以下が含まれます。
- 複雑または壊れたLiquidにより、レンダリング時間が長くなる
- ユーザーのネットワークの問題
- ランディングページの最大サイズ制限の超過