Response Times | XM Community
Skip to main content

Hello,

I'm looking over our first sample data from our pilot survey, and I have a few questions regarding response times. We have a survey with many different pages, and a timing element on each page. The timing element tells us number of clicks, time to first click, time to last click, and time to submit. We also get an overall "survey time" variable on export. As it turns out, there is a large discrepancy sometimes between the sum of all the page time to submits and hte overall survey time. Can anyone explain why this might be, and also maybe exactly how each of these response times are calculated.

Thank you,
-Jeff

I can't comment on your second question, but the first one is simply because there is no counting of the time spent between pages. The time recorded in the question is the time spent on the page (I don't know when this starts, and that's why I can't answer the second question) to the time the next button is clicked.
If you are doing time sensitive experiments/surveys, I suggest not using the default timers as a reference. I would recommend hiding all the questions using CSS :

Then, once all the questions have loaded, use JS to show them and record the time using Date.now(). This will allow atleast millisecond level accuracy for how long the questions have been displayed.
You can see this implementation that I did for recording the image response time.



Hi JeffD -- ahmedA 's advice is good, and as to the second part of your question, that discrepancy might be due to your users keeping their browser window open for far longer than it actually takes them to complete the survey, which may be why you see that discrepancy.


Thanks for the information! ahmedA Can you share a short sample of your code for this?
I don't think I want to gate responses by having my participants press a key before each page is shown, but I would guess I could put the JavaScript to show the page in the "on ready" script block. Or am I wrong about that?


Sure, you can use this code to keep track of the duration:
Qualtrics.SurveyEngine.addOnReady(function () {
    document.querySelectorAll("rid^=QID]:not(.Separator)").forEach((ques, index) => {
        ques.style.display = "block";
    });
    let time_display = Date.now();
    document.querySelector("#NextButton").onclick = function () {
        Qualtrics.SurveyEngine.setEmbeddedData("time_submit", time_display - Date.now());
    };
});


Thanks a lot!


Leave a Reply