This is a task to implement event logging that will allow high level aggregate funnel analysis for users eligible for quick surveys and shown quick surveys, and will allow finer grained access for users taking an intentional action to engage with quick survyes.
Current schema: https://meta.wikimedia.org/wiki/Schema:QuickSurveysResponses
It's unclear if Yes / No Thanks taps for external surveys are actually being logged right now. That needs to be verified and should be implemented if it isn't being logged.
It's unclear if the `platform` value is being correctly logged right now as well. That also needs to be verified and should be implemented if it isn't being logged.
This should either (a) only be logged with sendBeacon capable UAs OR there should be a boolean field 'beaconCapable' included for the 'eligible' eventName
For existing QuickSurveysResponses schema, add the following, and ensure that the button tap action is captured not only for on-wiki surveys but also when the user is navigating to an external survey:
namespaceId (int)
surveySessionToken (mediawiki.user.sessionid plus fixed suffix, in other words survives pages and in the rarest cases, tabs)
surveyInstanceToken (one time token per page with survey)
beaconCapable
Define a new schema QuickSurveyInitiation and fire events for `eligible` and `impression`:
surveySessionToken (mediawiki.user.sessionid plus fixed suffix, in other words survives pages and in the rarest cases, tabs)
surveyInstanceToken (one time token per page with survey)
surveyCodeName
eventName
eligible (at the time eligibility is determined, sent if and only if user was eligible)
impression (sent once, as is custom - when .5 of element shown)