Page MenuHomePhabricator

Account Creation CTA experiment: handle experience after account creation
Closed, ResolvedPublic3 Estimated Story Points

Description

Background

All users in the experiment (i.e. in the control or treatment group) who create an account via the watchstar or bookmark button will have the same experience upon logging in for the first time:

  • Return to the article from which they starting the account creation process (note that this already happens for the control group and was implemented for the treatment group in T422167).
  • If they were part of the control group, they should watch the article (this already happens).
  • Be automatically opted into the ReadingLists beta feature (this already happens).
  • Show the usual ReadingLists onboarding popover (this already happens). The article will NOT automatically be added to the default reading list.
  • Skip the following onboarding experiences and popovers:
    • The newcomer welcome survey.
    • The "get started here" popover at the top, pointing to the user menu icon (see image in comment below)

User story

I choose to create an account and finish the standard account creation flow. I am taken back to the article, with my account opted into the reading list beta, being able to see the bookmark on the article, but the article will not be automatically saved to my new account.

Design requirements

Figma file

{F74837076}


Requirements

Technical requirements

We need to prevent 2 things from the GrowthExperiments codebase from happening:

  • After account creation, users are usually taken to Special:WelcomeSurvey. We want to skip this and go straight back to the article. We can probably create a campaign configuration with skipWelcomeSurvey set to true.
  • The "get started here" popover that will appear on the article page unless we prevent it. We need to set the growthexperiments-tour-homepage-discovery user preference to true.

Additionally, we should try to ensure that the readingListsAccountCreationCta URL parameter is removed.

Acceptance criteria

On mobile web, for the control and treatment groups:

  • After creating an account, user is taken back to the article from which they clicked the bookmark button.
  • User skips the Welcome Survey.
  • User sees the bookmark button. Watchstar is moved to the tools menu.
  • User sees the ReadingLists onboarding dialog.
  • User does not see any other onboarding components, e.g. from GrowthExperiments.
  • Ideally, user does not see any URL parameters related to the experiment (e.g. readingListsAccountCreationCta, but this is not a dealbreaker.

For the control group only:

  • If the user was in the control group and came from the watchstar CTA, they should automatically watch the article.

BDD

Feature: Post-account-creation experience

  Scenario: Return to article and skip onboarding (control & treatment)
    Given I am a logged-out user in the experiment who created an account via the CTA
    When I am redirected after completing account creation
    Then I am returned to the article I started from
    And the Welcome Survey is skipped
    And the bookmark button is shown and the watchstar is moved to the tools menu
    And the ReadingLists onboarding dialog is shown
    And no other onboarding components are shown

  Scenario: Control-group auto-watch
    Given I am a control-group user who created an account from the watchstar CTA
    When I return to the article
    Then the article is automatically watched

Test Steps

Test Case 1: Return + onboarding (run for treatment and control)

  1. Complete account creation via the CTA (bookmark for treatment / watchstar for control).
  2. AC1: The user is returned to the originating article (not Homepage / Special:WelcomeSurvey).
  3. AC2: The Welcome Survey is skipped.
  4. AC3: The bookmark button is shown and the watchstar is moved to the tools menu.
  5. AC4: The ReadingLists onboarding dialog is shown.
  6. AC5: No other onboarding is shown (no GrowthExperiments "Get started here!" tour, no newcomer welcome survey).
  7. AC6: No experiment URL params remain (readingListsAccountCreationCta) — non-blocking.
  8. AC7: Control only — the article is automatically watched.

QA Results - Prod

ACStatusDetails
1
2
3
4
5
6
7

Communication criteria

n/a

Rollback plan

If there's an issue with this work we'd likely need to revert the patch showing the bookmark button to the treatment group (T422157) to disable the entire experimental UI, or turn the experiment off in TestKitchen.

This task was created by Version 1.0.0 of the Reader Experience team task template using phabulous.

Event Timeline

HFan-WMF triaged this task as High priority.Apr 7 2026, 4:57 PM
HFan-WMF moved this task from Incoming to Needs refinement on the Reader Experience Team board.

Hey @HFan-WMF (and @Sneha), I'm catching up from last week and am curious why we're going to implement something different than the existing watchstar behavior, where the page is saved to the watchlist upon login/account creation. I'm concerned that users will come back to the page and be confused as to whether the page is saved or not. The existing onboarding dialog isn't quite right for this, so I get why we're not showing that. Would it be clearer to users to save the page and show them the popover pointing to their saved pages when they return to the article?

@AnneT A few reasons why this differs
1 the user may have clicked the save out of curiosity because of pulsating dot (I discussed behaviour with Hsaunwei and we are going to persist for the experiment until they tap) and so their intention might not have been to save the article but simply tap it out of curiosity. In those cases it would add something to "reading list" and count as people adding things to reading list. Whereas at this point we want to see if this feature is interesting enough for people to create account.
2 I have added some more details in figma regarding the flow. If we add the item automatically after login we would have to show where to find the saved items dialog as soon as you log in. Currently it appears when you first tap on save. It might be okay to show it after login but there are other dialog mentioned in #4
3 We also show the dialog for where watchstar moved after log in for some cases, and we would need to sequence that and "where to find saved items" dialog one after the other which can seem like too many dialogs.
4 Also the star behaviour is not going to stay as the plan is to replace it with save eventually so there won't be inconsistency going forward
5 The current watch star behaviour of auto saving after login is a bit confusing as there is no indication that something is saved besides the change in icon and it also skips the pop up asking users how to long to watch etc. We would end up in similar situation in the future if we have things like which list you want to save etc. It would be better and more contextual if it appeared right after you tapped on save.

@Sneha thanks so much for the thorough explanation! I understand now why we're going with the UX as described in the task.

AnneT changed the point value for this task from 5 to 3.Apr 28 2026, 4:34 PM

Re-estimating at a 3 as the scope has changed to to removing any editor onboarding experiences and testing the workflow

@HFan-WMF / @Sneha, can you confirm whether we want users in the treatment group to skip the welcome survey? I think y'all are familiar with this, but just in case, here are some screenshots:

You're taken to the survey page after creating an account:

Screenshot 2026-04-29 at 12.43.28 PM.png (2,078×1,752 px, 375 KB)

Once you complete it, you're taken to another screen where you have to click a button to return to the article page (my local article is called RL2_2, sorry, not a clear example 😂). If you instead click "skip survey", you're taken directly back to the article.

Screenshot 2026-04-29 at 12.43.53 PM.png (1,282×402 px, 62 KB)

Thanks for checking, @AnneT I am in favor of skipping the onboarding survey, as they've indicated to us already by coming in through the bookmark feature that they are more interested as a reader to start. There is also some discussion with the Editor Growth team about eventually retiring the survey altogether in the future and depending more on contextual usage signals to try and figure out what features to highlight for a user.

If it's possible let's also skip the "Get started here!" tour that points at the user menu.

image.png (708×1,530 px, 235 KB)

Noting @Sneha said we should also skip our own onboarding popup, but I might be confusing other people/myself

@SToyofuku-WMF I think that was the original plan, but the simplified plan that @HFan-WMF presented in mid-sprint check-in yesterday is to allow the ReadingLIsts onboarding popup to display rather than skipping it, to cut down on the different user paths we have to maintain

@Urbanecm_WMF @Sgs FYI reader experience might need your teams help with this one!

Yea as already said for this usecase we want to skip 1) welcome survey 2) get started dialog 3) our onbaording dialog. I see this last one is complicated to do so its okay to leave for experiment. I want to note that we do want to remove this onboarding dialog post beta. But still keep the dialog pointing to where to find saved items.

Hey @Urbanecm_WMF and @Sgs, I wanted to ask about how we can skip the Welcome Survey for users who created an account via the ReadingLists account creation CTA (an experimental UI that's triggered by clicking the bookmark button on mobile for anonymous users).

I thought it would make sense to create a "campaign" for this experiment, since you have existing infrastructure for campaign configuration that includes skipping the survey. However, I'm now unsure this is the right approach. I thought I could configure a campaign then put the configured URL query parameter in the link to the Special:CreateAccount page, but this doesn't work because all but a few specific query parameters are stripped from the URL when that page loads. I'm now wondering if the campaigns are specific to the CreateAccount page itself, and thus not meant to be used in the way I want to.

I'd greatly appreciate advice on how we might achieve this. Thanks in advance!

Update: @Jdlrobson-WMF pointed out that I needed the Campaigns extention to get the campaign URL param working locally, so I've got this working now. Thanks, Jon!

Recap: for this experiment, we want users to click on the bookmark button, go to Special:CreateAccount and create an account, skip the welcome survey, and return to the article page they were on when they clicked the bookmark button. To skip the welcome survey, I created a campaign with the skipWelcomeSurvey property set to true.

Unfortunately, when there is a campaign that skips the welcome survey, the GrowthExperiements extension sends the user to the Homepage. Here's the relevant code:

// In WelcomeSurveyHooks:onCentralAuthPostLoginRedirect

$campaign = $this->campaignLoader->getCampaign();
if ( $this->campaignConfig->isGrowthCampaign( $campaign )
    && $this->campaignConfig->shouldSkipWelcomeSurvey( $campaign )
) {
    $returnTo = $this->specialPageFactory->getTitleForAlias( 'Homepage' )->getPrefixedText();
    $returnToQuery = $this->addAccountJustCreatedToQuery( $returnToQuery );
    return false;
}

We need to determine a way to both skip the welcome survey and return to the article page.

Edit: I've posted a patch to GrowthExperiments to modify this behavior.

Change #1285889 had a related patch set uploaded (by Anne Tomasevich; author: Anne Tomasevich):

[mediawiki/extensions/GrowthExperiments@master] WelcomeSurvey: Respect returnTo for campaigns skipping the survey

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

Change #1285912 had a related patch set uploaded (by Anne Tomasevich; author: Anne Tomasevich):

[mediawiki/extensions/ReadingLists@master] [Account Creation CTA] Disable GrowthExperiments features

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

Change #1285913 had a related patch set uploaded (by Anne Tomasevich; author: Anne Tomasevich):

[operations/mediawiki-config@master] Add ReadingLists Account Creation CTA campaign

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

To test this work, you'll need the GrowthExperiments extension set up locally (no need to fully set up extensions like CirrusSearch, you just need to download and enable all the required extensions). Ideally, you would also have CentralAuth set up locally to test this more robustly. Then:

$wgGECampaigns = [
    'account-creation-reading-list-cta' => [
        'pattern' => '/^account-creation-reading-list-cta$/',
        'skipWelcomeSurvey' => true
    ]
];

Change #1285912 merged by jenkins-bot:

[mediawiki/extensions/ReadingLists@master] [Account Creation CTA] Disable GrowthExperiments features

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

Change #1285889 merged by jenkins-bot:

[mediawiki/extensions/GrowthExperiments@master] WelcomeSurvey: Respect returnTo for campaigns skipping the survey

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

Change #1286327 had a related patch set uploaded (by Anne Tomasevich; author: Anne Tomasevich):

[mediawiki/extensions/GrowthExperiments@wmf/1.47.0-wmf.2] WelcomeSurvey: Respect returnTo for campaigns skipping the survey

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

AnneT removed AnneT as the assignee of this task.May 12 2026, 6:16 PM

Change #1285913 merged by jenkins-bot:

[operations/mediawiki-config@master] Add ReadingLists Account Creation CTA campaign

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

Change #1286327 merged by jenkins-bot:

[mediawiki/extensions/GrowthExperiments@wmf/1.47.0-wmf.2] WelcomeSurvey: Respect returnTo for campaigns skipping the survey

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

Mentioned in SAL (#wikimedia-operations) [2026-05-14T13:29:26Z] <krinkle@deploy1003> Started scap sync-world: Backport for [[gerrit:1285913|Add ReadingLists Account Creation CTA campaign (T422169)]], [[gerrit:1286327|WelcomeSurvey: Respect returnTo for campaigns skipping the survey (T422169)]]

Mentioned in SAL (#wikimedia-operations) [2026-05-14T13:31:13Z] <krinkle@deploy1003> krinkle, annet: Backport for [[gerrit:1285913|Add ReadingLists Account Creation CTA campaign (T422169)]], [[gerrit:1286327|WelcomeSurvey: Respect returnTo for campaigns skipping the survey (T422169)]] synced to the testservers (see https://wikitech.wikimedia.org/wiki/Mwdebug). Changes can now be verified there.

Mentioned in SAL (#wikimedia-operations) [2026-05-14T13:42:00Z] <krinkle@deploy1003> Finished scap sync-world: Backport for [[gerrit:1285913|Add ReadingLists Account Creation CTA campaign (T422169)]], [[gerrit:1286327|WelcomeSurvey: Respect returnTo for campaigns skipping the survey (T422169)]] (duration: 12m 33s)