Skip to content

Update the Renewal Banner Appearance, Targeting, and Dismissal Behavior

Overview

The current banner that shows in-app when a license is going to expire soon is not in-line with our design system standards and could be improved to include things like the ability to dismiss it, better targeting, better visual design, etc...

Goals

  • Make the banner follow our design system
  • Provide clear and ample warning for when a license will expire
  • Provide a clear CTA for what to do
  • Allow the user to understand when their license will expire and once it has expired and what they are losing as a result

Requirements

  • Display warning banner as license expiration is approaching
  • Display subscription expired banner once the license has expired
  • Link to the customers app from the banner
  • Allow the banner to be dismissed.
  • For the final expiration banner, stop displaying it after 30 days. Allow the final banner to be permanently dismissed.
  • Explain to the user once they've been downgraded (design TBD?) - this banner would be dismissable and be permanent
  • Only display to account admins that have the ability to renew
  • Do not display to users with auto-renew on
  • Account for the difference in .com vs. self-hosted downgrade where .com is immediate and self-hosted is 14 days after the renewal date

G/W/T

GIVEN: User is a billing admin for self-managed OR an owner for .com
WHEN: It's 30 days from their renewal date AND they're logged into their account
THEN: They will see the relevant warning banner (.com) / warning banner (self-hosted) for their type of instance

WHEN: They see the banner
THEN: It will contain the date that their license will expire, a call to action to renew that links to the portal, and an overview of features they will lose if they downgrade to free

WHEN: They click the CTA to go to the portal
THEN: A new tab will open that takes them to https://customers.gitlab.com/customers/sign_in

WHEN: They click to dismiss the banner
THEN: They will not see the banner again until the next banner is set to display (Day 14/7, expired, or downgraded)

GIVEN: The user has previously dismissed the banner
WHEN: The time has come to display a new banner (Day 7, expired, downgraded)
THEN: The new banner will display

GIVEN: The user has not previously dismissed the banner
WHEN: The time has come to display a new banner (Day 7, expired, downgraded)
THEN: Remove the old banner and display the new one

WHEN: The license has expired (.com)
THEN: They will see the subscription expired banner

WHEN: The license has expired (self-hosted)
THEN: They will see the subscription expired banner
AND: When the banner is dismissed, it will not re-appear

WHEN: They click to dismiss the license expired banner
THEN: They will not see the banner again until the next session

WHEN: License expired + 14 days (self-hosted) - The subscription is downgraded
THEN: They will see the subscription downgraded banner

WHEN: Auto-renew is enabled
THEN: The message will change based on this issue: https://gitlab.com/gitlab-org/growth/product/issues/143

GIVEN: The user is viewing the final banner
WHEN: They dismiss it
THEN: No longer display the banner again (permanently dismissed)

GIVEN: The user has not dismissed the final banner
WHEN: It's 30 days past their expiration
THEN: Stop showing the banner

Solution

Gitlab.com Self-hosted
Flow image image
Designs dot_com_renewal_banners self-hosted_renewal_banners

Flows in Mural

Copy for the banners

GitLab.com

Your subscription will automatically renew in [30/14/7] days

Your GITLAB_PLAN subscription for GROUP_NAME will expire on [EXPIRY_DATE]. After that, you will not be able to use {feature 1}, {feature 2} and {feature 3} as well as many other features.

Main CTA: Renew subscription

Secondary button: That’s ok, I don’t want to renew

Your subscription expired!

You didn’t renew your GITLAB_PLAN subscription for GROUP_NAME so it was downgraded to the free plan. Don’t worry, your data is safe. Get in touch with our support team (support@gitlab.com). They’ll gladly help with your subscription renewal.

Main CTA: Review your subscriptions

Self-hosted

Your subscription will automatically renew in [30/14/7] days

Your GITLAB_PLAN subscription will expire on [EXPIRY_DATE]. After that, you will not be able to use {feature 1}, {feature 2} and {feature 3} as well as many other features.

Main CTA: Renew subscription

Secondary button: That’s ok, I don’t want to renew

Your subscription expired!

No worries, you can still use all the GITLAB_PLAN features for now. You have 14 days to renew your subscription.

Main CTA: Renew subscription

Secondary button: That’s ok, I don’t want to renew

Your subscription has been downgraded

You didn’t renew your GITLAB_PLAN subscription so it has now been downgraded to the GitLab Core Plan.

Main CTA: Upgrade your plan

Illustrations for the banners

NOTE: the banner/form for giving feedback should be added later via a separate issue

Tracking Requirements

  • track when a banner is dismissed
  • track clicks to the customer portal
Edited by Michael Karampalas