oTreeからQualtricsに参加者IDを引き継ぐ方法:参加者データの紐づけ

oTreeからQualtricsに参加者IDを引き継ぐ方法:参加者データの紐づけ

今回は、oTreeからQualtricsへの参加者IDの引き継ぎを紹介します。

QualtricsからoTreeに参加者IDを引き継ぐ方法:参加者データの紐づけ
実験や調査をする際に、参加者にQualtricsで作成した質問紙に回答してもらい、その後oTreeで集団実験を行うことがあると思います。その際に問題になるのが、…
kscscr.com

QualtricsからoTreeへの参加者IDの引き継ぎについては、こちらを御覧ください。

1. Qualtricsでの設定:埋め込みデータの設定と調査票公開

Qualtrics 埋め込みデータ
まず、Qualtrics上で、oTreeから送られてきたクエリを取得する準備を行います。「アンケートフロー」から「埋め込みデータを設定」を選択します。そして、oTreeから送られてくる参加者IDを保存するための列を設定し(今回は”participantid”)、「フィールドに入れる値を設定」は触らず放置します。

また、埋め込みデータの設定は、アンケートフローの一番上に設定しておきましょう。

これらの設定が完了したら、調査票を公開し、リンクを取得します。今回は、ここで、”https://hogehoge.qualtrics.com/jfe/form/hogehogedayo?”というリンクが取得できたとします。

2. oTreeでの設定:リダイレクト処理をする

from otree.api import *
class C(BaseConstants):
    NAME_IN_URL = 'redirect'
    PLAYERS_PER_GROUP = None

class Subsession(BaseSubsession):
    pass

class Group(BaseGroup):
    pass

class Player(BasePlayer):
    pass

# PAGES
class Redirect(Page):
    pass
 
page_sequence = [Redirect]

oTreeでは、リダイレクト処理を行います。今回は、リダイレクト用のアプリケーションを設定します。Redirectアプリを作成し、oTreeのコアとなる__init__.pyにはほとんど書くことはありません。PAGESの設定で、Redirectページを表示する様にするだけです。

3.リダイレクトURLの作成

ここで、一度oTreeから離れ、Qualtricsへのクエリ情報の受け渡しと、oTreeから参加者IDの取得について説明します。

Qualtricsは、調査表のURLにオプションを付けることで、「クエリ文字列を使用した情報の受け渡し」が可能です。簡単にいえば、”https://hogehoge.com”といったリンクがある場合、リンクの後ろに”?city=Tokyo”を付けて、”https://hogehoge.com?city=Tokyo”とすると、”Tokyo”という文字列をデータとして受け付けます。ここで、?は重要なので忘れない様にしましょう。

また、oTreeでは、参加者IDは”participant.code”という形で保存されており、これをHTMLに表示するには、”{{ participant.code }}”と書きます。

https://hogehoge.qualtrics.com/jfe/form/hogehogedayo?participantid={{ participant.code }}

これらの「クエリ文字列を使用した情報の受け渡し」と”{{ participant.code }}”を使ってリダイレクトURLを作成します。QualtricsのURLは、”https://hogehoge.qualtrics.com/jfe/form/hogehogedayo”でした。また、埋め込みデータは”participantid”とし、oTreeでの参加者IDは”{{ participant.code }}”です。あとは、”?”を入れるのを忘れずにURLを構成すると上の通りになります。

4. oTreeでページ作成とリダイレクト処理

<meta http-equiv="refresh" content="○; url='https://hogehoge.qualtrics.com/jfe/form/hogehogedayo?participantid={{ participant.code }}">

    <p>3秒後に、次のページへ移動します。</br>ページが遷移しない場合、次のリンクをクリックしてください。<a href="https://hogehoge.qualtrics.com/jfe/form/hogehogedayo?participantid={{ participant.code }}">https://hogehoge.qualtrics.com/jfe/form/hogehogedayo?participantid={{ participant.code }}</a>になります。
    </p>

oTreeにRedirect.htmlを設定し、{{ block content }}{{ end block }}の間にリダイレクト処理を設定していきます。

リダイレクト部分は、”meta http-equiv=”refresh” content=”○;….”になります。contentの?を3や5などの数字に変えると、その分の秒数だけ、待ちが発生します。

あとは、もしページが遷移しなかったときのことを踏まえて、URLを表示しておけば完成です。このアプリをsetting.pyでapp_sequenceの最後にでも含めれば、oTreeからQualtricsに自動的に遷移します。

参考にしたサイト

クエリ文字列について クエリ文字列を使用すると、URLの最後にその情報を追加または「付加」するだけで、ウェブサイトに情報を渡したり、ウェブサイトからの情報を受け…
www.qualtrics.com
とても簡単なコードでのリダイレクト設定方法を解説します!htmlサンプルコードも載せているので誰でも簡単に設定することができますよ!
jurassic-design.com