-
Notifications
You must be signed in to change notification settings - Fork 68
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add ExPlat experiment: Payments task onboarding flow skips Connect page #9383
Add ExPlat experiment: Payments task onboarding flow skips Connect page #9383
Conversation
Test the buildOption 1. Jetpack Beta
Option 2. Jurassic Ninja - available for logged-in A12s🚀 Launch a JN site with this branch 🚀 ℹ️ Install this Tampermonkey script to get more options. Build info:
Note: the build is updated when a new commit is pushed to this PR. |
Size Change: +5 B (0%) Total Size: 1.33 MB
ℹ️ View Unchanged
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is looking great! Tested and works exactly as expected. Nice work, @vladolaru!
…onboarding-flow-skips-connect-page
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I see that we're using the _GET
session object for knowing if we're on treatment
or control
. Instead we should rely on the call already made for WC_Payments_Utils::is_in_core_payments_task_onboarding_flow_treatment_mode()
.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM!
abt
andabt_v
We generally don't encourage keeping track of variations and analyzing the data outside of ExPlat, since it's difficult to do correctly and we don't want a12s making decisions with bad data.
Instead, I'd recommend adding metrics in ExPlat (PCYsg-Fq6-p2) and then adding those metrics to your experiment. You get the benefit of all of our data cleaning, health checks, automated analysis, and statistical tests to determine uncertainty.
As an example of how to misinterpret the data, I see that the variation is set to control
for many reasons (assigned control, user does not give tracking consent, user is ineligible, if there was an error getting variation, etc). So when the variation is saved inabt_v
, it is saving what the user experienced not what they were assigned or if the user was eligible or not.
…onboarding-flow-skips-connect-page
Thank you for reviewing this, @aaronyan!
You are probably right. I intended those Tracks props to be a safety insurance of sorts to potentially allow us to ascertain onboarded accounts beyond Tracks (like account Risk approval rates). But, let's keep it simple. I removed the experiment-related Tracks props. |
Thank you for reviewing this, @necronet!
That use of _GET params was only for tracking purposes (which is gone now). For behavior change, we rely on |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
ExPlat Approved!
Fixes #9382
Changes proposed in this Pull Request
We introduce the changes needed to point merchants starting their WooPayments onboarding flow from the WooCommerce Payments task (labeled "Get paid with WooPayments") directly to the Jetpack connection flow and/or WooPayments onboarding wizard (MOX), thus skipping the Connect page, if they are in the
treatment
variation of the experiment.The experiment
control
group will continue going to the Connect page after clicking the "Get paid with WooPayments" task list item.Additionally, we include props about the active AB test and variation for certain onboarding Tracks events, for treatment users. Tracks events for control users will not have those props.(no longer the case)Testing instructions
Pre-testing setup
npm run build:client
US
)npm run tube:start
) so you will be able to set up your Jetpack connectionTesting the control scenario
return false;
line at the beginning of theWC_Payments_Utils::is_in_core_payments_task_onboarding_flow_treatment_mode()
method to treat users as being in the control group.from=WCADMIN_PAYMENT_TASK
:source=wcadmin-payment-task&from=WPCOM_CONNECTION
:wcadmin_wcpay_onboarding_flow_started
event with the following props (notice thesource
prop):wcadmin_wcpay_onboarding_flow_exited
event with the following props (notice thesource
prop):from=WCADMIN_PAYMENT_TASK
:wcadmin_wcpay_onboarding_flow_started
event with the following props:wcadmin_wcpay_onboarding_flow_redirected
event with the following props (notice thesource
prop):Testing the treatment scenario
return true;
line at the beginning of theWC_Payments_Utils::is_in_core_payments_task_onboarding_flow_treatment_mode()
method to treat users as being in the treatment group.source=wcadmin-payment-task&abt=cptof_2024_v1&abt_v=treatment&from=WPCOM_CONNECTION
:wcadmin_wcpay_onboarding_flow_started
event with the following props (notice thesource
prop):wcadmin_wcpay_onboarding_flow_exited
event with the following props (notice thesource
prop):source=wcadmin-payment-task&abt=cptof_2024_v1&abt_v=treatment&from=WCADMIN_PAYMENT_TASK
wcadmin_wcpay_onboarding_flow_started
event with the following props (notice thesource
prop):wcadmin_wcpay_onboarding_flow_redirected
event with the following props (notice thesource
prop):npm run changelog
to add a changelog file, choosepatch
to leave it empty if the change is not significant. You can add multiple changelog files in one PR by running this command a few times.Post merge