Page MenuHomePhabricator

Homepage: no "enter-question-text" event recorded
Closed, ResolvedPublicBUG REPORT

Description

Steps to Reproduce:

Open up the newcomer homepage, click to ask a question via the mentorship or help modules. Enter text in the box to ask a question.

Actual Results:

No event with action "enter-question-text" is recorded in the HelpPanel schema.

Expected Results:

A event with action "enter-question-text" is recorded when the user starts typing in the box. This is an important event for understanding our funnel, because a good number of users leave the funnel at this point in the help panel -- they type something in the box, then change their mind and don't submit their question.

This raises the question of ordering. In the help panel, the sequence of events for going through the question flow is: open, enter-question-text, review, submit-attempt. But on the homepage, it starts with "review". Maybe it would make more sense for that action to be "open", since that is when the user is opening up the dialog. Then the order for the homepage would be: open, enter-question-text, submit-attempt (since there is no additional review step).

Note: this is important to try to solve before May 2.

Event Timeline

I just tried this again, and I was only able to produce it the one time. All the other times, the "enter-question-text" event showed up. If the engineers confirm that the code is hooked up to record them, that's good enough for me.

And interested in thoughts on whether that initial event should be "open" or "review".

In betalabs enter-question-text are duly recorded from Homepage:

MariaDB [log]> select distinct(event_editor_interface)  from HelpPanel_18973214 where event_action='enter-question-text';
+------------------------+
| event_editor_interface |
+------------------------+
| homepage_mentorship    |
| homepage_help          |
+------------------------+
2 rows in set (0.00 sec)

The sequence of events for submitting the quesiton via Help panel :

HomepageModule 
{…}
​
event: Object { action: "hover-in", action_data: "archivedQuestions=0;unarchivedQuestions=0", user_id: 29926, … }
​
revision: 19000731
​
schema: "HomepageModule"
​
webHost: "test.wikipedia.org"
​
wiki: "testwiki"
​
<prototype>: Object { … }
load.php:84:768
HelpPanel 
{…}
​
event: Object { action: "review", user_id: 29926, user_editcount: 493, … }
​
revision: 18973214
​
schema: "HelpPanel"
​
webHost: "test.wikipedia.org"
​
wiki: "testwiki"
​
<prototype>: Object { … }
load.php:84:768
HomepageModule 
{…}
​
event: Object { action: "hover-out", action_data: "archivedQuestions=0;unarchivedQuestions=0", user_id: 29926, … }
​
revision: 19000731
​
schema: "HomepageModule"
​
webHost: "test.wikipedia.org"
​
wiki: "testwiki"
​
<prototype>: Object { … }
load.php:84:768
HelpPanel 
{…}
​
event: Object { action: "submit-attempt", action_data: "question_length=4;include_title=true;had_email=true;had_email_confirmed=true;email_form_has_content=true;email_form_changed=false", user_id: 29926, … }
​
revision: 18973214
​
schema: "HelpPanel"
​
webHost: "test.wikipedia.org"
​
wiki: "testwiki"
​
<prototype>: Object { … }
load.php:84:768
HelpPanel 
{…}
​
event: Object { action: "submit-success", action_data: "question_length=4;include_title=true;had_email=true;had_email_confirmed=true;email_form_has_content=true;email_form_changed=false;revision_id=391901;email_action_status=already_confirmed", user_id: 29926, … }
​
revision: 18973214
​
schema: "HelpPanel"
​
webHost: "test.wikipedia.org"
​
wiki: "testwiki"
​
<prototype>: Object { … }
load.php:84:768

​

Based on the measurement specification, if I open one of the Help or Mentor modules from the homepage, enter some text and submit it, then close the module, I'd expect the following events to be recorded in the HelpPanel schema:

  1. action="open"
  2. action="enter-question-text"
  3. action="submit-attempt"
  4. action="submit-success"
  5. action="close"

Currently, I'm unable to trigger the open and enter-question-text events in neither Firefox nor Chrome.

So, "review" in this context should be treated as "open". The reason it's called "review" is because it is basically identical to to the "review" part of the help panel (it's using the same code). If it's important to change, we could look into it. However, given that the help_panel_session_id is the same as the homepage_view_token which is the same as what's generated in the HomepageVisit, do we have enough information already to be able to identify that a help panel "review" action is part of a homepage module workflow and not a random "review" action disconnected from anything else?

Currently, I'm unable to trigger the [...] enter-question-text events in neither Firefox nor Chrome.

Hmm. I can reproduce this in Chrome 74 but not in Firefox 68.

Hmm. I can reproduce this in Chrome 74 but not in Firefox 68.

Nevermind. I can't reproduce it in Chrome.

enter-question-text is fired only when the textbox goes from empty to non-empty. If it already contains some text because an earlier question was drafted but not submitted, new changes to the text won't fire any event. This was defined as a rule for Help Panel so we know the textbox is interacted with but we don't fire too many events.

We could change it to something like: fire only the first time the text changes between open (or review) and close.

Note: enter-question-text also fires when the dialog is re-opened after a question was successfully posted. I think this is a bug.

enter-question-text is fired only when the textbox goes from empty to non-empty. If it already contains some text because an earlier question was drafted but not submitted, new changes to the text won't fire any event. This was defined as a rule for Help Panel so we know the textbox is interacted with but we don't fire too many events.

What I was seeing last night was, clearing the text, adding new text – it didn't matter, enter-question-text never fired. I can't reproduce it now though.

Note: enter-question-text also fires when the dialog is re-opened after a question was successfully posted. I think this is a bug.

Right. I'll submit a fix for this.

Change 507591 had a related patch set uploaded (by Kosta Harlan; owner: Kosta Harlan):
[mediawiki/extensions/GrowthExperiments@master] Ensure text exists before logging enter-question-text action

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

Change 507591 merged by jenkins-bot:
[mediawiki/extensions/GrowthExperiments@master] Ensure text exists before logging enter-question-text action

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

Change 507598 had a related patch set uploaded (by Sbisson; owner: Kosta Harlan):
[mediawiki/extensions/GrowthExperiments@wmf/1.34.0-wmf.3] Ensure text exists before logging enter-question-text action

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

So, "review" in this context should be treated as "open". The reason it's called "review" is because it is basically identical to to the "review" part of the help panel (it's using the same code). If it's important to change, we could look into it.

Thanks for clarifying that! I don't think it's something we need to change. Instead, I've made a note for my Homepage analysis so I don't forget this and get confused again.

However, given that the help_panel_session_id is the same as the homepage_view_token which is the same as what's generated in the HomepageVisit, do we have enough information already to be able to identify that a help panel "review" action is part of a homepage module workflow and not a random "review" action disconnected from anything else?

We have the matching IDs and the two editor_interface settings for events generated from the Homepage, I'm confident that we have what we need to be able to separate HelpPanel events coming through the Homepage from those coming from elsewhere.

Change 507598 merged by jenkins-bot:
[mediawiki/extensions/GrowthExperiments@wmf/1.34.0-wmf.3] Ensure text exists before logging enter-question-text action

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

Note: enter-question-text also fires when the dialog is re-opened after a question was successfully posted. I think this is a bug.

Right. I'll submit a fix for this.

This was deployed to production just now.

Checked in testwiki - enter-question-text event is recorded for Mentorship and Help module.
Note: if some text is entered and the dialog box is closed, and then a user returns and keep typing (to continue) - no new event will be triggered. To re-trigger the event, the text should be deleted and typing should start anew.

event.HelpPanel 
{…}
​
action: "enter-question-text"
​
action_data: ""
​
editor_interface: "homepage_mentorship"
​
help_panel_session_id: "brognav2n1ru0mrio28gpu7rco33ig7r"
​
is_mobile: false
​
page_id: 0
​
page_ns: -1
​
page_protection: ""
​
page_title: "Special:Homepage"
​
session_token: "e81cff2c9123a37355e3"
​
user_can_edit: false
​
user_editcount: 63
​
user_id: 33180
​
<prototype>: Object { … }
load.php:784:53
event.HelpPanel 
Object { action: "enter-question-text", action_data: "", user_id: 33180, user_editcount: 63, editor_interface: "homepage_help", is_mobile: false, page_id: 0, page_title: "Special:Homepage", page_ns: -1, user_can_edit: false, … }
load.php:784:53
event.HelpPanel 
{…}
​
action: "enter-question-text"
​
action_data: ""
​
editor_interface: "homepage_help"
​
help_panel_session_id: "brognav2n1ru0mrio28gpu7rco33ig7r"
​
is_mobile: false
​
page_id: 0
​
page_ns: -1
​
page_protection: ""
​
page_title: "Special:Homepage"
​
session_token: "e81cff2c9123a37355e3"
​
user_can_edit: false
​
user_editcount: 63
​
user_id: 33180
​
<prototype>: Object { … }
load.php:784:53

Screen Shot 2019-05-02 at 7.35.49 AM.png (699×1 px, 203 KB)