特定のPOSに関係したイベントにのみトリガー体験が起動するようにリアルタイムオーディエンスを使用する

samatsu 3/30/2023 409 N/A CDPP

Sitecore Personalizeでトリガー体験を作成することで、Sitecore Personalizeのプラットフォームで発生した特定のイベントをトリガーとして体験を起動することができます。このとき、カート放棄セッションをトリガーとしてトリガー体験を起動すると、無関係なPOS(Point of Sale)でのセッションでもトリガー体験をが起動されてします。

今回は、特定のPOSに関係したイベントにのみトリガー体験が起動するようにリアルタイムオーディエンスを使用します。 

早速ですが、スニペットは次の通りです。POSの名前はパラメーターにしているので、利用時に各自のPOSの名前を入力して使ってください。アイデアとしては、entity.ref プロパティにトリガー体験を起動する原因となったセッションの参照情報が格納されているので、その内容とguestのセッションを比較して該当するセッションを見つけて、POSをチェックしています。

(function () {
  let pos =`[[POS | string]]`;
  let sessionRef;
  if (typeof entity !== 'undefined' && entity && entity.ref !== 'undefined') {
    sessionRef = entity.ref;
  }else{
    return false;
  }

  for (let i = 0; i < guest.sessions.length; i++) {
    let session = guest.sessions[i];
    if (session.ref === sessionRef) {
      return session.pointOfSale == pos;
    }
  }
  return false;
})();

簡単な動作確認を行って動いているようなので、本記事で紹介しました。