Gitlab hero border pattern left svg Gitlab hero border pattern right svg

Product Direction - Retention


The Retention Team at GitLab focuses on uncovering and addressing the leading reasons for subscription cancellation through hypothesis based testing and iteration. We will analyze churn from both a revenue and net customer perspective and will use that information to inform prioritization.

We will gain a deep understanding of the top reasons for churn by leveraging qualitative data from our customers and by partnering with Customer Success and Customer Support. In addition to the qualitative data we will analyze quantitative data to understand the key signals that indicate an account is at-risk or successful.

Our testing will likely focus on identifying at-risk customers and guiding them back to successful.

Our goal is to keep teams happy and engaged with GitLab so they can continue to realze and benefit from the value that GitLab provides.

Retention Team

Product Manager: Michael Karampalas | Engineering Manager: Phil Calder | UX Manager: Jacki Bauer | Product Designer: Tim Noah | Full Stack Engineer: Jeremy Jackson | Full Stack Engineer: Jay Swain

Retention Team Mission

Encourage customers to keep using GitLab by:

  1. Providing a simple, easy, and transparent renewal and true-up process that can be both flexible for our larger customers and automated for our smaller ones
  2. Identifying and coaching at-risk users by partnering with our Customer Success team
  3. Helping our users realize and experience the full value of the GitLab offering

Retention KPI

Gross Retention

Gross retention is defined as: Gross Retention (%) = (min(B, A) / A) * 100%

Supporting performance indicators:

Problems to solve

Do you have challenges? We’d love to hear about them, how can we help GitLab contributors stay happy and engaged with GitLab?

Our approach

Retention runs a standard growth process. We gather feedback, analyze the information, ideate, then create experiments and test. As you can imagine the amount of ideas we can come up with is enormous so we use the ICE framework (impact, confidence, effort) to ensure we are focusing on the experiments that will provide the most value.


The growth team at GitLab is new and we are iterating along the way. As of August 2019 we have just formed the Retention group and are planning to become a more mature, organized, and well oiled machine by January 2020.

Category Description
Paid account signup How our users purchase GitLab Plans and add-ons when initialy creating their GitLab account.

Current Priorities

ICE Score Focus Why/Hypothesis Status
9.0 Disable ability to turn Auto-Renew off for .com and provide a cancel option .com customers are not aware that disabling auto-renew is essentially the same thing as canceling. If we allow users to cancel (e.g. turn auto-renew off) and explain what they'll lose, we'll see a higher % of subscriptions renew. By collecting feedback during the cancellation process we will also learn of additional opportunities to increase retention. AB test a success, pushed to 100%
8.0 Charge for `seats currently in use` on when Auto Renew is enabled When a customer's subscription has the Auto Renew setting toggled to ON, the system will create a new subscription at the renewal date identical to the existing subscription. The problem is, we are losing license money where there are more seats active on than what was in the subscription. Completed
7.3 Provide better messaging and context in the renewal banners The current renewal banners have a number of problems. This work will address the ability to dismiss the banner, linking customers to the portal, handling auto-renew with different messaging, and improving the look and feel of the banner. In progress - targeted for 12.10
7.0 Pro-rated charges for .com customers adding seats In order to provide customers with a familiar and standard approach to billing when adding users mid-subscription, we want to charge pro-rated amounts that correspond with the current term so that we can avoid true-up confusion and make billing easy for our customers and GitLab team members. In design
6.5 Add and Update Renewal Notifications We currently only send one renewal notification to customers 30 days before their renewal. Some customers require more advanced notice. This change adds multiple notifications over a 90 day window with customized instructions that are specific to the customer and their subscription. In progress
6.5 What's New Notification We believe that by surfacing a notification icon/interaction within gitlab which highlights our recent product enhancements, we'll be able to drive additional awareness and engagement with new features, leading to more engaged accounts and increased retention. In design

GitLab Growth project

KPIs & Performance Indicators