-
Notifications
You must be signed in to change notification settings - Fork 2k
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
Implementing A/B test on the domains step. #66246
Conversation
Here is how your PR affects size of JS and CSS bundles shipped to the user's browser: App Entrypoints (~33 bytes added 📈 [gzipped])
Common code that is always downloaded and parsed every time the app is loaded, no matter which route is used. Sections (~382 bytes added 📈 [gzipped])
Sections contain code specific for a given set of routes. Is downloaded and parsed only when a particular route is navigated to. Async-loaded Components (~397 bytes added 📈 [gzipped])
React components that are loaded lazily, when a certain part of UI is displayed for the first time. Legend What is parsed and gzip size?Parsed Size: Uncompressed size of the JS and CSS files. This much code needs to be parsed and stored in memory. Generated by performance advisor bot at iscalypsofastyet.com. |
Looking at this more closely, I think that in order to make sense, it will actually need to change more than just the CTA? That's because the current text is all about telling people to search for a domain on the current page... but then "View plans" does the exact opposite and it isn't clear that it will. So instead of this: Would it be better to go back and test the original text (that existed before #62243)?: Or alternatively, some sensible combination of them? (Although it may be best to start by just testing exactly what was there before.) |
Good catch @DavidRothstein, I updated the PR to change the body copy as well. |
I'm not too familiar with the A/B test code myself, but overall this looks good to me now - thanks! |
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 Pull Request is now available for translation here: https://translate.wordpress.com/deliverables/7464967 Thank you @donlair for including a screenshot in the description! This is really helpful for our translators. |
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.
Hi, @donlair 👋🏼
I was reviewing this PR when it got merged but I'll leave a comment since there are two aspects worth discussing:
Locale targeting
Regarding what @gmovr shared, it's a possibility that it may affect negatively Treatment users. Even if the experiment, as set in Abacus, is going to run only for EN locale, a user that is assigned to Treatment may be accessing this screen also with another locale by switching to their native language or by using a different browser.
I don't think this is hugely worrying (cc: @jessie-ross for a second opinion) but I'll mention this also in the next point.
Handling Experiment data loading
When first landing on this screen, before the experiment data is retrieved, all users will see for a second or more (depending on the internet connection) the subtitles and CTA of the Control experience. So it will cause a slight decrease in UX for users assigned to Treatment as they will experience some flickering. I've suggested a way to mitigate this in #66316 where we also use the locale to limit the placeholder usage only for users targeted by this experiment (EN locale).
For a quicker loading, I remember using client/layout/index.jsx
to fire the loadExperimentAssignment
call in order to preload the experiment data for the time it will be evaluated. Usually, for a new user, that means the experiment call is done on signup/login step of the flow.
Yeah this is a very good point and one we haven't looked into much. It's hard to say as we don't have stats on "segment crossovers" like this. I feel like it is safe to assume in the meantime that such instances are sufficiently small... |
Translation for this Pull Request has now been finished. |
Proposed Changes
Here's a screenshot of the page (with a green arrow pointing to the text that will be tested):
Control body copy:
Variant body copy:
Control CTA:
Choose my domain later
Variant CTA:
View plans
The test is implemented using Explat with the test name
domain_step_cta_copy_test
Testing Instructions
domain_step_cta_copy_test
.Choose my domain later
.View plans
.