Split Overview

Welcome to Split! We’re very excited you’re here.

Let’s start by explaining what Split does. Split is the platform for controlled rollouts: a switchboard for feature flags, targeted rollout plans and integrations with developer tools. With Split's Controlled Rollout Platform, developers and product teams can safely test, troubleshoot, release, and optimize new products and features.

Split works in three parts:

We provide release functionality across custom traffic types and allow you to target specific customers or segments, or a selected percentage of your customer base. Our SDKs and comprehensive Split Editor provide you the flexibility to fully customize your Splits with unlimited treatments, satisfying both the on/off and multiple treatments use case. Most importantly, we give you the ability to immediately kill any feature if something goes wrong, redirecting traffic to your default treatment and ensuring a great customer experience. Once your Splits are up and running, the platform becomes even more valuable when leveraging our many powerful integrations!

A Quick Example

Your team is looking to release a new reporting functionality to your customers. In preparation for the release, your team has decided that they would like to roll-out to a subset of your customers an experience without reporting access, and slowly begin releasing two versions - Basic Reporting and Advanced Reporting.

Creating your Split

To begin your release, open up the Split Console and create your Split by clicking Splits, New Split, and providing the Split Name and Description. Be sure to select the traffic type for this release.

Configuring your Split

Splits live across environments and can be configured in any environment with just a few clicks. To configure, select the environment where you would like the Split added and select add to environment. This will open the Split Editor where you can define treatments and set your default treatment.

Define Treatments & Set Default Treatment

Split's are configured with 2 main treatments - on and off. These can be easily edited to meet your release needs.

Let's first start by understanding treatments. In this example you and your team have three scenarios and three distinct treatments:

  • Show Basic Reporting - treatment of basic
  • Show Advanced Reporting - treatment of advanced
  • Show No Reporting - treatment of off

To customize for this specific release from on and off, let's first add a third by clicking Add Treatment. We can then relabel all three treatments to align with those we chose earlier - basic, advanced, off.

Split requires you to choose a default treatment. The default treatment reflects the treatment you would like traffic directed to if the release criteria are not met or the feature is killed . In this scenario, we would choose off.

Updating Your Application Code

Once you have identified the three different customer experiences. Let's include the Split feature flag and getTreatment call under the feature name new_reporting.

String treatment = split.getTreatment(user_id, /* unique identifier for your user*/  "new_reporting");

if (treatment.equals("basic")) {
    // insert code here to show basic reporting
} else if (treatment.equals("advanced")) {
    // insert code here to show advanced reporting
} else if (treatment.equals("off")) {
    // insert code here to show no reporting
} else {
    // insert your control treatment code here to show no reporting
}

Split automatically generated the feature flag syntax for you and is provided in the menu dropdown next to your Edit and Kill buttons.

The Control Treatment

If the code is merged, and the feature has not been created in Split, your customers will be shown the control treatment. In the above scenario we have chosen to make our control treatment equal to off.

Releasing to customers

When read, you can begin the release by:

  • Enabling basic reporting for 10% of all users
  • Enabling advanced reporting for 10% of all users
  • Ensuring no reporting for 80% of users

Once the editor reflects your desired outcome, click save for your changes to begin taking affect.

If an issue is detected you can quickly open the Split Editor to divert traffic to the most reliable treatment or press Kill on the feature page to divert traffic to the default treatment.

The above example outlines the power and simplicity of using Split. Learn more about targeting specific portions of your customers by using segments and custom attributes.

We encourage your to read our documentation, but if there are any questions left unanswered, we’re here to help. Don’t hesitate to reach out to us at support@split.io.

Split Overview