---
title: "条件要素"
slug: "condition-elements"
abstract: "カスタム条件を作成する際にJavaScriptで使える条件要素が含まれています。"
---
# 条件要素

始める前に、[パラメータの種類や](https://doc.sitecore.com/cdp/ja/users/sitecore-cdp/developer-center/conditions/create-a-custom-condition/types-of-parameters-for-conditions.html "Types of parameters for conditions")[条件のコンテキストパラメータ](https://doc.sitecore.com/cdp/ja/users/sitecore-cdp/developer-center/conditions/create-a-custom-condition/context-parameters-for-conditions.html "Context parameters for conditions")、[そしてサポートされていないJavaScript関数](https://doc.sitecore.com/cdp/ja/users/sitecore-cdp/developer-center/conditions/supported-and-unsupported-javascript-entities/unsupported-javascript-functions-and-alternatives.html "Unsupported JavaScript functions and alternatives")に慣れておくことを必ずしてください。条件内の変数を宣言するには、以下の構造を使いましょう:

let nameParam = \`parametername | type | value1 | {config1: value1, config2: value2 } \`;

以下の表には、使用できる条件要素の説明が含まれています。

要素

概要

必須

parameter\_name

マーケターが条件を追加する際に見るフィールドの名前。例:カート取引。

はい

type

マーケターが条件を使う際に入力する [入力の種類](https://doc.sitecore.com/cdp/ja/users/sitecore-cdp/developer-center/conditions/create-a-custom-condition/types-of-parameters-for-conditions.html) 。オプション:文字列、テキスト、数字、列挙。

はい

default\_value

パラメータ入力のデフォルト値です。

オプションですが、マーケターが選択できる変数を追加したい場合には必要です。

configuration

選択した type に関連する名前/値ペアを含むJSON設定オブジェクトです。

オプション

placeholder

入力欄に表示されるプレースホルダーテキストで、マーケターがここで求められる入力の種類を理解するのに役立ちます。

オプション

## 例1:サイト訪問者をタイプで識別する条件

この条件はサイト訪問者をタイプ(新規か再訪問か)で識別します。これは、訪問者に対して既に閉じたウェブセッションがあるかどうかを確認することで行われます。セッションが存在する場合、訪問者は "returning"に分類されます。セッションが存在しない場合は、訪問者は新規とみなされます。 userTypeパラメータは、条件をクリアするために訪問者が新規でなければならないか戻ってくる必要があるかをマーケターが選択できるようにします。

(function () {
    var userType = "type | enum(new, returning) | | { required: true, placeholder: type }";
    var expectedType = "WEB";
    var expectedStatus = "CLOSED";
    var isReturning = false;

    if (guest && guest.sessions && guest.sessions.length > 0) {
         for (var index = 0; index < guest.sessions.length; index++) {
             if (
                 guest.sessionsindex &&
                 expectedType === guest.sessionsindex.sessionType &&
                 expectedStatus === guest.sessionsindex.status
             ) {
                 isReturning = true;
                 break;
             }
         }
     }

    if (isReturning && userType === "returning") {
         return true;
     } else if (!isReturning && userType === "new") {
         return true;
     } else {
         return false;
     }
})();

## 例2:データ拡張で文字列の値を確認する条件

この条件は文字列比較を用いてデータ拡張内の特定の値をチェックします。訪問者に関連付けられたすべてのデータ拡張をループし、一致するフィールドと値を探します。条件は、指定されたフィールドの値が選択された演算子( \=== や !==など)で定義された値と一致すれば成立します。

(function () {
 for (var i = 0; i < guest.dataExtensions.length; i++) {
 if (guest.dataExtensionsi.name === " Data Extension Name | string"
 && guest.dataExtensionsi.values
 && guest.dataExtensionsi.values.Custom Field Name | string) {
 return guest.dataExtensionsi.values.Custom Field Name Operator | enum(===,!==) " Value | string ";
 }
 }
 return false;
})();

## 例3:データ拡張で数値をチェックする条件

この条件はデータ拡張の特定の数値をチェックします。前例の文字列マッチバージョンと似ていますが、\===、!==、<、<=、\>、\>=などの数値比較演算子をサポートしています。

(function () {
 for (var i = 0; i < guest.dataExtensions.length; i++) {
 if (guest.dataExtensionsi.name === " Data Extension Name | string"
 && guest.dataExtensionsi.values
 && guest.dataExtensionsi.values.Custom Field Name | string) {
 return guest.dataExtensionsi.values.Custom Field Name Operator | enum(===,!==,<,<=,>,>=)  Value | number ;
 }
 }
 return false;
})();