Page MenuHomePhabricator

Improve verification email
Open, HighPublic3 Estimated Story Points

Description

User Story

Primary user story:
As a newly registered account holder, I want to receive a clear and welcoming verification email from my home wiki so that I understand the benefits of confirming my email and feel confident in taking the next step.

Edge case user story:
As someone who received a verification email but did not register for a wiki account, I want the message to clearly explain how to disassociate my email address from the account so I can easily remove my email from the account.

Problem

The current verification (confirmation) email can be perceived as alarming, especially with language about the user's IP address. This may deter users from confirming their email or engaging further. We aim to revise this email to make it more welcoming and informative, improving the overall onboarding experience and increasing email confirmation rates.

Proposed solution

Update the verification email with clearer, more welcoming language that emphasizes the benefits of confirming one's email and includes guidance for users who did not initiate the account creation. This will help ensure recipients feel safe and supported in taking the appropriate next step.

Open questions:

  1. Should we pursue implementation of BIMI (Brand Indicators for Message Identification), and if so, what are the technical and policy requirements?
    • Decision: we will determine feasibility separately (see T311685 T167337), and move forward with the "without BIMI" designs.
  2. In what scenarios, if any, are emails sent to users who have not verified their email address?
    • Decisions: we can investigate this separately. As of now, I believe no further emails are sent if email isn't verified.
  3. What metrics will indicate success for the updated email (e.g., confirmation rates, bounce rates, spam complaints)?
    • Decisions: we will closely look at email confirmation rates pre and post release. If we can also monitor bounce rates and spam complaints that would be ideal, but if that isn't already set up then it shouldn't block release.
  4. Are there legal or privacy implications we need to consider when updating the email copy?

Proposed design (without BIMI)

email listemail content
image.png (1×750 px, 131 KB)
image.png (1×750 px, 126 KB)
image.png (1×2 px, 204 KB)
image.png (1×2 px, 207 KB)

Note: We recommend using the landscape/horizontal version, instead of the portrait/vertical one (FYI horizontal SVG logos were created as part of Vector 2022 roll-out).

Proposed design (with BIMI)

email listemail content
image.png (1×750 px, 137 KB)
image.png (1×750 px, 106 KB)
Email contents in the mock as text

Subject:

Confirm your email

Email message:

Welcome {{USERNAME}},

Your {{SITENAME}} account is almost complete. Finish by confirming your email below.

[[Confirm your email]]

If this wasn't you, you can ignore this message or remove this email address from the account.

Email button link:

Special:ConfirmEmail

Email footer link:

Special:InvalidateEmail

Design specs

https://www.figma.com/design/6US3OlzBWHfz2TVEDSbHbU/T215665-improve-verification-email?node-id=75-2089&t=NpshtotizR5JurVa-1

New sentences to translate
  1. https://translatewiki.net/w/i.php?title=Special%3ATranslate&showMessage=Mediawiki:confirmemail_html_subject
  2. https://translatewiki.net/w/i.php?title=Special%3ATranslate&showMessage=Mediawiki:confirmemail_html_logo_alttext
  3. https://translatewiki.net/w/i.php?title=Special%3ATranslate&showMessage=Mediawiki:confirmemail_html_par1
  4. https://translatewiki.net/w/i.php?title=Special%3ATranslate&showMessage=Mediawiki:confirmemail_html_par2
  5. https://translatewiki.net/w/i.php?title=Special%3ATranslate&showMessage=Mediawiki:confirmemail_html_button_label
  6. https://translatewiki.net/w/i.php?title=Special%3ATranslate&showMessage=Mediawiki:confirmemail_plaintext_button_label
  7. https://translatewiki.net/w/i.php?title=Special%3ATranslate&showMessage=Mediawiki:confirmemail_html_footer
  8. https://translatewiki.net/w/i.php?title=Special%3ATranslate&showMessage=Mediawiki:confirmemail_plaintext_footer
Acceptance Criteria:
  • This new email copy should replace the default verification email
  • Release and test on Test Wikipedia

To be handled in follow-up rollout tasks:

  • Wikis with GrowthExperiments enabled should no longer get a different verification email; all wikis should receive the same email. Allow time for translations before deployment.

Related Objects

Event Timeline

There are a very large number of changes, so older changes are hidden. Show Older Changes
KStoller-WMF lowered the priority of this task from High to Medium.Aug 18 2025, 4:35 PM
KStoller-WMF set the point value for this task to 3.Aug 25 2025, 4:30 PM

Note, we should create a follow-up task to remove old code (for the custom GrowthExperiments email).

KStoller-WMF raised the priority of this task from Medium to High.Oct 17 2025, 10:53 PM

Change #1201717 had a related patch set uploaded (by Urbanecm; author: Urbanecm):

[mediawiki/core@master] [WIP] refactor: Move confirmation emails out of User object

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

Hi all, I have a question. There are several emails related to this. They are being sent in those situations:

  • a new account is created with an email address (probably the most important thing we're talking about here),
  • an owner of an existing account decides to add a new email address (to an account that previously did not have any)
  • an owner of an existing account decides to change an email address (to an account that previously had a different address)

The last scenario results in two emails: one to the old address (to announce the email has changed to something else) and one to the new address (to request confirmation).

Should we handle those four emails differently?

Change #1203433 had a related patch set uploaded (by Urbanecm; author: Urbanecm):

[mediawiki/core@master] [WIP] feat: Introduce HTMLConfirmEmailBuilder

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

@Sgs: To follow-up on your question from the standup, I use https://www.mediawiki.org/wiki/MediaWiki-Docker/Configuration_recipes/Mail_handling for testing mail-related functions locally. Let me know if you have any questions or troubles with setting this up!

Change #1210022 had a related patch set uploaded (by Urbanecm; author: Urbanecm):

[mediawiki/extensions/GrowthExperiments@master] ConfirmEmailHooks: Do not run when UserEmailConfirmationUseHTML is true

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

I added this task to the next Tech News issue as a FYI.

Do we have a list of the messages that have been changed? IF so, can we list them in the task description, so that translators can have a look at them? Thanks!

Do we have a list of the messages that have been changed? IF so, can we list them in the task description, so that translators can have a look at them? Thanks!

We're adding a bunch of new messages, not changing any existing ones. Specifically:

  • confirmemail_html_subject
  • confirmemail_html_logo_alttext
  • confirmemail_html_par1
  • confirmemail_html_par2
  • confirmemail_html_button_label
  • confirmemail_plaintext_button_label
  • confirmemail_html_footer
  • confirmemail_plaintext_footer

Those messages do not exist yet, but will be added once the code review is finished (should be done by the end of week).

Change #1201717 merged by jenkins-bot:

[mediawiki/core@master] refactor: Move confirmation emails out of User object

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

Change #1203433 merged by jenkins-bot:

[mediawiki/core@master] feat: Introduce HTMLConfirmEmailBuilder

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

Change #1210022 merged by jenkins-bot:

[mediawiki/extensions/GrowthExperiments@master] ConfirmEmailHooks: Do not run when UserEmailConfirmationUseHTML is true

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

Next step is probably to enable this on beta-wikis, right?

Next step is probably to enable this on beta-wikis, right?

Indeed (and testwiki).

Change #1211809 had a related patch set uploaded (by Urbanecm; author: Urbanecm):

[operations/mediawiki-config@master] beta: Enable UserEmailConfirmationUseHTML on betawikis

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

Change #1211812 had a related patch set uploaded (by Urbanecm; author: Urbanecm):

[operations/mediawiki-config@master] testwiki: Enable HTML confirmation email

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

Change #1211809 merged by jenkins-bot:

[operations/mediawiki-config@master] beta: Enable UserEmailConfirmationUseHTML

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

Change #1211812 merged by jenkins-bot:

[operations/mediawiki-config@master] testwiki: Enable HTML confirmation email

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

Do we have a list of the messages that have been changed? IF so, can we list them in the task description, so that translators can have a look at them? Thanks!

We're adding a bunch of new messages, not changing any existing ones. Specifically:

  • confirmemail_html_subject
  • confirmemail_html_logo_alttext
  • confirmemail_html_par1
  • confirmemail_html_par2
  • confirmemail_html_button_label
  • confirmemail_plaintext_button_label
  • confirmemail_html_footer
  • confirmemail_plaintext_footer

Those messages do not exist yet, but will be added once the code review is finished (should be done by the end of week).

Thank you. I added the links in the task description.

Change #1213557 had a related patch set uploaded (by Urbanecm; author: Urbanecm):

[mediawiki/core@wmf/1.46.0-wmf.4] Introduce HTML confirmation email

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

Change #1213558 had a related patch set uploaded (by Urbanecm; author: Urbanecm):

[mediawiki/extensions/GrowthExperiments@wmf/1.46.0-wmf.4] ConfirmEmailHooks: Do not run when UserEmailConfirmationUseHTML is true

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

Change #1213557 merged by jenkins-bot:

[mediawiki/core@wmf/1.46.0-wmf.4] Introduce HTML confirmation email

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

Change #1213558 merged by jenkins-bot:

[mediawiki/extensions/GrowthExperiments@wmf/1.46.0-wmf.4] ConfirmEmailHooks: Do not run when UserEmailConfirmationUseHTML is true

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

Mentioned in SAL (#wikimedia-operations) [2025-12-01T20:20:54Z] <urbanecm@deploy2002> Started scap sync-world: Backport for [[gerrit:1213557|Introduce HTML confirmation email (T396155)]], [[gerrit:1213558|ConfirmEmailHooks: Do not run when UserEmailConfirmationUseHTML is true (T396155)]]

Mentioned in SAL (#wikimedia-operations) [2025-12-01T20:44:24Z] <urbanecm@deploy2002> urbanecm: Backport for [[gerrit:1213557|Introduce HTML confirmation email (T396155)]], [[gerrit:1213558|ConfirmEmailHooks: Do not run when UserEmailConfirmationUseHTML is true (T396155)]] synced to the testservers (see https://wikitech.wikimedia.org/wiki/Mwdebug). Changes can now be verified there.

Mentioned in SAL (#wikimedia-operations) [2025-12-01T20:57:04Z] <urbanecm@deploy2002> Finished scap sync-world: Backport for [[gerrit:1213557|Introduce HTML confirmation email (T396155)]], [[gerrit:1213558|ConfirmEmailHooks: Do not run when UserEmailConfirmationUseHTML is true (T396155)]] (duration: 36m 09s)

KStoller-WMF moved this task from Code Review to QA on the Growth-Team (FY2025-26 Q2 Sprint 4) board.

Moving to QA since this can be tested on test wiki now.

Tested on testwiki on Safari mail.

image.png (720×332 px, 54 KB)

  • ✅ Email was delivered immediately after account creation
  • ✅ "Confirm your email" button works and confirms email (validated by seeing the Homepage email module removed)
  • ✅ "remove this email address" link removes email address as expected (validated by seeing the Homepage email module with no email address present)

Next step: T410970: Improve verification email: release to English Wikipedia

There are some discrepancy in displaying the email format summarized below:
The following logo is not displayed in gmail desktop:

<img src="https://ci3.googleusercontent.com/meips/ADKq_NYW3pmzSU2w2w2iIkRCjL7X25d0L3RpYLPcphbyCQfqf99ovVnwB3koWdllGrq_ahyT_Zpu4mVfM8r1k5pRavAwu_nqy8gf14foyIbCg91aStKBTs0X1QPg7KVDb9Ht92021192HfTnwg=s0-d-e1-ft#https://auth.wikimedia.org/static/images/mobile/copyright/wikipedia-wordmark-en.svg" alt="Wikipedia logo" class="CToWUd" data-bit="iit" jslog="138226; u014N:xr6bB; 53:WzAsMl0.">
gmail Desktop; "Always display external images" option is ongmail Mobile
Screenshot 2025-12-02 at 10.12.00 AM.png (1×1 px, 207 KB)
(1) the logo is not displayed (2) the link is not rendered as a button
IMG_7589.jpg (1×828 px, 327 KB)
(1) the two logos are placed too tight (2) the link is not rendered as a button

Other email client (mail.com) displays the oversized logo, e.g.

Screenshot 2025-12-02 at 10.49.36 AM.png (970×2 px, 191 KB)

Thanks for the testing, @Etonkovidova! I split the remaining work into two subtasks (as it will be handled by two different engineers):

Pulling this outside of sprint for now, as it essentially became an Epic.

Is the whole topic about registering from a problematic IP?
Or is it a common requirement now for new accounts to provide a valid e-mail so to answer to a verification email from there?
I have read the whole thread but still unclear.

@Neolexx No, this doesn't relate to problematic IPs. This task relates to all NEW accounts that are created that add an email address upon account creation.

After an account is created, we send a verification email. Email verification helps confirm that a new account holder actually has access to the email address they provided. This step is important because it enables several key features, such as password recovery and receiving important notifications. It also helps ensure that messages sent from the wiki reach the correct person.

Currently, adding an email to an account is still optional. New accounts can choose not to provide an email address at all.

For those who do add one, we send a short confirmation message to verify ownership of the address. Right now, the default confirmation email is outdated and not especially clear.

image.png (429×610 px, 142 KB)

This task focuses on replacing that message with a simpler and more user-friendly version:

Screenshot 2025-12-03 at 12.03.00 PM.png (536×1 px, 96 KB)

Wikis that have GrowthExperiments enabled already receive a slightly modified version of the original email, but this update will ensure that all WMF wikis use the new, streamlined message.

"Your Wikipedia account is almost complete" seems like it is missing a word or two. One does not "complete" a Wikipedia account. How about "Creation of your Wikipedia account is almost complete"?

"Your Wikipedia account is almost complete" seems like it is missing a word or two. One does not "complete" a Wikipedia account. How about "Creation of your Wikipedia account is almost complete"?

thanks for sharing this! as part of this project, we've looked into other websites, platforms, and services that offer email verification _after_ account creation to learn more about are common patterns and framings. based on what we've observed, for the initial release we've decided to lean towards brevity over precision.

"Your Wikipedia account is almost complete" seems like it is missing a word or two. One does not "complete" a Wikipedia account. How about "Creation of your Wikipedia account is almost complete"?

thanks for sharing this! as part of this project, we've looked into other websites, platforms, and services that offer email verification _after_ account creation to learn more about are common patterns and framings. based on what we've observed, for the initial release we've decided to lean towards brevity over precision.

It's not a matter of brevity v. precision. It's a matter of something that doesn't make sense v. something that does. The current wording doesn't make sense. At en.WP's village pump, another editor suggests "Your Wikipedia account setup is almost complete". That would work too.

or "Your Wikipedia account is nearly ready to use".
This provides some "push" to do something more so that the account can be used...

The button should also say "Confirm your email address".
It makes no sense to confirm an email.