I feel like this must be possible, but I’ve yet to find a working solution. I need the following behavior, using an anonymous link:
authenticate via Google OAuth SSO, capture email address:
if a respondent is taking the survey for the first time and their email address is not in the associated contact list:
collect response
trigger workflow after submission to add info to the associated contact list
if a respondent is taking the survey again and the captured email address is found in the associated contact list:
authenticator recognizes that they’re in the associated contact list
end of survey element redirects to a retake link, using their previous response ID
update info in the associated contact list
The new user flow seems to be pretty straightforward, but I can’t seem to get the redirect → retake process to work properly for returning respondents.
Any help would be appreciated!
Page 1 / 1
Are you wanting it to delete their previous response, or simply capture a second response? Do you want them to see their previous response?
@jpmorgan This can be done using retake links. In the survey, create an embedded data field “Retake Link” with the value of : https://SURVEY-URL-GOES-HERE?Q_R=${e://Field/ResponseID}&Q_R_DEL=1.
When the respondent takes the survey the first time they will be added to the associated contact list as you described and you will also add the retake link field to as a data field within the contact.
When the respondent logs in a second time, it can validate against that contact list, bring in the retake link as an embedded data field, and then branch to an end of survey element if they’re in the list. The end of survey element will be customized to redirect to a url. That url should be the piped text of the retake link.
When the respondent is redirected, they will be presented with a survey prefilled with their prior responses and the original response will be deleted.
If you want to keep both the new, and original responses, then delete “&Q_R_DEL=1” from the retake link url.
Ah right, I knew I was missing something in the explanation. I need them to see their previous response and for the old one to be deleted upon submission.
Ah right, I knew I was missing something in the explanation. I need them to see their previous response and for the old one to be deleted upon submission.
Ok, thanks for confirming you need them to see their previous submission and delete the old. Then yes, add the suggested query string as listed by @jmborzick . We use this same query string for an alert when someone has entered an incorrect value where matching can’t occur and their submission can’t be appropriately routed.
Thank you both!!!
Alas, I am back again because I can’t seem to get this logic right.
The idea is that anyone can click the anonymous link and they’ll hit the authenticator. They’ll pass through the authenticator and if this is their first time completing the survey (i.e., they’re not already in the contact list with an associated responseID), they’ll see all of the survey questions. If they HAVE completed the survey before, they’ll see all of the survey questions with their previous responses filled. I believe I have the redirect to retake piece working, but now I can’t get new respondents properly triaged to the question blocks. Qualtrics support suggests that this cannot be done, but I figured I’d give it one last shot here in the forums. Attached below is my current Survey Flow. I’ve redacted a bit, but it should be noted that the embedded data from the SSO that’s feeding the contact authenticator does appear to be working without issue.
@jpmorgan There are a few things to tweak. It looks like you’re attempting to link the sso authentication with the directory by adding an additional authenticator. Instead, follow these directions to do that.
After your authenticators, you have an end of survey message that redirects to the retake link, but you don’t have any branch logic prior to nor are you pulling the embedded data field in. You want to add the retake link as embedded data after the authenticator and then set up branch logic. If the Retake is not empty, then branch to the end of survey to redirect. If it is empty, then continue on to the questions.
@jmborzick Thank you for continuing to work through this with me, I can’t tell you how much I appreciate it.
I think what’s still tripping me up is that if I remove the second Contact Authenticator, I don’t seem to be able to reference the contact list via the Google OAuth in order to grab the url stored in an embedded data field i called retake_link without associating with a panel, at which point it won’t allow for multiple completions anyway. This has now put me in what appears to be the opposite situation from the previously attached flow, wherein first-time respondents make it through without issue, but returning respondents see the “you already completed this survey” message.
@jpmorgan To make it work where the SSO authenticates against the directory, you need to check this box
That will eliminate the need for the second authenticator. Regardless, in order to let your respondents authenticate again so that they can reach the retake link, you’ll need to check the box under “options” that reads, “Allow respondents to retake authenticated section.” This is a little hidden and after you click “options” you’ll need to scroll down a bit.
Wow yes, I didn’t realize there were additional options in the menu!
But then if I do associate with a panel, it won’t allow for authentication of new respondents, because their email address has not yet been added to the contact list. I think I need a way for it to check the panel in order for the branch of whether or not retake_link is populated, without stopping those who aren’t already in the panel from advancing. I’ll still need them to successfully authenticate in order to capture their email address via workflow at the end.
@jpmorgan you’re still authenticating via SSO, so it should let the respondent in regardless of whether or not they currently are in the directory. When you’re associating with the panel, all you’re doing is bringing in the embedded data.
Hi @jmborzick
Does the solution still work? I am not sure when u say add “Retake link” as embedded data, if you mean contact embedded, or within the survey as a field.
@pangelidis you have to add it in both. The retake link I mentioned needs to be added to the contact record in the directory via workflow.
You would then add the field name you used in the directory for the retake link within the survey flow as an embedded data field so that Qualtrics can pull the value of the retake link into the current survey and redirect the respondent.
@jmborzick After redirecting to the retake link, which will happen if it’s not empty, what branch logic do I use to direct those users to answer the survey? I followed @jpmorgan logic, but I ended up in never ending loops, since checking “If R_LINK is not empty then redirect” never directs the user to the main survey part, and is always TRUE, so branch is a never-ending loop.
@pangelidis
At the top of the survey flow add an embedded data field named “Retake.” Do not set a value.
Add your authenticator
Add embedded data field “RetakeLink”
Branch Logic: IF “Retake is EMPTY,” END SURVEY and redirect to ${e://Field/RetakeLink}
Create a workflow with survey submission as the trigger and update the directory as the task.
Add the required fields (Name, Email, ID#) and click on the blue link to add additional embedded data
Embedded data field name is “RetakeLink” the value to add is ${e://Field/RetakeLink}
@jmborzick
Hey. According to your solution, I re-designed mine and it looks like the image attached. However, redirection link shows the error:
“We thank you for your time spent taking this survey. Your response has been recorded.”
Any thoughts?
Your help is much appreciated
@pangelidis To verify, your end of survey link redirects to your retake link (R_Link), correct?
@jmborzick Correct.
@pangelidis It’s tough to troubleshoot without having access to the actual survey. If this were my survey, I would go into the directory contact of my test person and click on the R_Link from within the directory to verify that it’s taking me to the correct place. If it’s not, then I have the wrong retake link built.
If the retake link works, then I would investigate my survey flow. In the end of survey link that redirects me to the retake link, I would change it to something like “www.usatoday.com” to make sure that my logic and redirect are working appropriately. If I don’t get sent to usatoday, then I know my logic is wrong. If I do get sent there, and my R_Link functioned correctly from the directory, then I would know that I had the embedded data field wrong in my redirect.
Try these steps and let me know.
@pangelidis I did get this working, but with two huge caveats:
This often creates empty responses in addition to the response that the recipient actually submits. I suspect that there is a way to fix this, but I'm too afraid to mess with it now that it's working.
Occasionally, someone will start the survey again and it will be blank, despite having submitted a response in the past. I can't consistently reproduce this issue, so it's been impossible to troubleshoot.
One very important piece that finally helped this to behave as intended is that in the second authenticator that's checking against the contact list and not SSO, I reduced the number of Maximum Authentication Attempts to 1, so that if the SSO email address is in the contact list, it succeeds and continues, but if it's not in the list, it automatically pushes them out of the branch to complete the survey without seeing an error message about failing authentication.
Hi and thanks for sharing the flow! I’ve made it work, but I’m not using a second authenticator. I do not face the issues you mentioned above, so I suggest that you insert the below options in your end survey that redirects user to retake link: