カスタムスクリプトによる詳細な条件処理の設定
カスタムスクリプトとは?
Zoho Surveyのカスタムスクリプトとは、アンケートのページや質問を表示/スキップする条件を詳細に設定するために記述するスクリプト(コード)です。スクリプトの内容は、WebサイトやWebアプリケーションで一般的に使用されるJavaScript、またはZoho独自の言語であるDelugeのいずれかを用いて記述できます。スクリプトを用いることで、ページや質問の表示条件を柔軟に設定することが可能です。回答内容にあわせて次に表示するページや質問を変更できます。
たとえば、「車を所有していますか?」という質問に対して回答者が、「いいえ」と答えた場合、次の質問を車以外に関連したものにすることができます。同様に、「はい」と答えた場合、車に関連する質問を表示できます。
このように、スクリプトを使用すると、回答内容に合わせて次の質問を変えることができるため、すべての回答者に最後まで関心を持ち続けてもらうことができます。これにより、回答率を高めることが可能です。
利用可能なプラン
カスタムスクリプトの機能は、プロプラン以上のユーザーが利用可能です。
利用例
回答に合わせて次の質問を表示する
カスタムスクリプトを用いることで、回答に関連する質問のみを表示できるように設定できます。たとえば、好きな車の色について聞きたいとしますが、まずは、車に興味があるかどうかだけを尋ねるとします。カスタムスクリプトを使用することで、車に興味があるかどうかを尋ねる質問に「いいえ」と回答した場合に次の質問を自動でスキップするよう設定できます。車に興味がない人にとって、車のことについて次々と質問が続くと、アンケートの回答を続けたくなくなってしまいます。そうならないよう、回答者の関心に合った質問のみを表示するように設定できます。
アンケートに同じ質問を表示する
長いアンケートを回答者に依頼すると、適切に回答してもらえず、適当な回答を入力される可能性が高まります。このような場合に、回答が適切にされたものかどうか確かめるのに、カスタムスクリプトが役立ちます。たとえば、アンケートの最初のページで「使っているアプリは何ですか?」という質問をして、次のページの中でも同じ質問をするように処理を設定することができます。同じ質問に対して同じ回答が入力されているかどうかを確認することで、適切に回答したものかどうかを把握できます。別の回答が入力されている場合、回答の信頼性が低いと判断する参考にできます。
特定の回答に基づいてメールを送信する
カスタムスクリプトを使用すると、特定の回答に基づいてメールを送信することができます。誰かが特定の回答をしたときに、その回答に関連するトピックや、関連する商品/サービスのリンクなどの情報を含むメールが自動で送信されるように設定できます。回答内容に応じてメールを自動送信することが可能になります。
カスタムスクリプトを使用する際のポイント
- カスタムスクリプトを使用すると、質問の回答に基づいて次の質問の表示/非表示を切り替えたり、ページをスキップしたりすることができます。なお、アンケートで使用できるスクリプト(JavaScriptまたはDelugeのコード)の構文や関数は、基本的なもののみです。
- スクリプトでは、JavaScriptで標準的に使用される関数のいくつかと同等の関数を使用できます。ただし、使用できる関数は特定のもののみです。使用可能な関数は次の通りです: isNaN、isFinite、parseFloat、parseInt、Math、createDate。
たとえば、JavaScriptにおけるDate()に相当する関数を使用したい場合、application.createDate()と記述します。
- JavaScriptにおいて変数を使用する場合、必ず変数を宣言する必要があります。具体的には、変数名の前に、「var」、「let」、「const」のいずれかのキーワードを使用する必要があります。
- JavaScriptを用いて指定した条件が無効であるか、読み込みに時間がかかる場合、条件の結果は、偽(false)となります。
- セキュリティを確保するため、すべての回答データの種類は文字列として扱われます。数値のデータも文字列として扱われるため、回答を整数として利用する場合は、「parseInt」関数を使用して文字列から整数に変換する必要があります。これは、[スライダー]や[数字]などの数値を回答とする質問の種類を設定する際、非常に重要です。これらの回答の数値が条件や計算に使用される可能性があるためです。
- 使用できないカスタムスクリプトを使用すると、エラーとして識別され、条件は保存されません。
次の語句(システムのキーワード)は使用できません。
JavaScript
Deluge
sendmail
| posttochat
| zoho
| integration
|
- アンケートが多言語対応になっている場合、アンケート内の条件を有効にするには、対象の言語コードを指定する必要があります。たとえば、日本語の場合は、「ja」と指定する必要があります。
- スクリプトで日付と時刻の種類の条件を設定する場合、アンケートの質問で使用したのと同じ日付形式を使用する必要があります。
- 質問やページに追加した条件による結果は、テストを実行して確認できます。テストを実行するには、スクリプト入力後に[サンプルデータでテストする]をクリックします。クリックすると、サンプルデータの生成処理を開始できます。その後、[実行する]ボタンをクリックすると、生成されたサンプルデータが表示されます。必要に応じてスクリプトをさらに追加し、サンプルデータを再生成できます。また、テストしたい回数だけサンプルデータを変更することもできます。
- サンプルデータを変えることで、どのような回答が入力された場合に、条件文(スクリプト)の結果がどうなるかを確認できます。スクリプトの入力欄に記載した条件文(スクリプト)が、意図したとおりに動くかどうかを確認することが可能です。
- カスタムスクリプトの条件には、URLのパラメーターを使用することができます。その場合、[ ](半角の角かっこ)内にパラメーターの名前を指定する必要があります(凡例:application.survey.urlparam["パラメーター名"])。
- カスタムスクリプトの構文は正しく記述してください。JavaScriptの場合、各行の内容は基本的にセミコロン「;」で終わる必要があります。また、「if」で始まる条件文において処理内容を記述する場合は中かっこ「{}」内に記述する必要があります。正しく記述しなかった場合、エラーになります。
JavaScriptのコードの例:
以下の構文では、if構文を使用してかんたんな条件を設定しています。
var rating = application.survey.question.C.response + application.survey.question.D.response;
if (application.survey.question.A.response == "はい" || application.survey.question.B.response == 2)
{
return true;
}
else if (rating > 10)
{
return true;
Delugeのコードの例:
以下の構文では、if構文を使用してかんたんな条件を設定しています。
以下の設定内容では、回答が「はい」だった場合に、条件の判定結果を表す値として真(true)が出力されます。これにより、設定した内容が実行されます。
if(application.get('survey').get('question').get('C').get('response') == 'はい' )
{
return true;
}
Delugeスクリプトに関する詳細については、こちらをご参照ください。スクリプトにおいて使用可能な関数は、 テキスト、日時、数値の種類の関数、および共通関数の一部のみです。
- JavaScriptのコードを使用した条件の設定は、質問の表示条件、ページのスキップ条件、アンケート完了のページの表示条件、回答時のメール送信の条件に設定することができます。
- なお、アンケート完了のページと回答時のメール送信における条件の設定には、Delugeのコードを使用することもできます。
質問の表示条件
質問に表示条件を設定するには
- 条件を設定する質問にカーソルを合わせて、(その他)アイコンをクリックします。
- [表示条件]をクリックします。または、質問をクリックして、画面上部の[表示条件]タブを選択しても同じ画面が表示されます。
- 質問を表示するか隠すかを選択します。
- この質問を常に表示する
- この質問を常に隠す
- 特定の条件を満たす場合にのみ、この質問を表示する
- 特定の条件を満たす場合にのみ、この質問を隠す
- [特定の条件を満たす場合にのみ、この質問を表示する]または[特定の条件を満たす場合にのみ、この質問を隠す]を選択すると、[条件]欄が表示されます。
- 条件の設定欄に移動します。
- 条件に使用する質問を選択します。または、スクリプト(コード)を用いて条件の詳細を設定する場合、[JavaScriptのコード]を選択します。
[JavaScriptのコード]を選択した場合、質問の表示条件を設定するためのスクリプトの入力欄が表示されます。
- 入力欄にスクリプトの内容を記述し、条件を設定します。
- 複数の条件を設定するには、[+]をクリックします。
メモ: 3件以上の複数の条件を設定した場合の優先順位は必要に応じて変更できます。変更するには、3件以上の条件を設定した場合に表示される[条件パターン]欄の[編集する]をクリックして、かっこの位置を調整します。
|
- 条件を削除するには、[×]をクリックします。
- 複数の条件を設定する場合、質問を表示する条件に合わせて[かつ]/[または]を設定します(クリックすると切り替わります)。設定の完了後、[保存する]をクリックします。
回答の選択肢/コメント欄の表示条件
選択肢/コメント欄に表示条件を設定するには
- 条件を適用する質問をクリックして、画面上部の[選択肢/コメント欄の表示条件]タブを選択します。または、質問にカーソルを合わせて、処理アイコン→[表示条件]→[選択肢/コメント欄の表示条件]タブをクリックします。
- [条件処理を追加する]をクリックします。
- 一覧から表示/非表示の条件を選択します。
- [特定の条件が満たされた場合にのみ、対象の選択肢を表示する]または[特定の条件が満たされた場合にのみ、対象の選択肢を隠す]を選択すると、[条件]欄が表示されます。
- [選択肢を選択]をクリックして、条件が満たされた場合に表示する選択肢または隠す選択肢を選択します。
- 条件を設定します。
- [条件]一覧から条件を適用する質問を選択します。または、スクリプト(コード)を用いて条件の詳細を設定するする場合、[JavaScriptのコード]を選択します。
[JavaScriptのコード]を選択した場合、回答の選択肢/コメント欄の表示条件を設定するためのスクリプトの入力欄が表示されます。
- 入力欄にスクリプトの内容を記述し、条件を設定します。
- 複数の条件を設定するには、[+]をクリックします。
- 条件を削除するには、[×]をクリックします。
- 複数の条件を設定する場合、質問を表示する条件に合わせて[かつ]/[または]を設定します(クリックすると切り替わります)。
- 設定の完了後、[保存する]をクリックします。
ページのスキップ条件
ページのスキップ条件を設定するには
アンケート編集画面において、ページ名の見出しの右側に表示されている[条件処理]をクリックします。
- [ページのスキップ条件]をクリックします。
- [条件を追加する] をクリックします。
- 条件に使用する質問を選択します。スクリプト(コード)を用いて条件の詳細を設定する場合、[JavaScriptのコード]を選択します。[JavaScriptのコード]を選択した場合、ページのスキップ条件を設定するためのスクリプトの入力欄が表示されます。
- 入力欄にスクリプトの内容を記述し、条件を設定します。
- なお、[変数を挿入する]をクリックすると、使用可能な変数や関数の一覧が表示され、選択すると挿入できます。
- [移動先]の欄で、回答が条件に一致した際に移動するページを選択します。移動先には、[アンケート完了のページ]または[アンケート対象外のページ]を選択できます。回答が条件に一致しない場合は、もともとの表示順に応じてページや質問が表示されます。
- 複数の条件を設定するには、[+]をクリックします。
メモ:3件以上の複数の条件を設定した場合の優先順位は必要に応じて変更できます。変更するには、3件以上の条件を設定した場合に表示される[条件パターン]欄の[編集する]をクリックして、かっこの位置を調整します。
- 複数の条件を設定する場合、質問を表示する条件に合わせて[かつ]/[または]を設定します(クリックすると切り替わります)。
- 現在のページで回答が終了した後に次のページを表示したい場合は、標準の表示順の設定において、[次のページに移動する(初期設定)]を選択します。
- 特定のページに移動するのではなく、アンケートの回答を完了させたい場合は、[アンケート完了のページ]を選択します。
- アンケート対象外のページを表示する場合は、[アンケート対象外のページ]を選択します。
- [保存する]をクリックします。
自動メールの送信条件
特定の条件に合致する回答をした回答者に対して自動的にメールを送信するには
- [連携]タブ→[自動処理]に移動します。
- [メール送信]欄の[作成する]をクリックします。
- [条件を追加する]をクリックします。
- メールの送信条件は、次から選択できます。
質問:特定の質問への回答に応じてメールを送信します。
回答:回答の種類(完了済み/対象外/回答上限の超過)に応じて、回答者にメールを送信します。
- カスタムスクリプト:メールを送信する条件をスクリプト(コード)で設定します。入力欄に、条件を表す内容を記述します。
- 複数の条件を設定するには、[+]をクリックします。
メモ: 3件以上の複数の条件を設定した場合の優先順位は必要に応じて変更できます。変更するには、3件以上の条件を設定した場合に表示される[条件パターン]欄の[編集する]をクリックして、かっこの位置を調整します。
|
- 条件一覧から[Delugeのコード]または[JavaScriptのコード]を選択します。
- なお、[変数を挿入する]をクリックすると、使用可能な変数や関数の一覧が表示され、選択すると挿入できます。
- 入力欄にスクリプトの内容(メールの送信条件)を記述し、条件を設定します。条件は、複数設定することも可能です。
- [保存する]をクリックします。
アンケート完了のページを表示する条件
- アンケート完了のページを表示する条件処理は、以下の手順で追加できます。
- [設定]タブ→[アンケート完了のページ]に移動します。
- [条件処理を追加する]をクリックします。
- 条件の詳細を設定します。
- スクリプト(コード)を用いて条件の詳細を設定する場合、[Delugeのコード]または[JavaScriptのコード]を選択します。スクリプトの入力欄が表示されます。入力欄にスクリプトの内容を記述し、条件を設定します。
- 条件を削除するには、[×]をクリックします。
- 複数の条件を設定する場合、完了ページを表示する条件に合わせて[かつ]/[または]を設定します(クリックすると切り替わります)。
- [保存する]をクリックします。