Skip to main content
Sitecore Documentation
  • Learn
  • Downloads
  • Changelog
  • Roadmap
PersonalizeCloud Portal
Sitecore Personalize
        • セッション特性の定義、保存、およびアクセス
        • セッション特性の制限
        • セッション特性の作成
        • コード スニペット
        • セッション特性のテスト
        • セッション特性のアクティブ化
        • セッション特性の管理
        • セッション特性のステータス
        • セッション特性のトラブルシューティング
    • ゲストイベントの表示
    • テナント間でのエンティティのコピー
  • パーソナライゼーションでのクライアントサイドJavaScriptの使用
  • 用語集
  1. セッション特性
  1. Sitecore Personalize
  2. デベロッパーセンター
  3. セッション特性
  4. コード スニペット

コード スニペット

日本語翻訳に関する免責事項

このページの翻訳はAIによって自動的に行われました。可能な限り正確な翻訳を心掛けていますが、原文と異なる表現や解釈が含まれる場合があります。正確で公式な情報については、必ず英語の原文をご参照ください。

以下は、セッション特性のコードを書くための出発点として使用できるJavaScript関数のリストです。

トリガーセッション機能

この機能は、顧客のセッション特性の計算をトリガーした特定のセッションを特定するように設計されています。現在のセッション内のすべてのイベントを手動で検索して反復処理する代わりに、この関数を使用して、計算に関連するイベントに直接アクセスできます。セッション特性の計算を開始したイベントタイプの配列を返すことで、プロセスを簡素化します。

(function () { 
	return triggerSession.events.map(e => e.type);
})();

例えば、作成したセッション特性がVIEW、CLICK、SUBMITなどのイベントによってトリガーされる場合、関数は "VIEW", "CLICK", "SUBMIT"の値を含む配列を返します。

この関数は、トリガー セッションを特定する必要があるときはいつでも使用できるため、次のコード スニペットに示すように、効率的で汎用性の高いツールになります。

顧客のページビューをカウントする

この関数は、顧客のセッション内のページVIEWイベントの数をカウントします。 トリガー セッション機能を使用して、セッション イベントをループし、一致するVIEWイベントが見つかるたびにカウンターをインクリメントします。ループが完了すると、VIEWイベントの合計数が返されます。VIEWイベントが見つからない場合は、0.

(function () {
    var counter = 0;
    triggerSession.events.forEach((event) => {
        if (event.type == 'VIEW') {
            counter++;
        }
    });
    return counter;
})();

顧客が最後に閲覧したページを特定する

この機能は、顧客のセッションで記録されたイベントに基づいて、顧客が最後に表示したページを識別します。 トリガー・セッション機能を使用して、セッション・イベントをループして、一致するVIEWイベントを探します。一致するVIEWイベントが見つかった場合は、そのイベントに関連付けられたページが返されます。VIEWイベントが見つからない場合、この関数は文字列 "No VIEW Events"を返します。

(function () {
    triggerSession.events.forEach((event) => {
        if(event.type == 'VIEW') {
            return event.arbitraryData.page;
        }
    });
    return "No VIEW Events";
})();

顧客が利用規約ページを閲覧したかどうかを確認する

この機能は、すべての顧客セッションとイベントをチェックして、顧客が契約条件を表示したかどうかを判断します。使用条件がすでに同意され、ゲスト プロファイルに保存されている場合、この関数はすぐに文字列 "Yes"を返します。表示されていない場合、関数は トリガー セッション機能を使用してセッション イベントをループ処理し、顧客が契約条件ページを表すPOLICYページを表示したかどうかを確認します。一致するイベントが見つかった場合は、イベントオブジェクトを返します。一致するイベントが見つからない場合は、顧客が利用規約を表示していないことを示す文字列 "No"を返します。

(function () {
    // exit execution if value is set
    if(guest.traits && guest.traits.session &&
       guest.traits.session.terms_and_conditions &&
       guest.traits.session.terms_and_conditions.value == "Yes"){
        return "Yes";
    }

    let found = triggerSession.events.find((event) => event.type === 'VIEW' &&
       event.arbitrarydata.page === 'POLICY');
    
    console.log("Found: " + found);
    return found ? found : "No";
})();

顧客が特定のバナーを表示したかどうかを確認する

この機能は、顧客がセッション中に特定のバナーを表示したかどうかを確認します。 トリガー セッション機能を使用して、セッション イベントをループし、指定したバナー参照に一致するVIEWイベントを探します。一致するイベントが見つかった場合、この関数はバナーが表示されたことを示すtrueを返します。一致するイベントが見つからない場合は、falseを返します。

(function () {
    // Replace with the actual banner reference
    var bannerRef = "/banners/special-offer";

    triggerSession.events.forEach((event) => {
        if (event.type === 'VIEW' && event.arbitraryData.page === bannerRef) {
            return true;
        }
    });
    return false;
})();

顧客の好みを把握する

この機能は、セッションデータから顧客の好みをキャプチャして保存します。 userPreferencesオブジェクトをデフォルト値 (Tシャツ サイズやパンツ サイズの空の文字列など) で初期化します。次に、トリガー セッション機能を使用して、セッション イベントをループし、それに応じて設定を更新します。たとえば、Tシャツ サイズのページでCLICKイベントが見つかった場合、関数はtshirtSize値を更新します。最後に、ユーザー設定と連結された文字列を返します。

(function () {
    // Initialize an object to store user preferences with empty strings instead of null
    var userPreferences = {
        language: triggerSession.language,
        currency: triggerSession.currency,
        tshirtSize: "",
        pantsSize: ""
    };

    triggerSession.events.forEach((event) => {
        if (event.type === 'CLICK' && event.arbitraryData.page === 'tShirtSize') {
            userPreferences.tshirtSize = event.arbitraryData.value;
        }
        
        if (event.type === 'CLICK' && event.arbitraryData.page === 'pantsSize') {
            userPreferences.pantsSize = event.arbitraryData.value;
        }
    });

    // Log the final user preferences
    console.log('User preferences:');
    console.log('Language: ' + triggerSession.language);
    console.log('Currency: ' + triggerSession.currency);
    console.log('T-shirt size: ' + userPreferences.tshirtSize);
    console.log('Pants size: ' + userPreferences.pantsSize);

    // Return a concatenated string of the user preferences instead of an object
    return "Language: " + userPreferences.language +
           ", Currency: " + userPreferences.currency +
           ", T-shirt size: " + userPreferences.tshirtSize +
           ", Pants size: " + userPreferences.pantsSize;
})();
この記事を改善するための提案がある場合は、 お知らせください!

Documentation Assistant

This assistant uses AI to generate responses based on Sitecore documentation. While it has access to official sources, answers may be incomplete or inaccurate and should not be considered official advice or support.
Powered by
k
kapa.ai
Protected by reCAPTCHA

© Copyright 2026, Sitecore A/S or a Sitecore affiliated company.
All rights reserved.

Privacy policySitecore Trust CenterTerms of use