LG-11091: phone question links routing#9315
Conversation
…y verificcation phone question page buttons routing
soniaconnolly
left a comment
There was a problem hiding this comment.
I think your test plan is missing the step to manually visit /verify/phone_question, since there are no changes to agreement_controller to go to the phone question page instead of directly to hybrid_handoff. I'm assuming you're going to add the A/B test machinery around that redirect.
Once the agreement redirect is in place, you'll also have to address the redirects on other pages that redirect back to hybrid_handoff, and make sure they redirect back to the phone_question page instead if you want the user to have another chance to answer that question differently.
The links on phone_question do work as described. However, I think they should be buttons rather than links, because you're going to want analytics about which button a user clicked. You also need a "visited" analytics message on the show action.
Once they're links, you can set idv_session.flow_path = 'standard' if the user clicks that they don't have a phone, continue to hybrid_handoff, and it will do the rest of the redirecting. You don't need to edit document_capture controller at all to make that work.
What's the overall goal of the experiment here? It seems like a big change to add an extra page to ask the user if they have a phone, so that we can skip the page that gives the user a choice about what to do if they don't have a phone.
app/services/analytics_events.rb
Outdated
| track_event('IdV: doc auth phone question submitted', **extra) | ||
| end | ||
|
|
||
| # Desktop user has reached the above "phone question" view | ||
| def idv_doc_auth_phone_question_visited(**extra) | ||
| track_event('IdV: doc auth phone question visited', **extra) |
There was a problem hiding this comment.
These event names will start failing linter since #9318 was merged. I'd suggest rebasing or merging the latest main and incorporating the new naming convention.
Co-authored-by: Sonia Connolly <sonia.connolly@gsa.gov>
soniaconnolly
left a comment
There was a problem hiding this comment.
Confirmed works as expected. Phone Question shows if :show_phone_question is set to 100, and doesn't show if it's set to 0. Clicking "Yes I have a phone" goes to HybridHandoff, and clicking "I don't have a phone" goes to DocumentCapture. Cancel works as expected and returns to Phone Question when Return is clicked. Confirmed that phone_question_ab_test_bucket is added to analytics events. RedoDocumentCapture link on VerifyInfo redirects back to PhoneQuestion as expected.
Noted anomaly with clicking 'Back' on LinkSent going to PhoneQuestion instead of HybridHandoff.
I continue to be concerned about the user experience of this Phone Question page. If a user doesn't have a phone, they have to click a link instead of a button, so they're forced into a clearly less-preferred option. They may not be computer savvy and be less likely to notice the link. They miss seeing the HybridHandoff page which prepares them to upload files from their computer.
The Phone Question page does not ease the experience of users with phones either. They have to read an extra screen and click an extra button.
I will approve this PR because it fulfills the ticket, but I strongly recommend re-evaluating the goals of this A/B test, and running it very briefly if it is run at all.
|
|
||
| def maybe_redirect_for_phone_question_ab_test | ||
| return if phone_question_ab_test_bucket != :show_phone_question | ||
| return if request.referer == idv_phone_question_url |
There was a problem hiding this comment.
When I clicked the 'Back' link on LinkSent, I got sent to PhoneQuestion. Debatable whether that's useful to the user, but I expected HybridHandoff. If you want it to go to HybridHandoff, add
return if request.referer == idv_link_sent_url
Co-authored-by: Sonia Connolly <sonia.connolly@gsa.gov>
…page has been visited
…analytics events spec
🎫 Ticket
LG-11091
🛠 Summary of changes
Route a user from hybrid handoff to phone question page based on AB test bucket.
Route a user who confirms having phone to hybrid handoff page.
Route a user who confirms not having phone to standard document capture page.
Log phone_question_ab_test bucket in analytics events.
📜 Testing Plan
Note: you will have configure idv_phone_question_a_b_testing locally (ie: '{"bypass_phone_question":0, "show_phone_question":100}') to reach the phone step page during local testing.
Scenario 1: Yes, I have a phone
Scenario 2: I don't hav a phone