Creating a Feature Flag
Learn how to create and configure feature flags in the Toggly dashboard.
Quick Create
The fastest way to create a feature flag:
- Navigate to Features in the dashboard
- Click Create Feature Flag
- Enter a feature key (e.g.,
new-checkout-flow) - Click Create
The feature flag will be created with default settings and disabled state.
Detailed Creation
For more control, use the detailed creation form:
Step 1: Basic Information
-
Feature Key: Unique identifier (required)
- Use kebab-case:
new-checkout-flow - Must be unique within the environment
- Cannot be changed after creation
- Use kebab-case:
-
Name: Human-readable name (optional)
- Display name in the dashboard
- Can be changed later
-
Description: Detailed description (recommended)
- Explain what the feature does
- Include context and use cases
- Helpful for team members
Step 2: Feature Type
Choose the feature flag type:
- Boolean: Simple on/off switch
- Multi-Variant: Returns different values (variants)
For multi-variant flags, define variants:
- Control: Default variant (e.g.,
control) - Variant A: First treatment (e.g.,
red-button) - Variant B: Second treatment (e.g.,
blue-button) - Variant C: Additional variants as needed
Step 3: Initial State
Set the initial state:
- Enabled: Feature is active (use with caution)
- Disabled: Feature is inactive (recommended)
Always start with the feature disabled. Enable it after configuring targeting rules and testing.
Step 4: Targeting Rules
Configure who sees the feature:
- All Users: Enable for everyone
- Percentage: Enable for X% of users
- Segments: Enable for specific user segments
- Custom Rules: Complex targeting conditions
Step 5: Environment
Select the environment:
- Development: For local development
- Staging: For pre-production testing
- Production: For live users
Feature Key Best Practices
Naming Conventions
Use descriptive, consistent naming:
// Good examples
'new-checkout-flow'
'enhanced-search-results'
'premium-dashboard'
'beta-mobile-app'
// Bad examples
'feature-1'
'new-thing'
'flag-abc'
Organization
Use prefixes or tags to organize:
frontend-*: Frontend featuresbackend-*: Backend featuresexperiment-*: Experimental featurescritical-*: Critical features
Multi-Variant Flags
Multi-variant flags return different values instead of just true/false:
Creating Variants
- Select Multi-Variant as the feature type
- Click Add Variant
- Enter variant key (e.g.,
red,blue,green) - Add variant description
- Repeat for each variant
Variant Distribution
Configure how variants are distributed:
- Equal Distribution: Each variant gets equal traffic
- Weighted Distribution: Assign custom weights
- Targeted Distribution: Assign variants to segments
Example:
// Variant distribution
control: 50% // 50% of users see control
red: 25% // 25% see red variant
blue: 25% // 25% see blue variant
Targeting Configuration
All Users
Enable the feature for everyone:
Targeting: All Users
No additional configuration needed
Percentage Rollout
Gradually roll out to a percentage:
Targeting: Percentage Rollout
Percentage: 25% # Enable for 25% of users
User Segments
Target specific segments:
Targeting: User Segments
Segments:
- premium-users
- beta-testers
Custom Rules
Create complex targeting:
Targeting: Custom Rules
Rule: (plan = 'premium' AND country = 'US') OR (plan = 'enterprise')
After Creation
Once created, you can:
- Test the Flag: Use the SDK to evaluate the flag
- Configure Targeting: Set up targeting rules
- Monitor Metrics: Watch usage in the dashboard
- Enable When Ready: Enable after testing
Example: Complete Feature Flag
Here's an example of a fully configured feature flag:
Feature Key: new-checkout-flow
Name: New Checkout Flow
Description: Redesigned checkout experience with improved UX
Type: Boolean
State: Disabled
Environment: Production
Targeting:
Type: Percentage Rollout
Percentage: 10%
Segment: premium-users (optional)
Tags:
- frontend
- checkout
- experiment
Next Steps
- Learn about Targeting Rules
- Explore Rollouts and Kill Switches
- Read about Monitoring Metrics