Cookie によるパーソナライズ

このチュートリアルでは、サーバー側の Cookie を使用してパーソナライゼーションを行う方法を学習します。たとえば、新規買い物客にはウェルカムオファーバナーを、リピート買い物客にはプロモーションオファーバナーを表示するなど、買い物客が新規か再訪問かによって異なるコンテンツを表示できます。

変更を本番環境にデプロイする前に、非本番環境で手順をテストすることをお勧めします。

このチュートリアルのコマンドを実行する前に、プレースホルダーを実際の値に置き換えてください。プレースホルダーは $PLACEHOLDER の形式になっています。

このチュートリアルを完了するには、まず次の操作を行う必要があります。

  • PWA Kit バージョン 3.1.0 以降を使用します。

  • ローカルマシンで、次のいずれかの手順を実行して、サーバー側の Cookie を有効にします。

    • 環境変数 MRT_ALLOW_COOKIES=true を設定します。

      または

    • ssr.jsruntime.CreateHandler のオプションに localAllowCookies渡します。

  • 目的の環境で、Managed Runtime (MRT) API または Runtime Admin を使用してサーバー側の Cookie を有効にします。

  • app/pages/home/index.jsx で、新規買い物客とリピート買い物客向けに選択したコンテンツを作成します。または、さまざまなカテゴリの買い物客に適用する別のコンテンツを作成します。

  1. 次の JavaScript コードをプロジェクトのホームページファイル app/pages/home/index.jsx に追加します。
  1. バンドルをデプロイします。
  • さまざまなブラウザーやデバイスで Cookie の機能を徹底的にテストします。
  • サーバー側の Cookie に個人情報を保存する前に、必ず買い物客の同意を得てください。
  • パーソナライゼーションのためのアプローチが、EU 一般データ保護規則 (GDPR) やカリフォルニア州消費者プライバシー法 (CCPA) などの関連するデータプライバシー規制に準拠していることを確認します。
  • パーソナライゼーションがさまざまな買い物客セグメントに与える影響を慎重に評価し、意図しない結果を回避します。
  • クライアント側の JavaScript アクセスを防止する HttpOnly フラグや、HTTPS 接続の Secure フラグなど、適切なセキュリティ属性を Cookie に設定します。
  • 必要に応じて、妥当な有効期限を Cookie に設定します。isNewShopper には、長い有効期限が適しています。たとえば、1 年です。

このセクションでは、サーバー側の Cookie の使用中に発生する可能性のある一般的なエラーに対して推奨される解決策を示します。

サーバー側の Cookie を含むコードをデプロイした後で、期待したサイト動作が得られませんでした。

原因: サーバー側の Cookie を有効にしていません。

推奨される解決策: 前提条件の説明に従って、サーバー側の Cookie を有効にします。

ユーザーセッションまたは環境設定に中断があります。

原因: Cookie の有効期限が切れたか、途中で削除されました。

推奨される解決策:

  • Cookie の有効期限設定を確認し、必要に応じて調整して、目的のセッションまたは永続性の要件に合わせます。
  • 期限切れまたは削除された Cookie を適切に検出して処理するメカニズムを実装します。たとえば、買い物客を再度認証したり、環境設定を再度行うように促したりするなどです。
  • 買い物客のフィードバックと行動をモニタリングして、Cookie の期限切れや削除に関連するパターンや問題を特定し、プロアクティブに対処します。

Cookie は、サイトのページやコンポーネントによって動作が異なることがあり、買い物客の体験に一貫性がなくなることがあります。

原因: Cookie 関連のロジックに一貫性がない、または分散化されています。

推奨される解決策:

  • Cookie の設定や読み取りなど、Cookie 関連のロジックが、関連するすべてのページとコンポーネントに一貫して適用されるようにします。
  • アプリケーションのフローを確認して、Cookie の処理方法に矛盾や不整合がないか確認します。
  • 統一された動作を保証するために、Cookie 関連のロジックを一元化するか、Cookie を管理するための専用ライブラリまたはミドルウェアの使用を検討してください。