This task represents the work with conducting an analysis to learn if/how we can offer an opt-out option via QuickSurveys
User Story
As a user I need the ability to not give consent to taking the survey.
This is a legal requirement.
What we know so far
- In external mode In QuickSurveys, the external option has a "visit survey" and "no thanks" option. The "no thanks" option will dismiss the survey and not show it again to that user in that device/session. The "seen" flag is saved locally in the device and session. If the user clears their caches or changes browser settings, there could be a chance of them being bucketed again and shown the survey again.
- In internal mode there is no option to dismiss surveys, this would need to be implemented
Open Questions
- If user is has the option to dismiss the survey, whatβs the probability that the user will be shown the survey again?
- β
The same probability as the initial one. The probability depends on the survey's coverage % and the other surveys that are enabled in the same time period.
- Currently External Surveys employ a dismissal feature, it is client side and is can be undone if a user clears the cache.
- β
The same probability as the initial one. The probability depends on the survey's coverage % and the other surveys that are enabled in the same time period.
- Is there a way to avoid clearing the cache issue (i.e. can we store the users' answer or dismissal to surveys somewhere?). What would be the risks?
- β
Yes, surveys will be sent to "logged in" users so we could store a flag/user preference that disables all surveys altogether.
- Of course the risk is that it is all or nothing approach, because storing specifically which survey is not anonymous and could be exposed inadvertently in the future.
- It appears the local storage approach is better suited for storing more information about what survey was dismissed whereas recording in user preferences would require more development work and resources, etc
- β
Yes, surveys will be sent to "logged in" users so we could store a flag/user preference that disables all surveys altogether.
- What kind of effort are we looking at if we were to implement an option to dismiss inline surveys?
- β
Easiest solution would be to port the existing "dismissal" code in the external surveys codebase. Currently it is a button action but that easily can be put behind a click event.
- Estimated low effort, but depends on design work and requirements for dismissing internal surveys
- β
Easiest solution would be to port the existing "dismissal" code in the external surveys codebase. Currently it is a button action but that easily can be put behind a click event.
- How many times is a user shown a survey? Each page visit until answering or just once?
- β
Based on code review, indefinitely until answered.
- An automatic dismissal after first insertion could be implemented as a configuration variable per survey
- β
Based on code review, indefinitely until answered.