---
description: Step-by-step guide on setting up Split.io as a destination in RudderStack.
---

# Split.io

[Split.io](https://www.split.io/) is a feature experimentation and continuous delivery tool. It enables you to maximize the impact of your product features by combining feature flags and data. With Split.io, you can test new features through rigorous A/B testing and deploy them seamlessly while ensuring data privacy and maximum performance.

RudderStack supports Split.io as a destination to which you can seamlessly send your customer data.

Find the open-source transformer code for this destination in the [GitHub repository](https://github.com/rudderlabs/rudder-transformer/tree/master/v0/destinations/splitio).

## Getting started

Before configuring Split.io as a destination in RudderStack, verify if the source platform is supported by Split.io by referring to the table below:

| **Connection Mode** | **Web**       | **Mobile**    | **Server**    |
| ------------------- | ------------- | ------------- | ------------- |
| **Device mode**     | -             | -             | -             |
| **Cloud mode**      | **Supported** | **Supported** | **Supported** |

To know more about the difference between cloud mode and device mode in RudderStack, read the [RudderStack Connection Modes](https://rudderstack.com/docs/rudderstack-cloud/rudderstack-connection-modes/) guide.

Once you have confirmed that the source platform supports sending events to Split.io, follow these steps:

1. From your [RudderStack dashboard](https://app.rudderstack.com/), add a source. Then, from the list of destinations, select **Split.io**.
2. Assign a name to the destination and click on **Next**.

### Connection settings

To successfully configure Split.io as a destination, you will need to configure the following settings:

![](https://876606571-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-Lq5Ea6fHVg3dSxMCgyQ%2Fuploads%2Fgit-blob-ffec8f29b4a0872b3cb341d187049240e73cede9%2Fsplitio-connection-settings.png?alt=media)

* **API Key**: Enter the API Key for your Split.io workspace.
* **Environment**: Enter the corresponding environment available in the dashboard.
* **Traffic Type**: Enter the correct traffic type listed in your account.

RudderStack sends each call as an event to Split.io.

## Identify

The [`identify`](https://rudderstack.com/docs/rudderstack-api/api-specification/rudderstack-spec/) call lets you uniquely identify a user and record any associated traits about them like their name, email, etc.

A sample `identify` call is shown below:

```javascript
rudderanalytics.identify("1hKOmRA4el9Zt1WSfVJIVo4GRlm", {
  name: "Alex Keener",
  email: "alex@example.com",
  plan: "GOLD",
  age: 40,
})
```

In the cloud mode, RudderStack sends the above `identify` call as an `identify` event to Split.io, along with any additional properties.

## Track

A [`track`](https://rudderstack.com/docs/rudderstack-api/api-specification/rudderstack-spec/) call lets you capture user events along with the properties associated with them.

A sample `track` call is shown below:

```javascript
rudderanalytics.track("Clicked button", {
  color: "red",
  buttonText: "Get started",
})
```

The `eventTypeId` argument (**Clicked button** in the above example) in `track` call should meet the following requirements:

* It should start with a letter or number.
* It should contain 80 characters or less.
* It should contain only letters, numbers, hyphen, underscore, or period.

In the cloud mode, RudderStack sends the above `track` call as `Clicked_button` to Split.io along with any additional properties.

## Page

A [`page`](https://rudderstack.com/docs/rudderstack-api/api-specification/rudderstack-spec/) call lets you record your website's page views with any additional relevant information about the viewed page.

A sample `page` call is shown below:

```javascript
rudderanalytics.page("homepage", "home", {
  url: "https://abc.com",
  title: "Test",
  referrer: "https://google.com",
})
```

In the cloud mode, RudderStack sends the above `page` call as a `Viewed_home_page` event to Split.io, along with any additional properties.

## Screen

The [`screen`](https://www.rudderstack.com/docs/rudderstack-api/api-specification/rudderstack-spec/screen/) call lets you record whenever the user views their mobile screen, with any additional relevant information about the screen.

A sample `screen` call is shown below:

```javascript
[[RSClient sharedInstance] screen:@"Main" properties:@{@"prop_key" : @"prop_value"}];
```

The above snippet captures information related to the viewed screen such as its name and category.

RudderStack sends the above `screen` call as a `Viewed_Main_screen` event, along with any additional properties.

## Group

The [`group`](https://www.rudderstack.com/docs/rudderstack-api/api-specification/rudderstack-spec/group/) call lets you link an identified user with a group such as a company, organization, or an account, and record any traits associated with that group, for example, company name, number of employees, etc.

A sample `group` call is shown below:

```javascript
rudderanalytics.group("groupId", traits, options, callback)
```

RudderStack sends the above `group` call as a `group` event to Split.io along with any additional properties passed to it.

## FAQ

### Where can I find my Split.io API key and environment?

To obtain your Split.io API key, log into your [Split.io dashboard](https://app.split.io/) and go to **Admin Settings** > **API Keys**, as shown:

![Split.io API key](https://876606571-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-Lq5Ea6fHVg3dSxMCgyQ%2Fuploads%2Fgit-blob-8024770fa9d52818cef855c129b6d42f58598528%2Fsplitio-api-key.png?alt=media)

You can also find your Split.io environment by going **Admin Settings** > **All environments**, as shown:

![Split.io environments](https://876606571-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-Lq5Ea6fHVg3dSxMCgyQ%2Fuploads%2Fgit-blob-38695efedbd91d6c23a2a9bb058a478aeed73e16%2Fsplitio-environment.png?alt=media)

## Contact us

For queries on any of the sections covered in this guide, you can [contact us](mailto:%20docs@rudderstack.com) or start a conversation in our [Slack](https://rudderstack.com/join-rudderstack-slack-community) community.
