Create legacy license renewal mailer
Background
The creation of this mailer is part of a broader effort to streamline our provision emails. Full details on this effort can be found in https://gitlab.com/gitlab-org/fulfillment-meta/-/issues/1023.
Problem
Today, legacy customers receive the same new purchase email no matter if they are purchasing a new subscription, renewing an existing, or simply adding a few seats. This is not a great customer experience, especially given how "new purchase" oriented the current email is.
Proposal
Similar to what was done in https://gitlab.com/gitlab-org/customers-gitlab-com/-/issues/4542 for Cloud Licensing SM customers, setup a new mailer for subscription updates of SM legacy license customers that:
- Provides a confirmation to customers that their renewal was successful.
- Since this is legacy, also includes the legacy license key needed to apply their renewal to their instance.
- Includes an activation code as an alternative option if the customer wants to use cloud licensing.
Be sure to add the new mailer to the mailers doc.
Proposed Template
Link to current new legacy mailer for reference: https://gitlab.com/gitlab-org/customers-gitlab-com/-/blob/main/app/views/legacy_license_mailer/license_email.text.erb
Subject Line: Your GitLab Renewal License
Hi Courtney👋
Thanks for your GitLab renewal! We appreciate your loyalty as a GitLab customer!
You can find the details of your license below:
Name <%= @license.name %>
Company <%= @license.company %>
Email <%= @license.email %>
Starts <%= @license.starts_at %>
Expires <%= license_expires_at(@license) %>
User limit <%= license_users_count(@license) %>
We have attached your license to this email. Please save it and upload it to
your GitLab instance. You can also download your license from the GitLab Customers Portal at
https://customers.gitlab.com/.
<% unless @skip_sensitive_info %>
License key:
<%= @license.license_file %>
<% end %>
Here are a few pieces of documentation that may be helpful:
- How to apply your license key https://docs.gitlab.com/ee/user/admin_area/license_file.html
- Update your existing installation https://about.gitlab.com/update/
- Review the documentation https://docs.gitlab.com/ee/
### Automatically sync your subscription data
If you activate your instance with a license key, you can't connect to GitLab servers, so we won't have access to your usage data. You will also have to request new license keys to update your subscription. To automate this process, you can use an activation code to automatically sync subscription data with your instance.
Learn how to activate your instance with an activation code (<%= @activation_code unless @skip_sensitive_info %>) at https://docs.gitlab.com/ee/user/admin_area/license.html#activate-gitlab-ee-with-an-activation-code. To use an activation code, you must have GitLab 14.1 and later, and your instance must be connected to the internet.
### Subscription Agreement
Unless otherwise agreed to in writing with GitLab,
by activating you agree that your use of GitLab Software is subject to the Subscription Agreement,
updated from time to time, at https://about.gitlab.com/terms/#subscription
If you have any issues applying your renewal license, please contact our support team by visiting https://about.gitlab.com/support/.
Thank you again for your purchase!
The GitLab Team
Note: keep the existing link to GitLab Support (https://about.gitlab.com/support/#contact-support) in the last line.
Technical Requirements
- Send these mailers for all subscription updates when:
- Purchase is of a Self Managed subscription
-
TurnOnCloudLicensing
=No
- Amendment Type =
Renewal
- Update logic as needed for existing mailers to ensure we are holistically sending the correct mailers based on subscription type (Renewal, Amendment/Update, New Subscription)
- Ensure the newer version of the template design is used, consistent with the current New Subscription SaaS purchase email
Result
- Customer receives an email confirmation when a legacy license renewal is completed that clearly outlines a purchase occurred and provides them with the key they need to activate their instance.