0 votes
in FAQs by s216103 (120 points)
edited by SoSci Survey

Dear SoSci Survey Team,

I am conducting a study with two measurement points four weeks apart from each other.

To do so I created one questionnaire with 16 pages in total containing the questions for both measurement points one after the other.

Pages 1-8 serve as part 1 of the questionnaire. Page 8 contains a single Opt-In without confirmation email to ask for the email of the participants that want to take the second part of the survey. Page 9 is the breaker page containing the PHP code with the function mailResume(). Breaker page 9 does not contain any questions. The second part of my questionnaire starts on Page 10 and ends on page 18.

I downloaded the currently collected data as back up and I noticed that many participants have 8 as value for the variable "LASTPAGE".

My question is:

If the function mailResume() allows participants to return to the survey where they left, in my case after 4 weeks, since their first participation, will they resume the questionnaire on page 10 which is where the second part of my questionnaire starts? or will they somehow resume on breaker page 9 (PHP code with no questions) because the dataset shows 8 as last page reached by the participant?
Is there a way to ensure the person will start the second part of the questionnaire on the correct page (page 10 in my case)?

thank you so much in davance for your support and patience!

here the PHP code I set in Breaker page 9 in case it helps:

// The time of the first call of the breaker page is stored in variable $timepart1
// isset() and registerVariable() prevent that this time is changed when the page is called again (e.g. reloading the page) and/or that emails are scheduled twice
if (!isset($timepart1)) {
  // sve time
  $timepart1 = time();
  registerVariable($timepart1);
 
// Send invitation mailing with ID 3 at the second measurement point after 4 weeks
  mailResume(value('AA02'), 3, strtotime('+4 weeks'));
 
// Send first reminder mail with mailing ID 2 after 5 weeks
  mailResume(value('AA02'), 4, strtotime('+5 weeks'));
}

// Check how much time has passed since the page was first accessed
if ((time() - $timepart1) < 7* 24* 3600) {
  // Show breaker page if it is less than 7 days,
  // so that participants cannot see the questions of the second measurement time point earlier.
option('resume', true); // No indication that the interview will be continued
option('nextbutton', false); // Hide next button (pause interview)
text('AA11');;  // Possibly show a farewell to the first questionnaire part
} else {
// If the participant has returned after 7 days and thus the current time minus the new time variable
// is greater than 7 days, then the survey continues on the next page
  goToPage('next');
}

1 Answer

0 votes
by SoSci Survey (339k points)

As documented in the manual, the variable LASTPAGE has the page number where respondents most recently clicked the "next" button, submitting the page content.

So, if you page 9 is only the break page and even hides the "next" button, LASTPAGE=8 is what you would expect. If allow for a "back" button, clicking this one one page 9 will cause a LASTPAGE=9.

will they resume the questionnaire on page 10 which is where the second part of my questionnaire starts?

They left on page 9, so they will resume on page 9. Page 9 then will run

goToPage('next');

so, they'll immediatly resume to page 10. Technically, they wil see page 9 (with no content) and page 10 at the same time.

Willkommen im Online-Support von SoSci Survey.

Hier bekommen Sie schnelle und fundierte Antworten von anderen Projektleitern und direkt von SoSci Survey.

→ Eine Frage stellen


Welcome to the SoSci Survey online support.

Simply ask a question to quickly get answers from other professionals, and directly from SoSci Survey.

→ Ask a Question

...