Qualtricsでは、「新しいアンケート回答エクスペリエンス」のロールアウトが始まっています。これまで通り、Qualtrics上でjsPsych v6/v8を動作させることは可能ですが、データ保存についてコード修正が必要になります。特に、setEmbeddedDataの挙動が変わっています。
目次
1. setEmbeddedDataではなく、setJSEmbeddedDataを使う
// これまで
Qualtrics.SurveyEngine.setEmbeddedData("datajs", datajs);
// これから
Qualtrics.SurveyEngine.setJSEmbeddedData("datajs", datajs);
新しいアンケート回答エクスペリエンスでは、仕様変更に伴い、埋め込みデータへの保存にsetEmbeddedDataではなく、setJSEmbeddedDataを利用する必要があります。
ちなみに、旧アンケート回答エクスペリエンスでは、setEmbeddedDataもsetJSEmbeddedDataもどちらも利用可能です。
2. 埋め込みデータの設定方法も変更
また、埋め込みデータについても変更が必要です。これまでは、”datajs”のように埋め込みたい変数を書くだけで良かったのですが、JavaScriptからデータを保存するには”__js_datajs”のようにする必要があります。
注意点:20KB制限 / データ保存がシビアに
| 新 | 旧 | |
|---|---|---|
| 19KB | ◯ | ◯ |
| 20KB | ◯ | ◯ |
| 30KB | × | ◯ |
| 40KB | × | ◯ |
| 50KB | × | ◯ |
無意味な文字列をJavaScriptで生成し、新しいsetJSEmbeddedDataで埋め込みデータに保存するということを試してみました。新アンケート回答エクスペリエンスでは、1回の保存サイズが20KBを超えると、エラーが表示され、調査を続行できなくなります。旧アンケート回答エクスペリエンスでは50KBの文字列でも問題なく保存できるようになりました。
jsPsychのデータを分割して埋め込みデータに保存する
「jsPsychのデータを自動で分割してQualtricsに保存する」では、jsPsychのデータを分割して保存する方法を紹介しています。大きなデータになりそうな実験の場合は、こちらも参照してください。
「新しいアンケート回答エクスペリエンス」はOFFにもできる
新しいアンケート回答エクスペリエンスは、OFFにすることもできます。そのうち新しいアンケート回答エクスペリエンスに移り変わっていくとは思いますが、緊急性が高い場合はOFFにして、その場を凌ぐこともできます。
jsPsychをQualtricsで使いたいユーザーは、「新アンケート回答エクスペリエンス」をOFFにすることを推奨します。

