Page MenuHomePhabricator

πŸ§‘β€πŸ’» Instrument the Revise Tone Onboarding Quiz
Open, HighPublic3 Estimated Story Points

Description

For the Revise Tone A/B test we want to better understand how the new Onboarding Quiz performs.

Things we like to understand:

  • which users complete the onboarding quiz?
  • which questions are answered right/wrong how often?
  • how often do people click on which "learn more" link?
  • at what question (beyond the first) do people click the "skip all"-button?
  • (maybe if possible) how long do people spend on each question?
  • overall, what is the distribution of correctly answered questions of finished quizzes?

Except for the first item above which can only be handled via instrumentation, all the other items should be recorded both in instrumentation and Prometheus/Grafana performance metrics. Though, creating the related panels on Grafana is not part of this task.

Acceptance Criteria

  • analytics events are being collected to answer the above questions
  • performance metrics are being tracked to answer the above questions (except the first)
  • we do not intend to collect any IP addresses or Browser User Agent

Notes

  • This task also includes creating figuring out how the XLab integration / stream-config / analytics-schema would look like.
  • This should use the same schema as T405177: Revise Tone: Instrumentation
  • The main steps that have to be instrumented with xLab/Test-kitchen are:
    • impression of the onboarding opening ("start of the funnel")
    • clicks on "skip all" ("early funnel exit")
    • clicks on "Get Started" ("finished the funnel")

Event Timeline

Michael triaged this task as High priority.Oct 10 2025, 7:03 PM
Michael moved this task from Inbox to Backlog on the Growth-Team board.
Michael renamed this task from πŸ§‘β€πŸ’» Create a ReviseTone logger for instrumenting the Onboarding Quiz to πŸ§‘β€πŸ’» Instrument the Onboarding Quiz.Oct 27 2025, 3:14 PM
KStoller-WMF updated the task description. (Show Details)
KStoller-WMF added a subscriber: β€’ Iflorez.
Michael updated the task description. (Show Details)
Michael updated the task description. (Show Details)
KStoller-WMF set the point value for this task to 3.Nov 3 2025, 5:30 PM
Michael lowered the priority of this task from High to Medium.Nov 3 2025, 7:17 PM

While we really want this information, let's acknowledge that it is not as essential to this experiment as some of the other tasks.

KStoller-WMF raised the priority of this task from Medium to High.Nov 6 2025, 5:58 PM

The metric/instrumentation planning was completed in the first week of November, and all related deliverables have been finalized.
Relevant materials are the Measurement plan, instrumentation specification, and the data instrumentation planning slides.
Onboarding instrumentation is currently listed for completion if time allows.

KStoller-WMF renamed this task from πŸ§‘β€πŸ’» Instrument the Onboarding Quiz to πŸ§‘β€πŸ’» Instrument the Revise Tone Onboarding Quiz.Nov 18 2025, 5:48 PM
KStoller-WMF assigned this task to Sgs.

Change #1207148 had a related patch set uploaded (by Sergio Gimeno; author: Sergio Gimeno):

[mediawiki/extensions/GrowthExperiments@master] analytics(ReviseTone): instrument onboarding quiz

https://gerrit.wikimedia.org/r/1207148

I cannot see data that tracks the correctness of the user's answers, is that something we should/could add to the click event that we track when the user clicks on "Get started"?

This is my proposal to capture all possible on-boarding end interactions and context:

Example 1: all questions answered, pressed "Get started" from the 5th step.

 click {
  "instrument_name": "Revise tone onboarding dialog end click",
  "action_subtype": "get-started",
  "action_source": "Quiz-step-5",
  "action_context": "incorrect,incorrect,correct,correct,incorrect"
}

Example 2: no questions answered, pressed "I already know this" from the 1st step.

 click {
  "instrument_name": "Revise tone onboarding dialog end click",
  "action_subtype": "skip",
  "action_source": "Quiz-step-1",
  "action_context": "unanswered,unanswered,unanswered,unanswered,unanswered"
}

Example 3: some questions answered, pressed on the dialog backdrop, or ESC key, from the 2nd step.

 click {
  "instrument_name": "Revise tone onboarding dialog end click",
  "action_subtype": "dismiss",
  "action_source": "Quiz-step-2",
  "action_context": "incorrect,unanswered,unanswered,unanswered,unanswered"
}

Not sure what would be the best format for action_context, we can use counters or any format that makes it easier to query the data after. The only thing is we need to keep the blob under 64 characters.

Another thing I'm not fully sure is if capturing the clicks on the RT revise tone card is good enough for this metric. Some users may check the "Don't show me again" option and they would not be exposed to the on-boarding anymore. Should we capture an on-boarding dialog impression event to match the end interaction with a more narrow/accurate start interaction.

cc @Iflorez

correct,correct,incorrect,unanswered,unanswered

For me, that's fine. We can iterate on it in the future if we find the need for it.

Should we capture an on-boarding dialog impression event to match the end interaction with a more narrow/accurate start interaction.

Yes! We should also record an impression event on the start of the quiz.

Change #1207148 merged by jenkins-bot:

[mediawiki/extensions/GrowthExperiments@master] analytics(ReviseTone): instrument onboarding quiz

https://gerrit.wikimedia.org/r/1207148

Change #1210619 had a related patch set uploaded (by Sergio Gimeno; author: Sergio Gimeno):

[mediawiki/extensions/GrowthExperiments@master] analytics(ReviseTone): track homepage visits with RT impression

https://gerrit.wikimedia.org/r/1210619

Change #1212128 had a related patch set uploaded (by Sergio Gimeno; author: Sergio Gimeno):

[mediawiki/extensions/GrowthExperiments@wmf/1.46.0-wmf.4] instrumentation(ReviseTone): fix stream for edits and refine exposure

https://gerrit.wikimedia.org/r/1212128

Change #1212128 merged by jenkins-bot:

[mediawiki/extensions/GrowthExperiments@wmf/1.46.0-wmf.4] instrumentation(ReviseTone): fix stream for edits and refine exposure

https://gerrit.wikimedia.org/r/1212128

Mentioned in SAL (#wikimedia-operations) [2025-11-27T14:17:58Z] <sgimeno@deploy2002> Started scap sync-world: Backport for [[gerrit:1212106|fix(ReviseTone): only initialize once]], [[gerrit:1212108|fix(ReviseTone): render behind EditNotice on mobile]], [[gerrit:1212128|instrumentation(ReviseTone): fix stream for edits and refine exposure (T405177 T406252)]]

Mentioned in SAL (#wikimedia-operations) [2025-11-27T14:19:53Z] <sgimeno@deploy2002> sgimeno, migr: Backport for [[gerrit:1212106|fix(ReviseTone): only initialize once]], [[gerrit:1212108|fix(ReviseTone): render behind EditNotice on mobile]], [[gerrit:1212128|instrumentation(ReviseTone): fix stream for edits and refine exposure (T405177 T406252)]] synced to the testservers (see https://wikitech.wikimedia.org/wiki/Mwdebug). Changes can now be verified there.

Change #1210619 merged by jenkins-bot:

[mediawiki/extensions/GrowthExperiments@master] instrumentation(ReviseTone): fix stream for edits and refine exposure

https://gerrit.wikimedia.org/r/1210619

Mentioned in SAL (#wikimedia-operations) [2025-11-27T14:28:43Z] <sgimeno@deploy2002> Finished scap sync-world: Backport for [[gerrit:1212106|fix(ReviseTone): only initialize once]], [[gerrit:1212108|fix(ReviseTone): render behind EditNotice on mobile]], [[gerrit:1212128|instrumentation(ReviseTone): fix stream for edits and refine exposure (T405177 T406252)]] (duration: 10m 46s)

Change #1219176 had a related patch set uploaded (by Michael Große; author: Michael Große):

[mediawiki/extensions/GrowthExperiments@master] metrics(ReviseTone): track quiz responses

https://gerrit.wikimedia.org/r/1219176

Change #1219176 merged by jenkins-bot:

[mediawiki/extensions/GrowthExperiments@master] metrics(ReviseTone): track quiz responses

https://gerrit.wikimedia.org/r/1219176