Introducing Multivariate Feature Flags to enable seamless AB Testing and Canary Deployments
We’re really excited to release our latest major platform upgrade: multivariate flags. We’ve spent a lot of time and effort designing and building out this feature, and we hope you like it!
So what are multivariate flags? In their simplest form, they are flags where the value is selected from a predefined list. That’s it. So what’s the fuss all about? Well, there are two core use cases for multivariate flags:
- They can be used to drive percentage split A/B/n tests!
- Staged rollouts.
- Overriding a flag value by selecting from a defined list. This can reduce errors when working across environments, as well as managing these string values in your code.
OK, let’s look at creating a multivariate flag. You create them just like a regular flag. You can provide the first variate value, then just click the “Add Variation” button to include additional variations.

There are two ways to return variations of a multivariate flag, as opposed to the control:
- Using Identity and Segment overrides
- As part of an A/B Test
Specifying a Variation with User and Segment Overrides
You can leave the Environment Weights for all the Variants as 0%. In this situation, all Flag evaluations for “header_size” will return the control value.
At the same time, you can override the variate value against both Identities and Segments.
Overriding a value against an Identity:

You can use these Variates to encapsulate lists of values and then use Segments to power these lists.

Using Environment Weights to run A/B/n Tests
As it stands, within this Environment, calling getValue(“header_size”) without an Identity will return “normal”, regardless of what the Environment Weights have been set to. The Environment Weights only come into effect when you get the Flags for an Identity.
These weights work by splitting your users up into randomised groups. In the example above, roughly 50% of our user population will receive the control value normal. Roughly 25% will receive “large” and the remainder will receive “humongous”.
You can manage different Environment Weights across each Environment within your Project.
Powering complex A/B/n tests with control groups
Where multivariate flags really come into their own is being used to power both A/B/n tests and multiple A/B Tests on a single page. As mentioned above, you can easily provide weightings for variants when you are creating or editing your flags.
Let’s imagine we are running an ecommerce store, and want to test some different copy for the checkout button. So we create a flag like this:

We don’t want to run this test against all our customers; we only want to test 15% of the population. Hence we have the control value resulting in 85% of the weighting. This flag will return “Check Out” for 90% of our users, “Let’s buy this thing!” for 5%, “CHECK OUT NOW” for another 5%, and “Proceed to Check Out!” for the remaining 5%.
We can then get to coding up our new Checkout button. We can grab our flag using a Flagsmith SDK, and just get this flag value to use as the button text. We will also set up our analytics platform to integrate with Flagsmith. Doing this sends all our flag values on to the downstream analytics platform.
As a result, whenever a customer comes to check out a purchase, 85% will see no change, but 3 groups of 5% will see the new button copy. Crucially, our analytics platform will also have the relevant value shown to the user, as a user property for this customer.
Once we have this data, we can run a confidence test on the customers that saw the different button copy, whether they clicked on it, and how their behaviour changed.
Try it out!
At this point you are probably excited to start using this amazing feature, and since we think this is pretty useful, we included multivariate flags in all of our plans, even for our open source and free users. Please let us know what you think and share some of the amazing use cases with us.
-Ben

Flagsmith co-founder. Besides Flagsmith, Ben has founded several other companies, and he currently serves on the Governance Board of OpenFeature, a CNCF Sandbox Project. He's an advocate for open standards and open source and also hosts “The Craft of Open Source" podcast, where he interviews creators and maintainers from the open-source community.

How to Build a Product Experimentation Framework That Works


7 Testing Environment Best Practices for Reliable Releases


Automated Regression Testing: A Complete Guide for Engineering Teams


What Is Feature Experimentation? A Guide for Engineering Teams


How to Choose the Best Feature Flags for Your AI Company


The Best A/B Testing Tools for Websites and Product Teams in 2026


Dogfood Testing: Why We're Running Experimentation on Our Signup Page


Feature Toggle Management: A Practical Guide for Engineering Teams


The 7 Key Phases of the Software Development Lifecycle


How to Build a Software Rollback Strategy for Your Deployments


Server Side Testing: What It Is and How to Do It Right With Feature Flags


Alpha vs. Beta Testing: What’s the Difference and When Should You Use Each?


What Is Continuous Testing: The Ultimate Guide for Dev Teams


Regression Testing: Your Safety Net Before Code Reaches Users


What Is a Software Release? The Ultimate Guide


DORA Metrics Explained: The Five Measures of Software Delivery Performance


Explaining The Ring Deployment Model: Safer Releases, Ring by Ring


Feature Flags in DevOps: What They Are, Why You Need Them


What Is a Dark Launch? The Ultimate Software Development Guide


What Is Product Lifecycle Management?


What GitLab Feature Flags Can Do for Your Release Workflow


The Engineering Team's Guide to Release Strategies That Actually Work


You Can Now Integrate Flagsmith with GitLab! Here's How You Do It


The Benefits of A/B Testing, and Why Feature Flags Make It Even Better


The Developer's Playbook for Beta Testing That Actually Works


Code References: See Exactly Where Your Feature Flags Live in Your Codebase


What Is Blue-Green Deployment? The Complete Guide


Smoke Testing Explained: Catch Build Failures Before They Reach Your Users


When Canary Alerts Go Wrong: How We Fixed It and Doubled Down on OSS


Release Testing: A Complete Guide for Development Teams


What Is a Kill Switch in Software and Why Do Developers Need Them?


How to Implement CI/CD: A Practical Implementation Guide


What Is CI/CD? A Plain-English Guide to Faster, Safer Software Delivery


Rolling Deployment Vs. Blue-Green: Which Strategy Fits Your Pipeline?


What Is Feature Management and Why Does It Matter?


What Is Trunk-Based Development? A Complete Guide


Deployment Frequency: The Metric That Reveals How Fast Your Team Really Ships


OpenTelemetry, without the vendor lock-in: Introducing full observability for Open Source and Self-Hosted Flagsmith customers


How to Migrate from LaunchDarkly to OpenFeature in 6 Steps


How Prometheus, Flagsmith, and Some Good Old-Fashioned Compression Helped Us Solve Customer Pain


Feature Flag Testing: How Enterprise Teams Build Real Product Learning Loops


Trunk-Based Development vs. Gitflow: Choosing the Right Branching Strategy


Why OpenAI Paid $1.1 Billion for a Feature Flag Company


The Engineering Leader's Guide to Scaling Feature Flags


6 Tips to Reduce and Manage Technical Debt in 2026


Three teams. Eight hours. Three amazing features: Flagsmith’s 2026 Lisbon Offsite and Hackathon


Vibe Coding and Feature Flags: The New PM Playbook for Faster Product Validation


10 Best Practices to Build and Ship AI Features With Minimal Risk


Tracking Feature Flag Changes and Evaluation with Flagsmith and Sentry


We Built Our Own MCP Server for Engineers & Release Managers


7 PostHog Alternatives for Feature Flag Management


Why LaunchDarkly Went Dark During the AWS Outage—And Why Flagsmith Didn’t


Statsig Alternatives: 8 Best Feature Flag Platforms Compared


Integrating Datadog Workflows with Flagsmith for Automated Reliability


Progressive Delivery for Building LLM-Powered Features


What is the Four Eyes Principle? A Developer's Guide to Safer Flag Changes


De-Risking AI Adoption: How Feature Flags Help Enterprises Move Fast Without Breaking Trust


Monitoring Feature Flag Performance with Flagsmith, Prometheus, and Grafana


What is Release Management and How Does it Work in Regulated Industries?


Banking and Modern Observability: Dynatrace Insights


No More Hardening Phases: Testing in the Age of Continuous Deployment


How Modernisation is Changing Open Source Banking


Use Grafana to Track Feature Health in Flagsmith


6 Lessons From the World's Best Open-Source Founders


Feature Toggles and Feature Flags: Understanding the Key Differences


8 Types of Deployment Strategies (And How Feature Flags Help)


Moving to Progressive Delivery with Feature Flags


Top 7 Feature Flag Tools for Enterprises in 2026


Moving Fast, Without Breaking Things: Modern Software Delivery with Feature Flags


TypeScript Feature Flags: A Next.js Example


Embracing Modernisation in Banking Through Platform Engineering


Transitioning to Modern Authorisation Management


What Are Feature Flags? Everything Engineering Teams Need to Know


A Conversation with Komerční Banka's Chief Software Architect


GitOps for Feature Flags Using Terraform and Terrateam


Why It’s Time to Test in Production: Best Practices


How We Improved Our Docker Image Security Using Chainguard's Wolfi


6 Best Enterprise-Grade Harness Alternatives & Competitors


How to Roll out Pricing Changes With Zero Customer Complaints


How to Use Feature Flags for Trunk-Based Development


7 Best LaunchDarkly Alternatives & Competitors


How Global Banks Use Feature Flags to Stay Competitive


How To Guide: Flagsmith Grafana Integration


New in Flagsmith: 2024 Feature Roundup


Don’t Let a Flawed Release Take Your Company Down


How to Guide: Flagsmith GitHub Integration


6 Best Firebase Remote Config Alternatives & Competitors


How to Transition to Modern Feature Management in Banking


5 Feature Flag Management Pitfalls To Avoid To Keep Your Flags in Check

.png)
The Best Thing about Founding a Remote-First Company? Pickled Onion Monster Munch and The Beautiful Game

.png)
Flagsmith Jira Integration Guide: A Comprehensive How-to Guide

.png)
Guide: How to Create Observability-Driven Development with Feature Flags

.png)
Build vs. Buy for Feature Flags: My Experience as a CTO with a 20+ Engineer Team


Announcing the Flagsmith Referral Programme

.png)
How We Measure Feature Flags’ Success


Customer Story: Serenis

.png)
Announcing the Flagsmith Jira Integration


Spring Boot Feature Flags: A Step-by-Step Implementation Guide with a Working Java Spring Boot Application


Employees on Bootstrapping


Our POV: When Bootstrapping Works (and When It Doesn't)

.webp)