Split

Split

Feature flagging and experimentation platform that separates feature releases from deployments. Split's SDK evaluates targeting rules in real time to determine which users see which features. Also tracks experiment metrics to measure impact of feature changes.

Overview

Split is a feature flagging, experimentation, and feature management platform used by engineering and product teams to control feature rollouts independently from code deployments. The platform enables gradual rollouts (releasing a feature to 1% of users, then 10%, then 100%), A/B and multivariate experiments (measuring whether a new feature improves conversion, engagement, or other metrics), and kill switches (instantly disabling a feature in production without a deployment).

Split is used by teams that practice continuous delivery and want to decouple code deployment from feature activation. It is competing in the same space as LaunchDarkly, Optimizely Full Stack, and Flagsmith.

What This Script Does

The Split Browser SDK evaluates feature flags and tracks experiment metrics in the visitor's browser:

Feature flag evaluation: On initialization, the Split SDK fetches the current flag configuration for the visitor from Split's edge API (sdk.split.io). The SDK evaluates targeting rules — which user segments, percentage rollouts, or individual user overrides apply — and returns the treatment assignment (e.g., "on", "off", "variant_a", "variant_b") for each flag. This evaluation determines which features the visitor sees.

User identity and targeting: Split evaluates flags against a "key" — typically a user ID for authenticated users or an anonymous identifier for logged-out visitors. For anonymous visitors, the SDK may generate a UUID stored in localStorage or a cookie to maintain consistent treatment assignment across sessions. This prevents the same visitor from seeing different feature variants on different page loads, which would create a poor user experience.

Impression tracking: Each time a feature flag is evaluated, Split records an "impression" — the fact that user X was shown treatment Y at timestamp Z. Impressions are batched and sent to Split's data plane for experiment analysis. These impressions are the raw data from which Split calculates statistical significance for experiments.

Event tracking: The SDK supports custom event tracking (client.track('eventType')) that records conversion events attributed to specific feature flag treatments. These events feed into Split's experiment metrics dashboards, enabling teams to see whether a feature change increased conversions, reduced errors, or improved engagement.

Real-time streaming: Split can operate in streaming mode, opening a persistent connection to Split's streaming infrastructure to receive flag configuration updates in real time without polling.

Consent & Compliance

Split has a mixed consent profile that depends on implementation:

  • Feature flag evaluation for functional consistency (no consent required): The core flag evaluation function — ensuring a user consistently sees the same version of a feature across sessions — can be considered strictly necessary for delivering a coherent user experience. A session or local storage identifier used solely to maintain consistent treatment assignment is a functional mechanism, not a tracking cookie in the marketing sense.
  • Experiment tracking and analytics (consent required): The impression tracking and custom event tracking components — which record user behavior attributed to feature treatments for analytics and optimization purposes — constitute analytics data collection. Under GDPR, this requires a lawful basis; under ePrivacy, cookies or storage used for analytics require consent. These components should be gated behind analytics consent.
  • GDPR: Where Split stores an anonymous identifier in a cookie or localStorage for cross-session consistency, the strictly necessary exemption may apply for the flag evaluation function. For experiment analytics, legitimate interests requires a balancing test; explicit consent is safer.
  • CCPA: Experiment performance data (behavioral events tied to user identifiers) constitutes personal information. This is processed by Split as a service provider.

Should You Block This Without Consent?

Conditional. Pure feature flag evaluation for consistent UI behavior can typically run without consent. Experiment tracking, analytics event collection, and behavioral measurement should be blocked until analytics consent is obtained. If Split's functional and analytics capabilities cannot be separated in your configuration, treat it as analytics and require consent.

Visit website

Consent Categories

Also Known As

Split.iofeature flagsfeature flaggingA/B testing platformexperimentation platformfeature togglessplit testing

Industries

Programming and Developer SoftwareComputers Electronics and Technology

Tracked Domains (2)

cdn.split.ioFunctional
sdk.split.ioFunctional

Frequently Asked Questions

Does Split require consent for feature flag evaluation?

Conditional. Pure feature flag evaluation that ensures consistent UI behavior can run without consent. However, Split's impression tracking and custom event analytics — recording which users saw which variants for experiment measurement — require analytics consent under GDPR and ePrivacy.

How does the Split SDK assign visitors to feature variants?

The SDK fetches the current flag configuration from Split's edge API and evaluates targeting rules — user segments, percentage rollouts, individual overrides — to assign a treatment. For anonymous visitors, a UUID stored in localStorage maintains consistent variant assignment across sessions.

How does ConsentStack handle Split?

ConsentStack applies a conditional approach: feature flag evaluation for UI consistency is permitted as functional, while impression tracking and experiment analytics are blocked until analytics consent is granted. ConsentStack enforces this split based on your configured consent categories.

Related Vendors

Branch Metrics
Branch Metrics
Mobile attribution and deep linking platform used by apps with a web presence. The Branch.io web SDK tracks campaign clicks and attributes app installs back to the originating web touchpoint. Also enables deferred deep linking so that users who install an app after clicking a web link are routed to the correct in-app content.
Notion
Notion
Notion public pages embedded on websites load via iframe or direct embed and execute Notion page rendering scripts. Scripts track page view events and load dynamic content from Notion servers; visitors accessing embedded Notion content are subject to Notion tracking practices.
Coursera
Coursera
Coursera scripts embed course preview widgets and enrollment call-to-action flows on partner and affiliate websites. Scripts load course metadata, track click-through events to Coursera enrollment pages, and may set affiliate attribution cookies to credit referring partners.
Hubilo
Hubilo
Hubilo embeds event registration flows, session schedules, and live stream players on event and conference websites. Scripts process attendee registration data, manage session access tokens, and transmit engagement metrics to Hubilo servers for virtual event analytics and reporting.
Twitch
Twitch
Twitch embedded stream players and widgets load on third-party websites to display live or recorded streams. Scripts set cookies and send events to Twitch servers to track viewer engagement, serve advertising against embedded streams, and attribute ad impressions to stream inventory.
Sentry
Sentry
Sentry.io is the industry-standard JavaScript error monitoring platform. The Sentry SDK captures unhandled exceptions, performance spans, and breadcrumb trails and uploads error reports to Sentry's cloud platform for engineering teams to investigate and resolve bugs.

Manage consent for Split

ConsentStack automatically detects and manages Split trackers so your site stays compliant with global privacy regulations.

Split - Feature Flag & A/B Testing Consent Profile | ConsentStack