Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
Next revisionBoth sides next revision
en:survey:opt-in-live [25.06.2015 10:40] – [Preparation] alexander.ritteren:survey:opt-in-live [24.05.2021 14:49] sophia.schauer
Line 1: Line 1:
-====== Multi-Wave Surveys with Self-Selection ======+====== Multi-Wave Surveys with Self-Recruited Respondents ======
  
-As a general rule, participants' email addresses have to be known beforehand when carrying out a multi-wave survey as the respondents have to be invited, at some point, to a survey wave at a later date. However, if participants have been recruited via links on a website, social media or advertising banners, then their email addresses are not known beforehand. This chapter explains different technical solutions that guarantee the respondents' anonymity+If you want to use the [[:en:survey:mailing|serial mail function]] for a multi-wave survey, you actually need the email addresses of the respondents in advance. Eventually, respondents will need to be invited to participate in subsequent wave of surveys at some point.
  
-The two options differ from each other, if the participant has to disclose their email address: either the participant is asked for their email address at the beginning, or at the end of the first questionnaire.+However, if participants are recruited through links on a website, social media or via advertising banners, their email addresses are not known in advance. This chapter shows a technical solution where respondents enter their email address in the first questionnaire and this is used to automatically send the invitation to the second questionnaire. To assign the data, pseudonyms are used so that the data set does not contain any personal data.
  
-If the participant has to "register" for the study beforehand then this is a particular obstacle. The danger being that many participants will not want to take part at all due to concerns about anonymity. An advantage of requesting the email address a-priori is, however, that taking part in the survey is only possible after specifying a valid email address - if there is a typo or the person does not want to give an email address, then they will not be able to access the first questionnaire. There are, therefore, less dropouts between survey waves.   
  
-Another advantage of requesting the email address in advance is being able to work with ''[[:en:create:functions:mailresume|mailResume()]]'' and interruption pages. This enables all of a participant's data to be collected in a data record at the same time.+===== Position of the Opt-In-Question =====
  
 +The e-mailadress is required via a question of the type [[:en:create:questions:opt-in]]. You should think early on where in the first questionnaire you would like to place this question. Of course, in any case, you should mention early on that this is a survey with multiple questionnaires and that the questionnaire will ask for the email address.
  
 +Some respondents do not want to provide their email address (whether due to spam/advertising concerns or privacy considerations) and thus cannot be invited to the second part of the survey.
  
-===== Request Email Address at the Beginning =====+Asking for the email address very early in the first questionnaire has the following advantages:
  
-  * A mailing is creating beforehand for each survey wave (even for the first) (**Invitation Mailings** -> **Mailings**)In the //Questionnaire URL// tab, which questionnaire should be used for the individual waves is set+  * Participants who categorically do not wish to provide an email address will be excluded from the study right at the startThese participants do not waste time on the first questionnaire. 
-  * The participant has to register their email address for the study beforehand. An additional questionnaire is created in the survey project in order to do so (**Compose Questionnaire** -> //Further Questionnaires//). This questionnaire only contains a question type "[[:en:create:questions:opt-in|Opt/in for Mailing List]]". +  * You can work with ''[[:en:create:functions:mailresume|mailResume()]]'' and breaker pages. This allows to collect all data of a participant in one data line. Otherwise, you will receive several data lines for each participant (one per questionnaire).
-  * After this there are two options: +
-  +
  
-==== Manual Sending of Invitations ====+Asking for the email address by the end of the first questionnaire has the following advantages:
  
-This makes sense if participants should fill in the questionnaire around the same timeThe period of the survey continues over several days as not everyone will respond to the email immediately -- in particulardata collected over a longer period of recruitment are more comparable in terms of time than when mailings are dispatched automatically (see below).+  * You will receive more data records for the first questionnaire -- this is useful if you can also utilize the data from the first questionnaire separately. 
 +  * By the end of the first questionnaireone has already invested some time in participating and has (hopefullybeen able to gain some confidence in the researcher's honorable intentions. This makes it more likely that participants will reveal their email address.
  
-  * Adresses are collected over a period of time -- and when there are enough addresses in the **Address List**, the first mailing (invitation to take part in the first questionnaire) will be sent to everyone. 
-  * Further invitations will be manually (and at the same time for everyone) sent using the mailing function. 
  
 +===== Step 1: Create Questionnaires ======
  
-==== Automatic Sending of Invitations ====+A total of three questionnaires are required, hereafter referred to as "A1", "A2" (for the first wave) and "B". Create them under **Compose questionnaire**. Which identifiers you actually use for the questionnaires is irrelevant.
  
-This option is sensible when participants should start the survey straightaway after registering.+  - The first questionnaire (A1) is used for recruitment, here among other things the e-mail address is requested. Participants fill out this questionnaire immediately after [[:en:survey:url|calling up the questionnaire link]]. 
 +  - The second questionnaire (A2) is called when participants confirm their e-mail address (double opt-in). So ideally a few minutes after A1. This questionnaire prepares the sending of the invitation mails for the second survey date. 
 +  - A third questionnaire (B) contains the questions for the second survey wave. If further survey dates are planned, additional questionnaires may be needed (C, D, E, ...).
  
-  In the Opt-in question in //Personalized link from//, the first mailing is selected. This means the participant will begin with the first questionnaire directly after confirming their email address. +Unter **Fragebogen zusammenstellen** -> Karteireiter //Einstellugen// legen Sie für die Fragebögen "A2" und "B" bitte den [[:de:create:access|Zugriffsmodus]] "Serienmail" festSo ist sichergestelltdass sich nicht isoliert aufgerufen werden können.
-  * At the end of the questionnaire, the PHP function ''[[:en:create:functions:mailschedule|mailSchedule()]]'' (for separate data records) or ''[[:en:create:functions:mailresume|mailResume()]]'' (if all waves should be saved in one data record) will be used in order to schedule the time-controlled sending of the next mailing(s)Independent of which two functions you usespecify ''false'' for the first parameter and the ID of the mailing for the second parameter. +
-  +
-===== Request Email Address at the End of the First Questionnaire =====+
  
-  * An "[[:en:create:questions:opt-in|Opt-in for Mailing List]]" question type is also needed for this option. This is placed at the end of the first questionnaire -- it makes sense to include a reference to the next waves of survey. +Under **Compose questionnaire** -> **Manage questionnaires** please select questionnaire A1 under //Standard questionnaire// and save this setting ({{:button.save.png|Save button}})..
-  * In addition, you need another questionnaire (**Compose Questionnaire** -> //Further Questionnaires//, which takes care of the time-controlled sending of mailing(s). If you want to send invitations manually using the mailing function, this additional questionnaire is obviously not necessary. +
-  * Create a mailing for each survey wave (even for the first) (**Invitation Mailings** -> **Mailings**). In the //Questionnaire Link// tab, which questionnaire should be used for the individual waves is setFor the first mailing, the link does not point to the first questionnaire, but to the additional questionnaire which takes care of the time-controlled sending. +
-  * The scheduling of the time-controlled mailing occurs by using the ''[[:en:create:functions:mailschedule|mailSchedule()]]'' functionGive ''false'' for the first parameter in this function, the ID of the mailing for the second parameter. +
-  * Choose this particular mailing in the opt-in question in //Personalized link from//. The sending of further invitation emails will then be executed immediately on completion of the opt-in confirmation+
  
-===== Example =====+The questions for the first survey time point can be distributed between "A1" and "A2" as desired.
  
-The following example demonstrates the use of ''[[:en:create:functions:mailresume|mailResume()]]'' and ''[[:en:create:functions:mailrevoke|mailRevoke()]]'' for a survey with three measuring periods, where all data belonging to a participant will be stored in the same line of dataPossible areas of application arefor example, a follow-up measurement, intervention study, or pre/post analysis +Create a question of type [[:en:create:questions:opt-in]] in the **question catalog**. Under //Privacy// in the tab //Settings for the question// "Pseudonym" must be entered here. At //Functionality// the default setting should be "Double Opt-In". You must also enter at least a //Subject// and a //Content of the Confirmation Mail//. The latter text must have the wildcard ''%opt-in%''At this pointthe confirmation link is then inserted during the dispatch.
  
-==== Functions ====+With double opt-in, a confirmation email is first sent to the registered email address. Only when the participant clicks on the link in the confirmation mail, the e-mail address will be added to the mail distribution list (**Send invitations** -> **Address list**). This ensures that the email address is correct and that a third party does not simply register foreign email addresses for the study.
  
-  * Participants automatically receive an invitation to the next time of measurement (next part of the questionnaire) after a certain time and will not have access to the questions in the next part of the questionnaire prior to this. +Then insert the opt-in question at an appropriate place in questionnaire A1.
-  * Participants automatically receive reminder emails, if they do not respond to the first invitation to the next time of measurement within a certain amount of time.+
  
-==== Preparation ==== 
  
-All parts in the questionnaire are arranged one after the other in one questionnaire. "Mailings" is set as the access mode for the questionnaire.+===== Step 2: Serial Mails =====
  
-If the participants' email addresses are __not__ known in advance, a second questionnaire with a question [[:de:create:questions:opt-in|Opt-in for Email Distribution List]] is created"public" is set as the access mode for this questionnaire. +Now select **Send Invidation**. There, SoSci Survey may first ask you to agree on an AVV. This is because e-mail addresses are [[:en:general:dsgvo|personal data]], which enjoy special protection under the DSGVO, among other thingsYou must comply with some information obligations (e.g. in the questionnaire) and you must agree on a GCU before using a subcontractor (e.g. Sosci Survey GmbH) to process such data. If you are unsure, please contact the data protection officer (DPO) at your university, institution or company.
  
-Create a mailing (ID 1 in the example) which sends a invitation to the second time of measurement after 7 days. In the "Reminder/Follow-up" tab, the "Type of follow-up" is set so that there is a reminder or follow-up. In the email text the %link% placeholder has to be used (as usual).+Now please create two [[:en:survey:mailing|serial mails]] under **Send invitations** -> **Serial mails**.
  
-Create two more mailings (ID 2 and 3 in the example)These serve as a reminderif the participant is yet to fill in the second part of the questionnaire after 9 or 11 days (settings are the same as in mailing 1).+  - The serial mail no. 1 is only used to call the questionnaire "A2". It is never actually sent, i.e., the content is not further relevant. However, it is important that the questionnaire "A2" is selected in the //Link to questionnaire// tab. 
 +  - The serial mail no. 2 is the invitation to the second survey wave. It will be sent delayed and its number (e.g. 2) will be needed later in the PHP code for the function ''[[:en:create:functions:mailschedule]]''
 +  - If you plan additional survey times, create additional serial emails accordingly, one per survey time point. You can also create reminder emails in case participants do not respond to the first invitation email.
  
-Create three more mailings (ID 4-6 in the example): An invitation to the third part and two reminders (settings are the same as in mailing 1). +Now please open the opt-in question again for editing. Under //Additional settings//, tab //Confirmation// select under //Forward after confirmation// -> //Questionnaire link off// now please select the serial mail 1. Save this setting ({{:button.save.png|Save question}}). 
 + 
 +The process so far is as follows: 
 + 
 +  - The participant clicks on the link to the questionnaire ([[:en:survey:participants]]) and thus gets to questionnaire A1. 
 +  - There he answers questions and (sooner or later) enters his e-mail address in the opt-in question. 
 +  - Once the email address has been entered and the data has been submitted to the server by clicking the "Next" button, SoSci Survey will send a confirmation email to the email address provided. 
 +  - The participant receives the e-mail and clicks on the confirmation link. This now opens the A2 questionnaire. 
 + 
 + 
 +===== Step 3: Automate Mail Delivery ===== 
 + 
 +In principle, you could already work with the previous solution. The email addresses are stored in the **Address List** and you could send the serial email #2 manually to send the invitation for the second survey date. 
 + 
 +Often, however, the sending of the invitation should be automated. Either at a predefined time or a certain period of time after the call of A2. Therefore A2 [[:en:create:php|PHP code]] is used in the questionnaire, specifically the command ''[[:en:create:functions:mailschedule]]''
 + 
 +On the first page of the A2 questionnaire, insert a "PHP code" element and in it the following command: 
 + 
 +<code php> 
 +mailSchedule(false, 2, 7 * 24 * 3600); 
 +</code> 
 + 
 +The comand ''mailSchedule()'' has three parameters. 
 + 
 +  - The first one specifies the address entry to which the invitation mail should be sent. After our participant has reached the questionnaire A2 through the (individual) confirmation link, SoSci Survey already knows the correct address entry, therefore ''false'' is noted here. 
 +  - The second parameter indicates which serial mail should be sent. In the example above, this is the serial mail with the number 2. 
 +  - The third parameter specifies the time when the serial mail should be sent. This can be either a time span in seconds or a Unix timestamp. In the example above the timestamp is 7 days (7 times 24 hours á 3600 seconds). Alternatively, you could, for example, enter ''strtotime('+7 days')'' as the third parameter, or ''strtotime('2020-10-31 08:00:00')'' for a predefined time. 
 + 
 +**Tip:** For testing, enter a small value for the third parameter, e.g. 300 seconds (5 minutes). 
 + 
 +**Tip:** Use disposable email addresses for testing ([[https://praxistipps.chip.de/wegwerf-email-adressen-diese-anbieter-gibts_1674|Chip: Disposable email addresses]]. If an e-mail address has already been entered via opt-in, no further confirmation e-mails may be sent to this address. 
 + 
 +You can test the registration with an e-mail address as often as you like, as long as you delete the address from the address list afterwards (**Send invitations** -> **Address list**). An email address is blocked for 10 minutes after the opt-in email is sent before another opt-in email can be sent. 
 + 
 +**Tip:** Start the first questionnaire under **Create Questionnaire** in debug mode ({{:button.debug.gif|Start questionnaire in debug mode}}). Then you can also test outside the survey period defined in the **Project Settings**. 
 + 
 +If you now call up the first questionnaire, enter an e-mail address there and click on the link in the confirmation e-mail, then you can see the new address entry under **Send invitations** -> **Address list**. And under **Serial Mail** you can also see that the sending of the serial mail to an address is prepared. 
 + 
 + 
 +==== Multiple Serial Mails ==== 
 + 
 +If you want to send multiple invitations at different times, then simply repeat the ''mailSchedule()'' command for each serial mail. For example, in the following example, invitations are sent after 7, 14, and 21 days (numbers 2, 3, 4) and one reminder (numbers 5, 6, 7) each on the following day. 
 + 
 +<code php> 
 +// Invitation mails 
 +mailSchedule(false, 2, 7 * 24 * 3600); 
 +mailSchedule(false, 3, 14 * 24 * 3600); 
 +mailSchedule(false, 4, 21 * 24 * 3600); 
 +// Reminder 
 +mailSchedule(false, 5, 8 * 24 * 3600, ['status' => 'no-response']); 
 +mailSchedule(false, 6, 15 * 24 * 3600, ['status' => 'no-response']); 
 +mailSchedule(false, 7, 22 * 24 * 3600, ['status' => 'no-response']); 
 +</code> 
 + 
 +You create a reminder email in the same way as you create a serial email. Then, in the //Reminder/Follow-up mail// tab, under //Reminder/Follow-up mail for//, please select the serial mail to which you would like to remind the participant. 
 + 
 + 
 +===== Note for Respondants ===== 
 + 
 +In questionnaire A1, you should point out the following to the participant: 
 + 
 +  * Depending on which provider or mail server the subscriber is using, the delivery of the confirmation mail may be delayed -- usually 0 to 30 minutes. 
 +  * Sometimes confirmation emails get caught in the spam filter. 
 +  * To continue the survey, it is necessary to click on the confirmation link in the confirmation email. If you are not able to click on the link directly (very rare), you may have to copy it into the address line of your internet browser. 
 + 
 + 
 +===== Manual Sending of the Invitations ===== 
 + 
 +As an alternative to the automated preparation of sending serial mail No. 2, you can also send this serial mail manually -- ''mailSchedule()'' is then omitted and possibly also questionnaire A2. 
 + 
 +This procedure is useful if all participants are to complete the questionnaire at approximately the same time. Although the survey period still extends over several days, because not everyone responds to the e-mail immediately -- especially in the case of longer recruitment, the data are more comparable in terms of time than with automatic dispatch (where, on the other hand, the time interval between the two survey waves is the same). 
 + 
 +  * Addresses are collected for a while -- and when there are enough addresses in the **address list**, the serial mail No. 2 (invitation to questionnaire "B") is sent to everyone. 
 +  * If the recruitment continues after that, the serial mail can be sent again as needed. Participants who have already received the serial mail will __not__ receive it again. If further survey waves are to be carried out, additional serial e-mails can be sent. 
 + 
 + 
 +===== Dataset===== 
 + 
 +In the dataset, you end up with three rows of data per participant -- at least if the participant provided a valid email address and clicked on the links in both emails: 
 + 
 +  - Responses to "A1" -- the identifier of the participant is noted here in the variable of the opt-in question. 
 +  - Responses to "A2" -- the identifier is here in the variable //SERIAL//
 +  - Responses to "B" -- the identifier is here again in //SERIAL//
 + 
 +If all answers are later to be merged into one data row in the statistical software (MERGE), then it is expedient to use different questions in all three questionnaires, so that the variables get different identifiers. If questions are to be asked in both "A" and "B", simply copy the appropriate heading. 
 + 
 + 
 +===== Data in a Data Row ===== 
 + 
 +Instead of using different questionnaires for "A2" and "B", you can also place the questions in one questionnaire and work with interrupter pages. This has the advantage that the data is stored in one data row in the data set. In addition, filters in part "B" can refer to answers from "A2". In this case ''[[:en:create:functions:mailresume|mailResume()]]'' is used instead of ''mailSchedule()''
 + 
 +The following example demonstrates the use of ''[[:en:create:functions:mailresume|mailResume()]]'' and ''[[:create:functions:mailrevoke|mailRevoke()]]'' for a survey with three measurement time points, where all data of a participant is stored in the same data row. Possible areas of application are, for example, a course measurement, intervention study or pre/post examinations. 
 + 
 + 
 +==== Fuctions ==== 
 + 
 +  * Participants automatically receive an invitation to the next measurement point (next questionnaire part) after a certain time and should not have access to the questions of the next questionnaire part before this time has expired. 
 +  * Participants receive automatic reminder emails if they do not respond to the first invitation to the next measurement point within a certain time. 
 + 
 + 
 +==== Preparations ==== 
 + 
 +All questionnaire parts are arranged one after the other in one questionnaire. "Serial mail" is set as the access mode for the questionnaire. 
 + 
 +If the email addresses of the participants are __not__ known in advance, a second questionnaire with a question [[:en:create:questions:opt-in|Opt-In for email distribution list]] is created. For this questionnaire, the access mode is set to "public"
 + 
 +Create a serial mail (in the example ID 1), which should be sent after 7 days as an invitation for the measurement time point 2. In the "Reminders/follow-up mail" tab, under "Type of follow-up mail", it is set that it is a reminder or a continuation. The wildcard %link% must be used in the text of the e-mail (as usual). 
 + 
 +Create two more serial mails (in the example ID 2 and 3). These serve as a reminder if the participant has still completed the second questionnaire part after 9 or 11 days (settings as for serial mail 1). 
 + 
 +Create three more serial mails (in the example ID 4-6): An invitation to the third part and two reminders (settings as for serial mail 1).
  
  
 ==== PHP Code for Time 1 ==== ==== PHP Code for Time 1 ====
  
-The values (numbers) in the PHP code are to be adapted to each study, in particular regarding time intervals and mailing IDs.+The values (numbers) in the PHP code are to be adjusted according to the respective study, especially time intervals and the serial mail IDs
 + 
 +Between the first and the second part of the questionnaire an additional page is inserted (interrupter page). The interrupter page has the following function: 
 + 
 +  * It sends the invitation to the next questionnaire part by means of ''mailResume()''
 +  * When the participant first accesses the page (at the end of the first part of the questionnaire), it shows a farewell. 
 +  * When the participant accesses the page again (after receiving the invitation to the second questionnaire part) it directly redirects to the next page.
  
-In **Compose Questionnaire**, an additional page (page interruption) is inserted between the first and second part of the questionnaire. The following PHP code is put on this page.+**Importanta:** The participant must actually click through to the page on which the PHP code was inserted. Otherwise, no invitation email will be sent. If the last page of the first questionnaire is already a farewell, this page can also serve as a breaker pageIn this case, you do not need another page between the two questionnaire parts. But then please note that the goodbye is __not__ "dragged into the page", but displayed with the ''text()'' command in the PHP code. If the text has already been dragged onto the page, remove it from the page before (or after) you insert the PHP code.
  
 +When **Compose Questionnaire**, the following PHP code is placed on the breaker page:
  
 <code php> <code php>
-// time which the page interruption was first accessed in stored in the $timepart1 variable. +// The time of the first call of the breaker page is stored in variable $timepart1 
-// isset() und registerVariable() prevent this time being changed when the page is accessed again (e.g. if the page is refreshed) and/or emails being duplicated.+// 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)) { if (!isset($timepart1)) {
-  // store time+  // sve time
   $timepart1 = time();   $timepart1 = time();
   registerVariable($timepart1);   registerVariable($timepart1);
  
-  // Send invitation with mailing ID 1 for the second period of measurement after 7 days +  // Send invitation with serial mail ID 1 at the second measurement point after 7 days 
-  // Time interval always given in seconds 7 x 24 x 3600 seconds = 7 days+  // The time interval is given in seconds7 x 24 x 3600 seconds = 7 days
   mailResume(false, 1, 7 * 24 * 3600);   mailResume(false, 1, 7 * 24 * 3600);
  
-  // Send first reminder email with mailing ID 2 after 9 days +  // Send first reminder mail with serial mail ID 2 after 9 days 
-  // (i.e. two days after the first invitation to the second period of measurement)+  // (i.e. two days after the first invitation to the second measurement point).
   mailResume(false, 2, 9 * 24 * 3600);   mailResume(false, 2, 9 * 24 * 3600);
  
-  // Send second reminder email with mailing ID 3 after 11 days+  // Send second reminder mail with serial mail ID 3 after 11 days
   // (i.e. four days after the first invitation)   // (i.e. four days after the first invitation)
   mailResume(false, 3, 11 * 24 * 3600);   mailResume(false, 3, 11 * 24 * 3600);
Line 93: Line 204:
 // Check how much time has passed since the page was first accessed // Check how much time has passed since the page was first accessed
 if ((time() - $timepart1) < 7 * 24 * 3600) { if ((time() - $timepart1) < 7 * 24 * 3600) {
-  // Display page interruption if this is less than 7 days, +  // Show breaker page if it is less than 7 days, 
-  // so participants cannot see the questions in the second period of measurement before this time has passed+  // so that participants cannot see the questions of the second measurement time point earlier
-  option('resume', true); // No indication that the interview is being resumed. +  option('resume', true); // No indication that the interview will be continued 
-  option('nextbutton', false); // Hide Next button (Interview interrupted+  option('nextbutton', false); // Hide next button (pause interview
-  text('end1');  // Maybe display a farewell indicating the end of the first part of the interview.+  text('ende1');  // Possibly show a farewell to the first questionnaire part
 } else { } else {
-  // If the participant returns after 7 days, making the current time minus the new time variable +  // If the participant has returned after 7 days and thus the current time minus the new time variable 
-  // more than 7 days, then the survey will be resumed on the next page.+  // is greater than 7 days, then the survey continues on the next page
   goToPage('next');   goToPage('next');
 } }
Line 108: Line 219:
 ==== PHP Code for Time 2 ==== ==== PHP Code for Time 2 ====
  
-A new page interruption is placed between the second and third parts of the questionnaire. To a great extent, the PHP code complies with the code above. However, mailRevoke() ensures that potential outstanding reminders (mailings ID 2 and 3) are no longer sent. +Between the second and third questionnaire part a breaker page is placed again or alternatively on the last page of the second questionnaire partThe PHP code is largely the same as the code above. However, mailRevoke() ensures that any outstanding reminders (serial mails ID 2 and 3) are no longer sent.
  
 <code php> <code php>
-// New time variable for the second period+// New time variable for the second time point
 if (!isset($timepart2)) { if (!isset($timepart2)) {
   $timepart2 = time();   $timepart2 = time();
   registerVariable($timepart2);   registerVariable($timepart2);
-  // Delete reminder emails if they are outstanding+  // Delete reminders if they are still pending
   mailRevoke(false, 2);   mailRevoke(false, 2);
   mailRevoke(false, 3);   mailRevoke(false, 3);
  
-  // Send invitation with mailing ID 4 to the third period of measurement after 7 days+  // Send invitation to third measurement point with serial mail ID 4 after 7 days
   mailResume(false, 4, 7 * 24 * 3600);   mailResume(false, 4, 7 * 24 * 3600);
  
-  // First reminder email after 9 days+  // First reminder after 9 days
   mailResume(false, 5, 9 * 24 * 3600);   mailResume(false, 5, 9 * 24 * 3600);
  
-  // Second reminder email after 11 days+  // Second reminder after 11 days
   mailResume(false, 6, 11 * 24 * 3600);   mailResume(false, 6, 11 * 24 * 3600);
  
  
-// Pause for 7 days+// Interruption for 7 days
 if ((time() - $timepart2) < 7 * 24 * 3600) { if ((time() - $timepart2) < 7 * 24 * 3600) {
   option('resume', true);   option('resume', true);
Line 138: Line 248:
 } }
 </code> </code>
 +
  
 ==== PHP Code for Time 3 ==== ==== PHP Code for Time 3 ====
  
-Any reminder emails that are yet to be sent have to be deleted on the penultimate page of the questionnaire.+On the third to last page of the questionnaire, any outstanding reminder emails still need to be deleted.
  
 <code php> <code php>
Line 148: Line 259:
 </code> </code>
  
-==== Tips ==== 
- 
-**Important:** Do not place any questions on the interruption pages - the above PHP code only shows text (thanks, farewell and information regarding the next period of measurement). 
- 
-**Note:** The invitation to the third part of the questionnaire takes place in relation to the time the participant follows the invitation to part 2. Therefore, if they fill do not fill out part 2 until 10 days after part 1, the invitation to part 3 will be sent 17 days after part 1 has been filled out. Alternatively, you could include all (!) invitations and reminders right at the end of part 1. The filter at the end of part 2 would then have to refer to ''$timepart1'' instead of ''$timepart2''. 
  
-**Note:** The attendance status for the follow-up and reminder mailings are __not__ apparent in the address list (mailings are in gray). The attendance status will only be displayed for a potential Opt-in mailing. However, in order to get a feeling for the attendance status, you are able to look at data that has already been collected. Individual attribution using the SERIAL variable is only possible if email addresses have been imported using the "Personalized entry" setting for "Anonymity".+==== Notes ====
  
-**Tip:** The same reminder emails can be used multiple times (with a general reminder text). In the above example, mailing ID 2 could be sent for all reminders (i.e. instead of mailings ID 3and 5).+**Important:** Do not place any questions on the breaker pages -- the PHP code above only provides for text (thank you, goodbye, and hint for the next measurement point).
  
 +**Note:** The invitation to the third questionnaire part takes place relatively at the time when the participant has accepted the invitation to part 2. So if he completes Part 2 only 10 days after Part 1, then the invitation to Part 3 will not be sent until 17 days after Part 1 is completed. Alternatively, you could schedule all (!) invitations and reminders right at the end of Part 1. The filter at the end of part 2 should then refer to ''$timepart1'' instead of ''$timepart2''.
  
 +**Note:** In the address list, the participation status for the continuation and reminder serial mails __not__ is visible (gray marking for the serial mails). The participation status is only displayed for a possible opt-in serial mail. However, in order to track the participation status, one can look at the data already collected. An individual assignment based on the SERIAL variable is, however, only possible if the e-mail address was imported with the "Personalized entry" setting for "Anonymity".
  
- +**Tip:** You can use the same reminders multiple times (with a general reminder text). In the above example, you could send serial mail ID 2 for all reminders (so instead of serial mails ID 3, 4 and 5).
en/survey/opt-in-live.txt · Last modified: 07.09.2022 20:57 by admin
 
Except where otherwise noted, content on this wiki is licensed under the following license: CC Attribution-Share Alike 4.0 International
Driven by DokuWiki