Email signup journeys and email subscriptions across GOV.UK
There are a number of different ways that a user can subscribe to email notifications on GOV.UK. This documentation seeks to explain the different signup journeys, and types of subscription that are created.
Email sign up entry points
Single page notification button component
The single page notification button component was rolled out in early 2022, and is present on many pages types including Call for evidence, Consultations, Detailed guides, Document collections and Publications. This signup flow subscribes users to a content-id based email subscription.
The button was designed to enforce the GOV.UK account, in other words the user would be forced to sign-in or create an account to be able to complete their subscription journey. This tight coupling with the account was by design, to help increase the number of users signing up to the new GOV.UK account.
Since its initial roll out, the component has been extended so that it can now be configured to skip the account sign up flow, and allow users to sign up via a magic link instead. At the time of writing, this customisation has only been implemented on Document collection pages. You can read about the reasons for this feature here: Document Collection emails - a special case
How does the skip account feature work?
- By default, the button will post to
/email/subscriptions/single-page/new?topic_id=slug
which is served by email-alert-frontend’s govuk_account_signups controller. This route enforces the GOV.UK account. - If the skip_account parameter is present, the button will post to
/email-signup/?link=/slug
which is served by email-alert-frontend’s content_item_signups controller. This route signs the user up by magic link.
Sign up link component
The Sign up link component predates the single page notification button, and is present on taxonomy topic pages only (see here for an example). When subscribing to a topic that has subtopics, a checkbox form allows users to select which subtopics they would like to receive alerts about.
This component posts to /email-signup/?link=/slug
which is served by email-alert-frontend’s content_item_signups controller. This controller makes a request to Email Alert API for a links-based email subscription.
The signup journey does not enforce the GOV.UK account, the user must enter an email address and is sent a magic link to confirm their subscription.
Subscription links component
The Subscription links component is used on many pages, including:
- the announcements section of some people pages (there’s an example here)
- organisation pages
- service manual pages
- specialist finders
- topical event pages
- travel advice pages
- world location news pages
- world wide taxon pages
The signup journey does not enforce the GOV.UK account, the user must enter an email address and is sent a magic link to confirm their subscription.
On Travel advice pages, the component posts to /email/subscriptions/new?frequency=whatever&topic_id=slug
which is served by email-alert-frontend’s subscriptions controller. This signup flow is the only place that the legacy email_alert_signup schema is currently used. The subscription that is created is tag-based.
The button is configured similarly on the other page types mentioned aboves, including on specialist finders. There is relevant documentation specifically about how specialist finders emails work here
Email sign up from content published in a foreign language
Whilst there is translated content on GOV.UK, the email notification system only supports subscriptions to English language pages. Unfortunately there are three different approaches we take to prevent users from signing up to foreign language emails on GOV.UK. This lack of constistency is a result of there being multiple email sign up entry points. It is also a result of there being two different ways that translated content is published to GOV.UK: Whitehall content has a link to the English equivalent, but translated mainstream content does not.
Code links to illustrate the different approaches can be found here, here and here.